setting image position centered

30 views (last 30 days)
I have an image in the figure as shown above.
I want to display region of interest (white portion) at the center of the figure window (align centered position-registration). How can I do it?
Please explain. Thank you.

Accepted Answer

Image Analyst
Image Analyst on 7 May 2022
Edited: Image Analyst on 7 May 2022
Try using regionprops to get the centroid, then imtranslate to shift it to the center of the image:
rgbImage = imread('image.png');
subplot(2, 1, 1);
imshow(rgbImage)
axis('on', 'image')
% Get binary image from the RGB image the poster attached.
binaryImage = rgbImage(:, :, 1) > 128;
% Find centroid.
props = regionprops(binaryImage, 'Centroid')
% Translate the image.
xt = props.Centroid(1)
yt = props.Centroid(2)
% Get center of image
[rows, columns, numberOfColorChannels] = size(binaryImage)
xc = columns/2;
yc = rows/2;
deltax = xc - xt
deltay = yc - yt
hold on;
plot(xt, yt, 'r+', 'LineWidth', 2, 'MarkerSize', 60);
centeredImage = imtranslate(rgbImage,[deltax deltay],'FillValues', 0);
subplot(2, 1, 2);
imshow(centeredImage)
axis('on', 'image')
% Draw center lines.
xline(xc, 'LineWidth', 2, 'Color', 'r');
yline(yc, 'LineWidth', 2, 'Color', 'r');
  9 Comments
Image Analyst
Image Analyst on 8 May 2022
Loooks like you have a huge white frame around your blobs. Why? It also looks like your image has a black caption atop the image. Why? Are these screenshots of an entire figure rather than a binary image you got from a photo?
image-pro
image-pro on 8 May 2022
Thanks a lot Image Analyst you solved my problem. Thanks

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!