How to extract second largest blob from image?
Mostrar comentarios más antiguos
I have a binary image, and have extracted the largest and second largest images from a grayscale image (using bwareafilt). This gives me the image below:

How do i extract the image on the right (the second largest image)?
Using regionprops I have the Area, Centroid and Bounding Box for both blobs, but I am not sure how to use these values to extract the image on the right.
Thank you.
4 comentarios
Roark Menezes
el 16 de Jun. de 2020
darova
el 16 de Jun. de 2020
You can also use bwregionprops to find area of each blob
Roark Menezes
el 18 de Jun. de 2020
KSSV
el 18 de Jun. de 2020
Replace that region pixel values with black ones....
Respuestas (1)
KALYAN ACHARJYA
el 18 de Jun. de 2020
Editada: KALYAN ACHARJYA
el 18 de Jun. de 2020
large_1=bwareafilt(binary_image,1); %Extracting Large Blob
large_2=binary_image & ~large_1; % Logical Operation to get 2nd largest Blob
large_2=bwareafilt(large_2,1); % Remove extra small blobs
imshow(large_2);

Categorías
Más información sobre Region and Image Properties 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!