- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Part of my investigation will be following up on the usage of the high and low threshold parameters. In any case, we will want to make the documentation clearer.
More soon,
Jeff
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. calculate horiz gradient, get gradient map dx
2. calculate vert gradient, get gradient map dy
3. calculate the graidient image, pixel value = sqrt(dx^2 + dy^2), direction = dy / dx
4. first loop, mark the values that greater than the high threshold as edge
5. second loop, check the values between low and high, if it's near the existing edge with the correct direction, mark it as edge.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Best regards,
Jeff
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page