Borrar filtros
Borrar filtros

How to crop required ROI from an image?

38 visualizaciones (últimos 30 días)
Revathi S
Revathi S el 23 de Sept. de 2018
Comentada: Image Analyst el 29 de Sept. de 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 comentarios
Image Analyst
Image Analyst el 23 de Sept. de 2018
Read this link so you know how to format your code.
Revathi S
Revathi S el 23 de Sept. de 2018
Ok. thanks Modified

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 23 de Sept. de 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 comentarios
Revathi S
Revathi S el 23 de Sept. de 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 el 29 de Sept. de 2018
Try this freehand masking demo.

Iniciar sesión para comentar.

Más respuestas (1)

Revathi S
Revathi S el 29 de Sept. de 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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by