Hi Question is about eleminating unwanted regions in binary image.
Show older comments
I work on fundus image , bwareaopen() function removes all connected components fewer than P pixels. But in my image I need to remove all the regions which have more than 11 pixels how can I do so? And how can I calculate the metrics of each region and eliminate the structures having metrics less than 0.95?
Answers (1)
Image Analyst
on 10 Jan 2016
So P=11, right? Did you try this:
binaryImage = bwareaopen(binaryImage, 11);
Regarding "metrics", I think you need to do a spatial calibration, and I attach my demo for that. So then use regionprops() and multiply linear measurements by the spatial calibration factor and area measurements by the spatial calibration factor squared.
5 Comments
Pradeep Gowda
on 10 Jan 2016
Image Analyst
on 10 Jan 2016
Try bwareafilt:
smallBlobs = bwareafilt(binaryImage,[1, 11]);
Pradeep Gowda
on 13 Jan 2016
Meghana Dinesh
on 13 Jan 2016
You can do what Image Analyst mentioned:
binaryImage_out = bwareaopen(binaryImage_in, 11);
Later, subtract binaryImage_in and binaryImage_out.
Image Analyst
on 13 Jan 2016
binaryImage = binaryImage - bwareaopen(binaryImage, 11);
Categories
Find more on Convert Image Type in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!