**Name**

**canny** Canny-Deriche's Edge Detector

**Command Synopsis**

**canny** [-a *alpha*] *IN* *OUT*

-aalpha: Width of the impulse response, default 1

IN: input fimage

OUT: output fimage

**Function Summary**

Fimage canny (alpha , IN , OUT )

float *alpha ;

Fimage IN , OUT ;

**Description**

This method is an approach of edge extraction preceded by an optimisation of criteria keeping in mind a pre-defined model of the edge to detect. The approach introduced by Deriche consists in a research of the optimal operator of the Canny's filter [Can86] under a infinite impusionnal response filter (RII) [Der87].

**Canny's filter :**

Considering *I*(*x*) a monodimensionnal signal representing a jump of amplitude *A*, lost in a Gaussian noise *n*(*x*) with a null average and variance *n*_{0}2.
Let
(*x*_{0}), the output at the point *x*_{0} of the convolution of the signal *I*(*x*) whit a detection operater *f* (*x*):

(*x*_{0}) = *I*(*x*)*f* (*x*_{0} - *x*) d*x*

So the issue is to find

- Good detection : The probability of not detecting a point of a real edge has to be small, same as the probabilty to detect a point which does not belong to an edge.
This criteria leads to find
*f*(*x*) so as the ratio signal-noise is maximum:= - Good localisation : The detected points which belong to an edge, have to be as close as possible of the middle of the real edge. This criteria corresponds to the minimisation of the variance 2 of the zero passages position. It is equivalent to maximize the localisation defined as the inverse of 2:
=
- No multiplicity of responses : This criteria corresponds to the limitation of the number of local maxima detected in reply of an only edge. the average distance between the local maxima, noted down
*x*_{max}is constraint to the following egality:*x*_{max}= 2

2*f* (*x*) - 2*f''*(*x*) + 2*f''''*(*x*) + = 0

which accepts the general solution :

**Deriche's filter : **

The Deriche's approach consists in the research of the optimal operator under the form of a RII filter. This approach leads to the same Canny's differential center, but limit conditions are as follow :

The variables *k* and *c* are fixed by the normalization constraint, so we have:

(*m*, *n*) = *arctg*

The suppression of the non local maxima of *A*(*m*, *n*) in the exact direction of gradient
(*m*, *n*) is then realized. So an linear interpolation is made on the gradient.
The extaction of local maxima is done in a neighbourhood of 3*3 of the gradient's norm image. The aim is to extract all the pixels coming in the form of a local maxima in the gradient's direction. We use the images coming from the precedent steps in order to obtain an approxiamtion of the gradient's direction.

**Version 1.1**

Last Modification date : Thu Nov 29 20:23:56 2001

**Author**

Yann Guyonvarc'h