I have difficulties to implement correctly the Canny filter. I noticed that in the IPP implementation there is no smoothing included so at the beginning I added a Gauss filter to my image. After computing the Sobel filters as inputs to the Canny filter, as noted in the IPP examples, I had the impression of getting to many edges segmented in the result.
I then made a comparison to another framework, applying there also the Canny edge detection to the same image and using the same absolute thresholds for hysteresis thresholding and got a more meaningful result.
Could you please help me with my implementations? Could you provide me with information about the usage of the two threshold values in the algorithm? Do they represent absolute image values in the gradient image?
Is there a "correct" or "standard" workflow in IPP for the implementation of the standard canny edge detection algorithm?
Just thought I'd add the results of investigating Canny implementations. At least with the inputs I've looked at, results match OpenCV.
It is simple enough to find edgegradient threshold values that work for a specific image. The image processing literature recommends a 2-3x ratio between high and low threshold values.
There are severalalgorithms to automatethreshold value selection. This topic had some additional discussion in Premier. I've entered a feature request to consider adding automatic thresholding capability to IPP in the future.