how to resize an object in binary image ?

4 views (last 30 days)
i try to resize (minimize) an object in binary image, but I get the whole picture is to be small. even though I just wanted to minimize only its object. please help me. thanks

Accepted Answer

Image Analyst
Image Analyst on 20 Mar 2016
If you want to shrink a binary image in place, without cropping out, then you can use imerode() to eat away outer layers of the binary blob(s).
  4 Comments
ElizabethR
ElizabethR on 20 Mar 2016
thank you very much Image Analyst, it working perfectly.. :D may i ask one question again ? i want to convert image into polar coordinate(unit circle) with the object is on the center of the circle. i try to convert this image using cart2pol, but i can get image like this. So, how to make this image ? :D thank you so much
Image Analyst
Image Analyst on 20 Mar 2016
You can create a circle mask as shown in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_create_a_circle.3F
So if the mask is true in the circle and false outside, do
binaryImage(~mask) = true;
For what it's worth, I've also attached a circle masking demo.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 20 Mar 2016
You need to extract the object first and imresize() on the extracted part. Consider using regionprops with the Image property to get the extracted object.
  3 Comments
Walter Roberson
Walter Roberson on 20 Mar 2016
props = regionprops(YourBinaryImage, 'Image');
extracted_image = props.Image;
smaller_extracted = imresize(extracted_image, [64 64]); %example output size
ElizabethR
ElizabethR on 21 Mar 2016
hi Walter, thanks you so much.. it's working perfectly, now i can extract the object .. but, i want the background ( black ) still there.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!