Clear Filters
Clear Filters

What is the underlying code for the 'imfindcircles' function?

11 views (last 30 days)
I'm currently working on a computer vision project to measure the radii of silica microspheres based on scanning electron microscope images that I've taken. Previously, I've been using Python's openCV package to do the detection work but I find that the Matlab imfindcircles function works much better for my project. However, from what little I've read online, I understand that it is essentially operates using Hough transformation. That really surprises me because I was not able to get the same microsphere detection results with openCV's HoughCircles function.
Is there any way that I can see the underlying code for the imfindcircles function? I'm quite curious with regard to how they've implemented this function.
Thank you for your help.
  1 Comment
erfan khosravani
erfan khosravani on 2 Mar 2021
I have the same problem. I will be very thankfull if you solve this problem and optimize the Python's openCV package. Would you please let me know the result?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 23 Jun 2017
dbtype imfindcircles
In particular look somewhere near line 169, starting at "%% Compute the accumulator array". It calls %CHACCUM Compute 2D accumulator array using Circular Hough Transform. You can read the source for that,
dbtype(cell2mat(which('-all','chaccum')))
  4 Comments
DGM
DGM on 22 Jul 2022
Edited: DGM on 22 Jul 2022
Look under .../toolbox/images/images/private/
at least that's where it is in R2019b

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!