|  |  |
| --- | --- |
|  | **Nulla Vicipaediae Latinae pagina huc annectitur.**Quaesumus in alias commentationes addas nexus ad hanc paginam relatos. Quo facto hanc formulam delere licet.
→ Interpretationes vernaculae |

**Detector extremi Cannyensis** anno 1986 ab Ioanne F. Canny creatus est, et algorithmum multigraduum utitur ut multos variosque extremos in imaginibus detegeret. Gravius autem Canny theoram computationalem extremos detegendi creavit quoque quae explicat quamobrem algorithmum prospere evenit.

Exstructio algorithmi Cannyensis
--------------------------------

Ratio Canny fuit algorithmum optimum extremos detegendi invenire. Algorithmus extremos detegendi "optimus" habere debet:

* *bene detegendum* – algorithmus tot extremos veros quot possibile indicare debet.
* *bene ponendum* – extremi indicati tam prope extremos in imagine quam possibile ponuisse debent.
* *minimum responsum* – extremum singularum solum indicavisse semel debet et, si possit, strepitus in imagine non fieri extremos falsos debet.

Ut his neccesitatibus satisfaceret, Canny calculum variationum usus est – qui est modus ut functionem inveniret quae functionalem esse optima fit. Functio optima in detectro Cannyensi a summatione quattuor partum exponentialum descripta est, sed a derivativo primo functionis Gaussianae accessisse potest.

Gradus algorithmi Cannyensis
----------------------------

### Deminutio strepiti

Imago originalis.
Imago post colo Gaussiano 5x5 convolvo.
Detector extremi Cannyensis colum utitur quod ex derivativo primo functionis Gaussianae extructum est quia detector est obnoxius strepito qui est in imagine cruda (id est imago originalis). Ita primum imago cruda convolvata est cum colo Gaussiano. Exitus est translatio parum caliginosa imaginis quae non est obnoxia puncto singulari strepenti.

Ecce exemplum coli Gaussiani 5x5 cum σ = 1.4:

{\displaystyle \mathbf {B} ={\frac {1}{159}}{\begin{bmatrix}2&4&5&4&2\\4&9&12&9&4\\5&12&15&12&5\\4&9&12&9&4\\2&4&5&4&2\end{bmatrix}}\*\mathbf {A} .}
A est imago cruda, et B est translatio imaginis.

### Invenire clivum nitoris

Imago binaria extremorum, colo Sobeliano cum planitie 80 convolvo. Extrema depincta sunt ut directionem extremi indicaret: flavus (90 gradus), viridis (45 gradus), caeruleus (0 gradus), et ruber (135 gradus).
Extremum in imagine in directionibus variis monstrare possit, ita algorithmus quattuor colos utitur ut extremos horizontales, verticales, et diagonales in imagine caliginosa detegeret. Colum (ut Colum Robertsianum, Prewittianum aut Sobelianum) valorem derivativi primi in directione horizontali (Gy) et verticali (Gx) dat. Ex his, clivus et directio extremi possunt inventae:

{\displaystyle \mathbf {G} ={\sqrt {{\mathbf {G} \_{x}}^{2}+{\mathbf {G} \_{y}}^{2}}}}
{\displaystyle \mathbf {\Theta } =\operatorname {arctan} \left({\mathbf {G} \_{y} \over \mathbf {G} \_{x}}\right).}
Angulus directionis ad unum ex quattuor angulos pro horizontale (0 gradus), verticale (90 gradus), et diagonale (45 et 135 gradus) concludit.

### Delere punctos nonmaximos

Eadem imago, punctis nonmaximis deletis.
Aestimatione clivorum computato, algorithmus quaerit num magnitudo clivi maximum regionis in directione clivi habet, sic:

* Si angulum concludum clivi est 0 gradus (i.e. extremum est in directione verticali), punctum esse in extremo declaratur si valor eius est maior quam valor in directione **horizontali** (i.e. maior quam valor in directione perpendiculari extremi).
* Si angulum concludum clivi est 90 gradus (i.e. extremum est in directione horizontali), punctum esse in extremo declaratur si valor eius est maior quam valor in directione **verticali**.
* Si angulum concludum clivi est 135 gradus (i.e. extremum est in directione septentrio-orientali/austro-occidentali), punctum esse in extremo declaratur si valor eius est maior quam valor in directione **septentrio-occidentali et austro-orientali**.
* Si angulum concludum clivi est 45 gradus (i.e. extremum est in directione septentrio-occidentali/austro-orientali), punctum esse in extremo declaratur si valor eius est maior quam valor in directione **septentrio-orientali et austro-occidentali**.

Hic gradus gregem punctorum extremorum in forma imaginis binariae dat. Haec grex aliquando "extremi tenues" nominatur.

### Delineare extremos cum hysterese

Eadem imago, extremis delineatis.
Clivi magni probabilius quam clivi parvi ad extremos congruent. Impossibile autem est declarare planitiem singularem quo clivus ad extremos congruent an non. Ita detector planitiem cum hysterese utitur.

Necesse est declarare duos planities: inferiorem et superiorem. Algorithmus ponit quod extremi graves esse in curvis irruptis debent ut sectiones ruptes lineae sequit et paucos punctos strepentes deleret quae extremos non significant sed tamen clivos magnos habent. Ita hic gradus planitie superiori incipit, qui res extremos verissimos indicat. Tum algorithmus hos extremos et directiones clivorum utens, planitie inferiori extremos pallidiores delineat.

Hoc facto, exitus est imago binaria et quodque punctum extremum an non indicat.

Fontes
------

* Canny, J. *A Computational Approach To Edge Detection*, IEEE Trans. Pattern Analysis and Machine Intelligence, 8(6):679–698, 1986.
* R. Deriche, *Using Canny's criteria to derive a recursively implemented optimal edge detector*, Int. J. Computer Vision, Vol. 1, pp. 167–187, April 1987.
* Lindeberg, Tony, "Edge detection and ridge detection with automatic scale selection", International Journal of Computer Vision, 30, 2, pp 117—154, 1998. (Includes the differential approach to non-maximum suppression.)
* Kimmel, Ron and Bruckstein, Alfred M. "On regularized Laplacian zero crossings and other optimal edge integrators", International Journal of Computer Vision, 53(3):225-243, 2003. (Includes the geometric variational interpretation for the Haralick-Canny edge detector.)

Nexus externi
-------------

* John Canny's home page
* On-line Canny edge detector
* Free Java implementation of Canny edge detector
* Publication List of Rachid Deriche
* Journal Publications of Ron Kimmel
* Canny edge detector implementation in ActionScript for the Flash Platform
* Canny edge detector in Mathematica