Filter löschen
Filter löschen

How to crop required ROI from an image?

37 Ansichten (letzte 30 Tage)
Revathi S
Revathi S am 23 Sep. 2018
Kommentiert: Image Analyst am 29 Sep. 2018
% 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.
  2 Kommentare
Image Analyst
Image Analyst am 23 Sep. 2018
Read this link so you know how to format your code.
Revathi S
Revathi S am 23 Sep. 2018
Ok. thanks Modified

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 23 Sep. 2018
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 Kommentare
Revathi S
Revathi S am 23 Sep. 2018
Imcrop() deals with rectangular boundary.
My ROI is not a rectangular shape (ie, Eye )
It contain some unwanted portion while cropping.
Image Analyst
Image Analyst am 29 Sep. 2018
Try this freehand masking demo.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Revathi S
Revathi S am 29 Sep. 2018
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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by