how can i remove the white object from binary image
Mostrar comentarios más antiguos
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

Respuesta aceptada
Más respuestas (1)
Image Analyst
el 15 de Abr. de 2018
0 votos
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 comentarios
R G
el 15 de Abr. de 2018
Image Analyst
el 18 de Abr. de 2018
Editada: Image Analyst
el 18 de Abr. de 2018
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);
Categorías
Más información sobre Images en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
