How to crop required ROI from an image?

23 次查看(过去 30 天)
% code
h = impoly(gca,[188,30; 189,142; 93,141; 13,41]);
api = iptgetapi(h);
fcn = makeConstrainToRectFcn('impoly',get(gca,'XLim'),get(gca,'YLim'));
api.setPositionConstraintFcn(fcn);
position = wait(h);
a=imcrop(I,[250 91;251 203;155 202;75 102]]);
imshow(I);
end
I am working on medical image processing.
I need to crop eye only from face & position is not constant for all images.
so i use polygonal ROI.
but it shows error.

采纳的回答

Image Analyst
Image Analyst 2018-9-23
Call imcrop() with no arguments if the coordinates are not the same from image to image. This will let the user interactively select the box.
  2 个评论
Revathi S
Revathi S 2018-9-23
Imcrop() deals with rectangular boundary.
My ROI is not a rectangular shape (ie, Eye )
It contain some unwanted portion while cropping.

请先登录,再进行评论。

更多回答(1 个)

Revathi S
Revathi S 2018-9-29
if true
e = roipoly(I);
ROI=zeros(size(I,1),size(I,2));
NONROI=zeros(size(I,1),size(I,2));
int16(i);
int16(j);
for i=1:size(I,1)
for j=1:size(I,2)
if e(i,j)==1
ROI(i,j)=I(i,j);
ROI(i,j)=1;
end
end
end
Code for Croping Required ROI

标签

Community Treasure Hunt

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

Start Hunting!

Translated by