Free hand cropping an image

4 次查看(过去 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 个评论
green
green 2017-5-24
M = ~h.createMask(); could you please explain this for me?
Image Analyst
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
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
编辑: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
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!

Translated by