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

1 次查看(过去 30 天)
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

采纳的回答

Amith Kamath
Amith Kamath 2015-12-8
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?

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by