How to make binary image more rounded, closer to ellipsoid shape?
조회 수: 8 (최근 30일)
이전 댓글 표시
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
채택된 답변
추가 답변 (1개)
Image Analyst
2015년 8월 25일
You could try imclose() to do a morphological closing operation.
Or you could call imconvhull() to get the convex hull of each region.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!