Adding the Canny Filter to Krita
Closed, ResolvedPublic

Description

  1. What is it?
    • Another edge detection filter, can give more accurate results than the current one
  1. 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.
  1. 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

hellozee created this task.Jan 25 2020, 2:39 PM
hellozee triaged this task as Normal priority.
cubix added a subscriber: cubix.Oct 19 2020, 5:18 PM

Hi, I am new to krita development. Can I work on this?

hellozee closed this task as Resolved.Oct 19 2020, 5:42 PM

Hi, I am new to krita development. Can I work on this?

Well, I do have the filter done but it is not much of use. I think I should close this task, :)