How to make binary image more rounded, closer to ellipsoid shape?
1 view (last 30 days)
Show older comments
Ivan Shorokhov
on 24 Aug 2015
Answered: Image Analyst
on 25 Aug 2015
Given: I have following binary image:
Want: I want to make it more rounded, (but not bigger than original bounding box) as follows.
Currently done:
I have tried 'imdilate'
close all; clear all;clc;
o_circ = imread('to_round.jpg');
bw_circ = im2bw(o_circ, graythresh(o_circ));
bw_circ_2 = imdilate(bw_circ, strel('disk',30));
figure(1);imshow(bw_circ_2);
But it did't work as I wanted.
Needed: So what I actually need is to make original shape, as close a possible to ellipsoid shape. I guess I could use the regionprops, but I'm quite sure how to use all the values to plot an ellipse...
st = regionprops(bw_circ,'Centroid','MajorAxisLength','MinorAxisLength','Eccentricity');
[MATLAB version]
R2014a
0 Comments
Accepted Answer
More Answers (1)
Image Analyst
on 25 Aug 2015
You could try imclose() to do a morphological closing operation.
Or you could call imconvhull() to get the convex hull of each region.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!