Crop with imfreehand?

3 次查看(过去 30 天)
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

采纳的回答

Satoshi Kobayashi
编辑:Satoshi Kobayashi 2019-2-3
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 个评论
DIMITRIOS THEODOROPOULOS
ok thank you very much for support!
sinjini ghosh
sinjini ghosh 2019-11-12
Could you comment on what each of the command is doing, the code works, but I didnot understand the operations you used

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2019-2-3
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
  4 个评论
Image Analyst
Image Analyst 2019-7-23
Warid, what version do you have?
Warid Islam
Warid Islam 2019-7-23
Hi,
I use MATLAB 2019a.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Read, Write, and Modify Image 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by