Removal Of objects from binary image.

7 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Dishant Arora
Dishant Arora il 19 Feb 2014
Modificato: Dishant Arora il 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)

Più risposte (1)

Image Analyst
Image Analyst il 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 Commenti
Mohammed Farhan
Mohammed Farhan il 22 Feb 2014
Thank you very much! But I still get an error:
Undefined variable "blobMeasurements" or function "blobMeasurements.MeanIntensity".
Error in naew (line 118) allBlobIntensities = [blobMeasurements.MeanIntensity];
Please Help
Dishant Arora
Dishant Arora il 22 Feb 2014
Modificato: Dishant Arora il 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');

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by