- What is it?
- Another edge detection filter, can give more accurate results than the current one
- Why is it needed?
- First, it gives better results. Second, since it gives better results, it would increase the accuracy of Magnetic Lasso, which uses Laplacian of Gaussian implemented for the Colorize Mask.
- How would it be done?
- Since Canny Filter is just a augmented Sobel Filter and we could just use the already present implementation of it.
- Non Maximum suppression should easily doable given that we get both the partially differentiated values wrt to both x and y.
- Since we already have the value of the pixels, applying double threshold would just be a simple for loop.
- Further the results could be refined with several blob analysis algorithms for the weak pixels but this would be an extra goal, :)
More Info:
https://en.wikipedia.org/wiki/Canny_edge_detector
https://www.cs.auckland.ac.nz/~rklette/CCV-CIMAT/pdfs/B04-AdvancedEdgeDetection.pdf
Some example code:
https://rosettacode.org/wiki/Canny_edge_detector
https://github.com/boostorg/gil/pull/258