MATLAB: Detecting closely packed bubbles (diameter and outline) using MATLAB image processing

computer visiondigital image processingImage Acquisition ToolboxImage Processing Toolbox

Hello,
I have been trying to detect circles (or rather annular shapes). The attached image named "Bubble_Image.png" is the image that needs to be processed to get the final image "Final_detection.png" (attached here). I many ways especially, Brett Shoelson's article (https://blogs.mathworks.com/pick/2008/05/23/detecting-circles-in-an-image/) but I have not been successful. Please help. I want to detetct the bubbles within a certain pixel diameter range and then list the diameters of the detected biubbles.

Best Answer

Hii Punnag,
histeq”,”imfindcircles” functions are useful to detect circles
You can also refer to attached code for your use case:
A = imread('Bubble_Image.png');
A1=histeq(A);
imshow(A)
[centers, radii, metric] = imfindcircles(A1,[5 30],'EdgeThreshold',0.1);
viscircles(centers, radii,'Color','r');
Refer to below links for better understanding:
Refer to this link for detailed explanation
Related Question