How to make binary image more rounded, closer to ellipsoid shape?
    4 views (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
Categories
				Find more on Image Processing Toolbox 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!