How to fill BLACK a region in an image?
17 views (last 30 days)
Show older comments
I have an image (no matter gray or binary). I want to fill several regions (that are selected by the user through interface) in BLACK!
imfill and roifill cannot do this, because they fill in white!
(I think roifill is exactly what I need, but it fills them white not black!)
Does anybody know how I can resolve my problem?
0 Comments
Accepted Answer
Image Analyst
on 12 Dec 2013
It does matter if they're grayscale or binary. You will probably have to use morphology. For example you might need to erode or dilate your binary image so that you don't fill with white. Or you might be able to use logical indexing. Can you post your image so I can recommend a method?
0 Comments
More Answers (2)
Steven
on 12 Dec 2013
Edited: Steven
on 18 Dec 2013
1 Comment
Image Analyst
on 12 Dec 2013
That looks like a binary image. So why is imfill() not working?
filledImage = imfill(binaryImage, 'holes');
Walter Roberson
on 13 Dec 2013
Why not just assign 0 to the roi regions? If they are defined as polygons, then poly2mask() to get the bitmap.
8 Comments
Image Analyst
on 14 Dec 2013
Like this???
% Find the binary image
binaryImage = grayImage > thresholdValue; % say 200 or something.
% Make those pixels black.
grayImage(binaryImage) = 0;
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!