how can i remove object bigger than x pixel
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lukasz Jarod
el 18 de Dic. de 2014
Comentada: Ankit Sahay
el 8 de Mayo de 2020
i know that bwareaopen remove small elements , but how can i remove object bigger than x pixels???
i want to just the letter to stay so how can i remove that 2 big objects???
0 comentarios
Respuesta aceptada
Sven
el 18 de Dic. de 2014
Editada: Sven
el 18 de Dic. de 2014
Hi Lukasz,
Here's an example that removes all objects greater than 1000 pixels in area. You probably have your own BW image and your own threshold that you can use in a similar way.
I = imread('rice.png');
BW = I>80;
cc = bwconncomp(BW);
stats = regionprops(cc);
threshold = 1000;
removeMask = [stats.Area]>threshold;
BW(cat(1,cc.PixelIdxList{removeMask})) = false;
Did this help you out?
Thanks, Sven.
2 comentarios
Image Analyst
el 20 de Dic. de 2014
Lukasz's Flag removed and moved here as a comment:
Yes, it helped me.
Ankit Sahay
el 8 de Mayo de 2020
What does the second line do? The line where you have written:
BW = I>80;
Más respuestas (1)
William Kemp
el 1 de Ag. de 2017
Its a little more compact if you use the built in function for it:
BW2 = bwpropfilt(BW,'Area',[0 x_pixels])
Where x_pixels is the maximum desired number of pixels in a BW object
0 comentarios
Ver también
Categorías
Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!