Fixed sized positionable rectangular ROI

5 次查看(过去 30 天)
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.

采纳的回答

Image Analyst
Image Analyst 2020-7-5
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 个评论
ian Handsportman
ian Handsportman 2020-7-5
That seems like long way round to achieve the same result, why is imrect not recommended?

请先登录,再进行评论。

更多回答(0 个)

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by