Rank: 24283 based on 0 downloads (last 30 days) and 0 files submitted
photo

Idillus

E-mail

Personal Profile:
Professional Interests:

 

Watch this Author's files

 

Comments and Ratings by Idillus View all
Updated File Comments Rating
09 May 2009 Hough Transform for circle detection An optimized Hough transform for circle detection. Author: Peter Bone

Nice function. Can you tell me how to find the radious and values?

29 Apr 2009 Analytical intersection area between two circles Compute the intersection area between 2 circles. The function allows to evaluate the intersection ar Author: Guillaume JACQUENOT
15 Apr 2009 Contrast Limited Adaptive Histogram Equalization (CLAHE) Best to read the reference in "Graphics Gems IV", Academic Press, 1994 pages 474-485 Author: Leslie Smith
06 Apr 2009 Detects multiple disks (coins) in an image using Hough Transform HOUGHCIRCLES detects multiple disks (coins) in an image using Hough Transform. Author: Yuan-Liang Tang

Sorry, I've made ma mistake

if (nargin >=3 || nargin <= 6)
    
    if nargin==3
        thresh = 0.33; % One third of the perimeter
        delta = 12; % Each element in (x y r) may deviate approx. 4 pixels
        edgeim = edge(im, 'canny', [0.15 0.2]);
    end
    
    if nargin==4
        edgeim = edge(im, 'canny', [0.15 0.2]);
        delta = 12;
    end
    
    if (nargin==5)
        edgeim = edge(im, 'canny', canny_th);
        delta = 12;
    end
    
    if (nargin==6)
       edgeim = edge(im, 'canny', canny_th,sigma);
       delta=12;
    end
    if (nargin == 7)
         edgeim = edge(im, 'canny', canny_th,sigma);
    end
end

if minR<0 || maxR<0 || minR>maxR || thresh<0 || thresh>1 || delta<0 || canny_th <0 || canny_th >1
  disp('Input conditions: 0<minR, 0<maxR, minR<=maxR, 0<thresh<=1, 0<delta');
  return;
end

06 Apr 2009 Detects multiple disks (coins) in an image using Hough Transform HOUGHCIRCLES detects multiple disks (coins) in an image using Hough Transform. Author: Yuan-Liang Tang

Hi, nice function. I've made some changes that may be interesting. It wold be nice to change the threshold and sigma value for canny edge detection, so, I added a few lines to improve this, changing the location of the definition of the edgeimage

if nargin==3
    
    thresh = 0.33; % One third of the perimeter
    delta = 12; % Each element in (x y r) may deviate approx. 4 pixels
    edgeim = edge(im, 'canny', [0.15 0.2]);

elseif nargin==4

    if ((max(size(canny_th) == 2)) || (max(size(canny_th) == 1)))
        if max(size(canny_th) == 2)
            edgeim = edge(im, 'canny', [canny_th(1) canny_th(2)]);
        end
        if max(size(canny_th) == 1)
            edgeim = edge(im, 'canny', canny_th(1));
        end
    end
    delta = 12;
    
else (nargin==5)

    if ((max(size(canny_th) == 2)) || (max(size(canny_th) == 1)))
        if (max(size(canny_th) == 2))
            edgeim = edge(im, 'canny', [canny_th(1) canny_th(2)],sigma);
        end
        if (max(size(canny_th) == 1))
            edgeim = edge(im, 'canny', canny_th(1),sigma);
        end
    end
    delta = 12;
end

Contact us at files@mathworks.com