Free hand cropping an image
3 views (last 30 days)
Show older comments
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 Comments
Image Analyst
on 25 May 2017
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.
Accepted Answer
Image Analyst
on 23 Nov 2013
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 Comments
Mathews Jabaraj Soloman
on 21 Jul 2020
Edited: Mathews Jabaraj Soloman
on 21 Jul 2020
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
on 22 Jul 2020
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.
More Answers (0)
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!