MATLAB: Imtranslate command matlab shows me a black image

imageimtranslateMATLAB

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!

Best Answer

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