How can I determine the number of closed regions in an edge image?
4 views (last 30 days)
Show older comments
coolguynp
on 19 Apr 2015
Commented: Image Analyst
on 20 Apr 2015
Given an edge image as shown in the figure, how can I find the number of closed regions (4 in the figure) in it?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/149224/image.jpeg)
0 Comments
Accepted Answer
Image Analyst
on 19 Apr 2015
Trivial - just 3, or even 2, lines of code. Just try this:
% Invert the image to form black curves on a white background
binaryImage = ~binaryImage;
% Get rid of huge background that touches the border
binaryImage = imclearborder(binaryImage);
% Count the objects remaining
[~, numberOfClosedRegions] = bwlabel(binaryImage);
4 Comments
Image Analyst
on 20 Apr 2015
The small blob at the bottom was SUPPOSED to be eliminated because it is not a closed curve.
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!