Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In "A Computational Approach to Edge Detection", John Canny explains that the optimal "detector" for finding step edges profiles in an image via convolution is a non-closed-form function closely approximated by the first derivative of a Gaussian. He derives this by defining "optimal" as the function which maximizes the product of signal-to-noise ratio and localization (ability to detect the edges at the right location), as well as another criteria concerning multiple responses.

On p.5 of the paper, he also shows in a picture the optimal detectors, under that those criteria, for ridge and roof profiles, which also look Gaussian-ish in shape.

I'd like to compute the optimal detector for other, arbitrary profiles. Unfortunately, I'm not quite well-versed in numerical optimization enough to figure out how to do that based on the formulas in the paper, and I'm not able to find any resources that explains how to do so explicitly. Does anyone know of a guide or an implementation that will do that - finding the optimal detector for an arbitrary feature in an noisy image?

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.