problem filling a contour
4 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Image Analyst
2013-11-20
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 个评论
Image Analyst
2013-11-21
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;
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!