Search code examples
image-processingcanny-operator

Using "simple" and "short" gauss function in Canny edge detection


In some implementations of Canny Operator
"short two-dim gauss function"

(only exponent part) are used instead of simple Gauss two-dim function:

Let's call it the "short" function. In Canny's original work([look at page 13) he also uses this function, but there are many implementations on the internet and in good books, that use the standard Gauss two-dim function.

In my application I have a rather dark image of gradient's magnitude which uses the standard function and practically corners are not allocated while with the "short" function everything works as expected.

The question: What is the difference between these functions and why do some people use one function, while some people use another function?


Solution

  • Canny operator looks for the point of maximum derivative and therefore the scale of the input function doesn't matter.

    "Only the exponent part" seems to mean that just omitting the normalization factor. A convolution with the un-scaled gaussian will simply be proportional to the convolution with a normalized gaussian.

    This should make no difference if the next operation is a maximum-derivative search.