How to select rectangle ROI in the image and adjust the position of ROI manually. Then it can return the adjusted ROI position

16 visualizaciones (últimos 30 días)
I can generate roi using images.roi.Rectangle function, but it is easy to be time-consuming during the adjustment process.
Is there any way to write that allows me to manually adjust the roi size and position in the image, and return the pixel value of the roi adjusted position
close all
I = imread('rice.png'); % your input image
figure, imshow(I);
roi = images.roi.Rectangle(gca,'Position',[80,45,80,100]);

Respuesta aceptada

Matt J
Matt J el 11 de Sept. de 2021
Editada: Matt J el 11 de Sept. de 2021
h=drawrectangle();
wait(h);
You must double-click on the rectangle to confirm its position and return control to Matlab.
  2 comentarios
chihyu
chihyu el 18 de Sept. de 2021
After I follow deer Matt and the URL below, I succeeded. Thanks.
ROI = drawrectangle('Color', 'r')
x1 = ROI.Position(1);
x2 = x1 + ROI.Position(3) - 1;
y1 = ROI.Position(2);
y2 = y1 + ROI.Position(4) - 1;
caption = sprintf('x1 = %.1f, x2 = %.1f, y1 = %.1f, y2 = %.1f',...
x1, x2, y1, y2)
title(caption, 'FontSize', 15)
wait(ROI);
x1 = ROI.Position(1);
x2 = x1 + ROI.Position(3) - 1;
y1 = ROI.Position(2);
y2 = y1 + ROI.Position(4) - 1;
captionNEW = sprintf('x1 = %.1f, x2 = %.1f, y1 = %.1f, y2 = %.1f',...
x1, x2, y1, y2)
title(captionNEW, 'FontSize', 15)
Matt J
Matt J el 18 de Sept. de 2021
You're welcome, but please Accept-click the answer to indicate that it resolved your question.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by