Fixed sized positionable rectangular ROI

5 views (last 30 days)
I need to select fixed area Rois from a set of images. I have code working fine that uses imrect - the box is drawn, can be dragged around and waits for a mouseclick to record position but I can't suss out how to do it with drawrectangle - for my own satisfation.
The nearest I've got it to draw rectangle with mouse then resize after, which is clunky and I can't figure out how to make that box draggable. Here's the relevant part of the code, obviously there'd be an image open.
% Get positions
for Roicount=1:Roinumber
Framesize = [1 1 Lanelength Lanewidth];
Im1 = imrect(gca, Framesize); %can't see how to do this with drawrectangle
setResizable(Im1,0);
Position = wait(Im1);
for m=1:4 %Store positions
Regions(Roicounter,m)=Position(m);
end
end
The positions are used later to crop out the regions of interest.

Accepted Answer

Image Analyst
Image Analyst on 5 Jul 2020
Try drawrectangle(). Use can click and drag. Set up a listener that resets the size in the event that they click a handle to change the size.
  1 Comment
ian Handsportman
ian Handsportman on 5 Jul 2020
That seems like long way round to achieve the same result, why is imrect not recommended?

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!