Difference between "Canny" and "Canny_old" in Image Processing toolbox function "edge"

3 views (last 30 days)
Hi,
I was trying to compare OpenCV and Matlab outputs a given test image for Canny edge function and I realized that the "edge" function in matlab provides a "canny" and a "canny_old" implementations.
Can you please provide some reference as to the math behind it and what is the difference between the two?
Thanks & Regards,
Mazhar

Accepted Answer

Amith Kamath
Amith Kamath on 8 Dec 2015
Mazhar:
Apologies for such a delayed response. As far as I know, 'canny_old' does not have any relation to the openCV implementation. I would encourage you to avoid using canny_old, as it probably exists only for backward compatibility reasons.
openCV does not use a derivative of gaussian for gradient computations, whereas the MATLAB version does so. Additionally, the use of bwselect in the sub-function 'thinAndThreshold' makes the MATLAB results better looking than the openCV equivalent.
See this post for additional details: https://dsp.stackexchange.com/questions/4716/differences-between-opencv-canny-and-matlab-canny
Are you trying to get the same results that MATLAB provides, using openCV? Could you elaborate on how you are trying to do so?

More Answers (0)

Community Treasure Hunt

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

Start Hunting!