problem filling a contour
Show older comments
Hello,
I have a problem. I have an image (a masc) which has a hole. I detect de contour of the masc and I use "fill" to fill with a colour. My problem is that the hole is also painted and I don't want that.
Is there any option to avoid filling the holes? Thanks
Silvia
Answers (1)
Image Analyst
on 20 Nov 2013
0 votes
If you have the coordinates of the contour, you can use poly2mask() to create binary images. For nested contours, you might have to call it twice, then subtract the binary image from the inner "hole" from the larger outer mask to make the hole zero and the torus 1.
2 Comments
Silvia
on 21 Nov 2013
Image Analyst
on 21 Nov 2013
You need to get the hole iteself. So invert the mask of the donut, call imclearborder() and then assign:
holeMask = imclearborder(!binaryMask);
grayImage(holeMask) = whateverIntensityYouWant;
Categories
Find more on Region and Image Properties 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!