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

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.

 採用された回答

Sindhu Karri
Sindhu Karri 2020 年 11 月 10 日
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

1 件のコメント

Punnag Chatterjee
Punnag Chatterjee 2020 年 11 月 12 日
This is a nice - short code. It does work, detecting I would say 80% of the circles. I will keep playing with the 'EdgeThreshold' , 'Sensitivity' and the other settings. Thanks.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by