How to guide bwconncomp to specific region of image?
1 view (last 30 days)
Show older comments
Hello,
I am new to image processing and have been trying to use bwconncomp() to identify components in images.
In my image there is a background which is set to zero or NaN. The area of interest is a circle where there are different values signifying specific regions of that circle that have more or less of some quantity. The image is similar to a topoplot https://www.google.com/search?client=firefox-b-d&q=topoplot
How can I guide bwconncomp() to only look for components inside the area of interest? My issue is that bwconncomp identifies more or less, the entire circle as one large component relative to the background.
1 Comment
Rik
on 18 Jul 2021
Have you tried setting all pixels outside of the circle (and the circle itself) to false?
Accepted Answer
Image Analyst
on 19 Jul 2021
I don't know what the different components are? The blue/purple regions? The colored region is just a continuum of colors smoothly varying and I don't know what would be a component in them. What do you want as a component? Not the circle you've told us. So what/where are the components? Can you outline each individual component in red and repost it?
0 Comments
More Answers (3)
Matt J
on 20 Jul 2021
Edited: Matt J
on 20 Jul 2021
If you have a binary circleMask of the circular region, you can use bwlmaskpropfiltn (Download) to eliminate all objects in a label map L that arenot completely contained in the circle
Lmasked= bwlmaskpropfiltn(L,circleMask,'AreaRelSelf',[1,inf]) ;
0 Comments
Image Analyst
on 18 Jul 2021
Edited: Image Analyst
on 18 Jul 2021
Make a mask of the circle and use it to erase everything outside of the circle, then call bwconncomp() To maks a circle mask, see the FAQ:
Or you can threshold your original image.
then use it to mask your binary image
binaryImage(~circleMask) = false; % Erase outside circle.
cc = bwconncomp(binaryImage);
Attach your image if you need more help.
See my image segmentation tutorial
2 Comments
Image Analyst
on 19 Jul 2021
Sure, I'll help if you let me. Attach your image if you need more help.
You can try a closing with imclose() to merge nearby blobs together into a single blob.
See Also
Categories
Find more on 3-D Volumetric Image Processing 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!