Crop with imfreehand?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
DIMITRIOS THEODOROPOULOS
el 2 de Feb. de 2019
Comentada: sinjini ghosh
el 12 de Nov. de 2019
I dont know if my question has an answer.I have an image and crop a ROI with imcrop
[cropped_image,rect]=imcrop(original_image);
I work with cicular regions so this rectangular is not working very well.I want to draw freehand the ROI i want..
I tried this but doesnt work.(I want to get similar image such as cropped_image)
cropped_image=imfreehand();
and then extract this cropped_image and continue to my analysis
0 comentarios
Respuesta aceptada
Satoshi Kobayashi
el 3 de Feb. de 2019
Editada: Satoshi Kobayashi
el 3 de Feb. de 2019
I = imread('corn.tif',2);
imshow(I)
h = imfreehand; % Place a closed ROI by dragging and double-click on the region.
position = round(wait(h));
min_values = min(position,[],1);
max_values = max(position,[],1);
Inew = I(min_values(2):max_values(2),min_values(1):max_values(1),:);
[X1,X2] = meshgrid(1:size(Inew,2),1:size(Inew,1));
in = inpolygon(X1,X2,position(:,1)-min_values(1)+1,position(:,2)-min_values(2)+1);
in =repmat(in,1,1,size(I,3));
Inew(~in) = 0; % If I is uint
Now Inew is the rectangular cropped image. Out of ROI has been blacked out.
4 comentarios
sinjini ghosh
el 12 de Nov. de 2019
Could you comment on what each of the command is doing, the code works, but I didnot understand the operations you used
Más respuestas (1)
Image Analyst
el 3 de Feb. de 2019
See my attached demo. I think you'll like it a lot better than the other answer. It gives you drawing instructions, it doesn't ask you to "confirm" the shape after you draw it, it does a variety of masking options, and it does the cropping you want. Adapt as needed.
![0001 Screenshot.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/202551/0001%20Screenshot.png)
4 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!