How do I remove blobs connected to border?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to remove objects connected to the border of AOI (Area of interest). I'm not sure what I should do to solve this problem. I'm aware of the imclearborder() function, but this only removes objects along the border of the image itself. I want to remove the red rice shown below:
Any tips or advice would greately appreciated. Thank you!
0 commentaires
Réponse acceptée
DGM
le 15 Nov 2022
Modifié(e) : DGM
le 15 Nov 2022
This is one way. Use the ROI mask to connect the truncated blobs to the image border. Then you can use imclearborder().
% an image
A = imread('rice.png');
% binarize the rice somehow
mkrice = bwareaopen(A>130,100);
% create an ROI mask somehow
imshow(A);
ROI = images.roi.Polygon(gca);
ROI.Position = [88 28;41 84;36 159;140 211;228 124;220 28;141 62];
mkroi = createMask(ROI);
% show what we have
imshow([mkrice mkroi])
% combine the two and discard
mkout = imclearborder(mkrice | ~mkroi);
imshow(mkout)
4 commentaires
Image Analyst
le 15 Nov 2022
Don't know what I was thinking. Maybe that he wanted to find the red rice - I don't remember. Sorry, never mind.
DGM
le 15 Nov 2022
It's okay. Some things get repeated so often I'm already starting to get flashbacks of similar cases myself.
Plus de réponses (1)
Image Analyst
le 15 Nov 2022
Let me know if you can't figure it out and I'll give you the solution tomorrow.
0 commentaires
Voir également
Catégories
En savoir plus sur Image Segmentation and Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!