How can I prevent moving ROI out of the image edges?

조회 수: 7 (최근 30일)
azim
azim 2015년 12월 16일
답변: azim 2015년 12월 17일
I have a Region Of Interest (ROI) on an image. Please see the following code:
a=imread('rice.png'); I=imshow (a); e = imellipse(gca,[]);
The ROI can be moved on the image by mouse dragging. I want that the ROI cannot be able to move out of the image, and be stopped when its bounds reach to the image edges. I would be much appreciated it if you could help me for resolving this problem. Thank you very much

채택된 답변

Image Analyst
Image Analyst 2015년 12월 16일
Did you happen to look at the help for imellipse and see the very first example:
figure, imshow('cameraman.tif');
h = imellipse(gca, [10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn('imellipse',get(gca,'XLim'),get(gca,'YLim'));
setPositionConstraintFcn(h,fcn);

추가 답변 (1개)

azim
azim 2015년 12월 17일
Thank you

Community Treasure Hunt

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

Start Hunting!

Translated by