remove wanted portions in binary image
6 次查看(过去 30 天)
显示 更早的评论
i wanted to extract only the white portion from the image
i get more than one region... i should get only one region.... please do reply.....
0 个评论
采纳的回答
Image Analyst
2013-11-30
There is a function for removing blobs smaller than a specified size. It's called bwareaopen():
cleanedBinaryImage = bwareaopen(binaryImage, 40); % Remove blobs smaller than 40.
Alternatively you can use a function I wrote to keep, or eliminate, the N largest, or smallest (whichever you specify), blobs. See attached demo in blue text below. This is more general and flexible than bwareaopen, but more complicated.
更多回答(1 个)
Jeremy Wurbs
2013-11-30
If you wish to remove small regions from the binary image itself, you could start by looking at morphological operations ( help bwmorph), specifically erode and dilate.
You could also just remove the small regions from your bounding box list, or just take the largest one. I.e. only take bounding boxes where boundingBox(3)*boundingBox(4) >= minSize.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!