imtranslate command matlab shows me a black image

조회 수: 5 (최근 30일)
alessiadele
alessiadele 2019년 1월 14일
답변: PARVATHY M 2021년 8월 3일
Hi everyone!
I'm trying to translate an image read through imshow function, but the output is a black image.
Here's the code:
fingers=imread('thumb-index.png');
[nrows,ncols] = size(fingers);
RI = imref2d(size(fingers));
h = imshow(fingers,RI);
grid on
x_center=ncols/2;
y_center=nrows/2;
x_orig=ncols-x_center;
y_orig=nrows-y_center;
[fingers_translate,RF]=imtranslate(fingers,RI,[x_orig,y_orig]);
figure
h=imshow(fingers_translate,RI);
grid on
My target is translating the origin of coordinate system in the center of the image.
Thank you!
  댓글 수: 1
PARVATHY M
PARVATHY M 2021년 8월 3일
Hello! I'm trying to translate an image that is read using imread.
The code is; f=imread('C:\users\hp\Desktop\rbcimg.jpg'); I=rgb2gray(f); J=imtranslate(f,[20,25]); plot,imshow(J)
But an error is appearing showing that, undefined function or method 'imtranslate' for input arguments of type 'uint8' So how to rectify this? My matlab version is R2010a 7.10.0 Plase help!!

댓글을 달려면 로그인하십시오.

채택된 답변

Omer Yasin Birey
Omer Yasin Birey 2019년 1월 14일
편집: Omer Yasin Birey 2019년 1월 14일
It would be much better if you shared your image. Anyway, probably imtranslate doesn't return black image, the blackness comes from your original image(I mean some parts are black) and you just take the indexes where the blackness occur when trying to bound the imtranslate. You said you want to place the origin at the center so if you don't want to save the image data you may use this.
fingers=imread('thumb-index.png');
[nrows,ncols] = size(fingers);
RI = imref2d(size(fingers));
h = imshow(fingers,RI);
grid on
minFind = (min(ncols,nrows));
[fingers_translate,RF]=imtranslate(fingers,RI,[300,400]);
figure
imagesc([-minFind,minFind],[-minFind,minFind],fingers)
grid on
  댓글 수: 1
alessiadele
alessiadele 2019년 1월 14일
Yes, I tried to modify the code as you said, and now it works!
Thank you :D

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

PARVATHY M
PARVATHY M 2021년 8월 3일
Hello! I'm trying to translate an image that is read using imread. The code is; f=imread('C:\users\hp\Desktop\rbcimg.jpg'); I=rgb2gray(f); J=imtranslate(f,[20,25]); plot,imshow(J) But an error is appearing showing that, undefined function or method 'imtranslate' for input arguments of type 'uint8' So how to rectify this? My matlab version is R2010a 7.10.0 Plase help!!

카테고리

Help CenterFile Exchange에서 Language Support에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by