how can i remove the white object from binary image
显示 更早的评论
I have a image with my needed object (green) and the noise (white). I want to delete the noise but have no idea for that. anyone can help

采纳的回答
更多回答(1 个)
Image Analyst
2018-4-15
0 个投票
You didn’t say what was unique about the object but it looks like it might be the size of the bounding box. So why don’t you compute that with regionprops()?
2 个评论
R G
2018-4-15
Image Analyst
2018-4-18
编辑:Image Analyst
2018-4-18
Compute the bounding box.
labeledImage = bwlabel(binaryImage);
props = regionprops(labeledImage, 'BoundingBox');
Then decide which ones to keep, like if the width to height ratio is between 0.5 and 3, or whatever.
indexesToKeep = false(1, length(props));
for k = 1 : length(props)
width = props(k).BoundingBox(3);
height = props(k).BoundingBox(4);
if width/height > 0.5 || width/height < 3
% It's a fairly square box, so keep it.
indexesToKeep(k) = true;
end
end
% Extract just acceptable blobs
indexesToKeep = find(indexesToKeep);
binaryImage2 = ismember(labeledImage, indexesToKeep);
imshow(binaryImage2);
类别
在 帮助中心 和 File Exchange 中查找有关 ROI-Based Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
