How to saperate these overlapping objects ?

I want to detect concave points of overlapping objects so that I can fit a circle and an ellipse or combination of 2 circles over it.

2 个评论

Can you elaborate more with the color symbol indicated by marker?
You can use paint?
I want to place green circle over circular objects and an ellipse over elliptical objects. But as some objects are overlapping I have to seperate them first by detecting their intersecting points.

请先登录,再进行评论。

回答(2 个)

Why not just use regionprops to look for blobs that have high solidity?
mask = imfill(mask, 'holes');
props = regionprops(mask, 'Solidity', 'MajorAxisLength', 'MinorAxisLength');
allSolidities = [props.Solidity]
allMajorAxesLengths = [props.MajorAxisLength]
allMinorAxesLengths = [props.MinorAxisLength]
nonConvexIndexes = allSolidities < 0.8; % or whatever.
circleIndexes = (allMajorAxesLengths ./ allMinorAxesLengths) < 1.5; % Or whatever.
Circles should have minor and major axes roughly the same.
Adapt as needed.

1 个评论

Thanks for helping. I am facing same error as Steve's code . Ellipse of same size doesn't fit if two cells are overlapped. For that I have to saperate them first.

请先登录,再进行评论。

产品

版本

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by