How to "size-normalize" objects in a binary image? (e.g. make sizes of all non-zero objects to be the same)
2 views (last 30 days)
Show older comments
Dear Community,
I have a binary image (attached in .jpg and .fig) with circles, pixel values inside circles =1 and outside =0. These circles look very similar, although they differ in size a little bit. For instance, the difference between two random circles in diameter can be about approx. 10 pixels. Is there a way to make all these circles to become of EXACTLY the same size? Size itself is not important btw, it can range from biggest possible (before circles start to overlap) to 1 pixel. Also a more general answer on how to make objects (not only circles) in a binary image equally sized will satisfy my needs.
I will appreciate any sugestions.
Thank you,
Vasilii
5 Comments
Accepted Answer
Image Analyst
on 4 Apr 2020
Not if x and y can be anything (floating point) since you will have quantization error.
If you want to specify that the center or upper left corner is exactly on an integer coordinate, you can.
3 Comments
Image Analyst
on 22 Apr 2020
If you want, you can use regionprops() to identfy the centroids of the existing circles. Then round them to the nearest integer. Next create a new, blank image and paste onto it a small template of the desired circle shape. I'm attaching a copy and paste demo.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!