Moving ROIs within images and across images
Ältere Kommentare anzeigen
I have a code where I read in two images and display it side-by-side. I draw a region of interest within the first image, and the region is automatically shown on the second image. When I move the rectangle to another region within the first image, only that rectangle moves (not the second image's rectangle). How can I fix this so that when I move the first rectangle, the second move moves to the same position as well.

What I have now

% Read images
I = imread('cameraman.tif');
I2 = imread('cameraman.tif');
% plot image 1 & draw a rectangular ROI on images
subplot(1,2,1); imshow(I);
roi = drawrectangle('LineWidth',2,'Color','white');
subplot(1,2,2); imshow(I2);
roi2 = drawrectangle(gca,'Position',roi.Position);
% set up listeners for ROI moving events
addlistener(roi,'MovingROI',@allevents);
addlistener(roi,'ROIMoved',@allevents);
% allevents callback function displays the previous position & the current position of the ROI
function allevents(~,evt)
evname = evt.EventName;
switch(evname)
case{'MovingROI'}
disp(['ROI moving previous position: ' mat2str(evt.PreviousPosition)]);
disp(['ROI moving current position: ' mat2str(evt.CurrentPosition)]);
case{'ROIMoved'}
disp(['ROI moved previous position: ' mat2str(evt.PreviousPosition)]);
disp(['ROI moved current position: ' mat2str(evt.CurrentPosition)]);
end
end
Akzeptierte Antwort
Weitere Antworten (1)
Auwal
am 16 Okt. 2023
0 Stimmen
Thanks everyone that contributed.
please may i know if it is possible to get the pixel values in the defined roi and calculate the mean value.
Thanks in advace
2 Kommentare
Image Analyst
am 16 Okt. 2023
Yes
croppedImage = imcrop(originalImage, roi.Position); % Get values in the rectangle.
meanValue = mean2(croppedImage)
Auwal
am 16 Okt. 2023
Thanks so much Image Analyst. It works fine.
However, I am not sure why is not working with circular roi "drawcircle"
Many thanks
Kategorien
Mehr zu Image Filtering finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

