Free hand cropping an image
5 次查看(过去 30 天)
显示 更早的评论
Hello all,
I saw this post recently on this forum by Sean de Wolski on 19 Jun 2013. This is to free hand crop an image and blackout the rest. However, I'm using a jpg and it's causing the rest of my image to have a blueish tint. Do you know how to fix this? Thanks in advance!!
I = imread('cameraman.tif');
imshow(I);
h = imfreehand; %draw something
M = ~h.createMask();
I(M) = 0;
imshow(I);
2 个评论
Image Analyst
2017-5-25
h.createMask() creates a binary image mask that is true/1/white inside the drawn area and false/0/black outside the drawn area. Using ~ inverts that mask so it's black inside the drawn area and white outside.
采纳的回答
Image Analyst
2013-11-23
Don't use jpg images. I never do. They are not suitable for doing image analysis. Use PNG format because it's lossless compression.
I used your code and did not get a bluish tint.
3 个评论
Mathews Jabaraj Soloman
2020-7-21
编辑:Mathews Jabaraj Soloman
2020-7-21
I am using an ultrasound image with .png extension. While using the above code I am getting the bluish color other than the ROI drawn both using 'imfreehand' and 'drawfreehand'. And my image has the size of "899x1442x3". It has 3 channel, does it has to do something with the bluish color of the background.
looking forward for answers.
Image Analyst
2020-7-22
I don't know what that means. Why would an ultrasound image, which is grayscale, have a bluish color. You forgot to post your image, and your code. Start a new thread with those and tell us there (not here) what region of the image you're outlining, and if "getting the bluish color" means that you are outlining the blue region, or somehow you get a bluish tint to the image after you do the outlining.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!