Removal Of objects from binary image.
7 views (last 30 days)
Show older comments
Mohammed Farhan
on 19 Feb 2014
Edited: Dishant Arora
on 22 Feb 2014
Hello, actually I am new to matlab and want to know how to remove some objects from a binary image based upon area. Such that when a particular threshold is set the components of image having area above threshold is removed. Like removing a large vessel of eye and not removing small ones. Is there any function??? Please provide assistance!
2 Comments
mohammed
on 19 Feb 2014
Dear Mohammed Farhan
i think this is a good exapmle to do this. http://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial-blobsdemo
Accepted Answer
Dishant Arora
on 19 Feb 2014
Edited: Dishant Arora
on 20 Feb 2014
once you have got the binary image,you can do the following:
outputImage = xor(BW , bwareaopen(BW , threshArea));
% BW being the binary image
% it will discard objects with area greater then threshArea
imshow(outputImage)
More Answers (1)
Image Analyst
on 19 Feb 2014
I just did that in the past month or two for someone - extracting the main vasculature of the retina in a fundus photograph. Look up the tag eye and look for my name. Or look in my File Exchange or at bwareaopen as Dishant suggests.
6 Comments
Dishant Arora
on 22 Feb 2014
Edited: Dishant Arora
on 22 Feb 2014
You need to call regionprops before running this snippet like:
blobMeasurements = regionprops(labeledImage,grayImage,'all');
or
blobmeasurements =regionprops(labelleImage,grayImage,'Area','MeanIntensity');
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!