Vous êtes sur la page 1sur 24

Détection de contours

Définition

un contour est une variation brusque d’intensité


c’est la frontière qui sépare deux objet dans une
image

2
Définition
La détection de contours est une technique de réduction
d'information dans les images, qui consiste à transformer l'image
en un ensemble de courbes, pas forcément fermées, formant les
frontières significatives de l'image.

3
Détection de frontières

• La notion de contour étant reliée à celle de


variation ⇒ une évaluation de la variation en
chaque pixel.

• Une variation existera si le gradient est localement


maximum ou si la dérivée seconde (à définir dans
un espace bi-dimensionnel) présente un passage
par zéro.
1. Approche Gradient
2. Approche Laplacien

4
Principe de détection : filtre passe haut

• Approche gradient :
t
 ∂f ∂f 
∇f (i, j )=  (i, j), (i, j ) 
 ∂x ∂y 

• Approche laplacien :

 ∂2 f ∂ 2
f 
 
 ∂x2 (i, j) + ∂y 2 (i, j ) 
 

5
Le gradient d’une image

• En considérant l'image dans un repère


orthogonal (Oxy), le Gradient de l'image (ou
plutôt de la luminance I) en tout point ou
pixel de coordonnées (x,y) est désigné par :

 ∂I ( x, y ) ∂I ( x, y ) 
∇I ( x, y ) =  , 
 ∂x ∂y 

6
La norme du gradient

En chaque point, les approximations des gradients


horizontaux et verticaux peuvent être combinées
comme suit pour obtenir une approximation de la
norme (module) du gradient:

G = Gx + Gy ≈ Gx + Gy
2 2

7
La direction du gradient

• La direction du gradient:

8
Calcul d'un gradient
• Filtres passe-haut : (dérivation par différences
finies)
– Filtres séparables : H = H x .H y

∂f
– Exemple : f ( x + h , y ) = f ( x , y ) + h ( x , y ) + h.ε ( x , y )
∂x
∂f
f ( x − h , y ) = f ( x , y ) − h ( x , y ) + h.ε ( x , y )
∂x
on fait la différence et en déduit une estimation de fx
∂f
f ( x + h , y ) − f ( x − h , y ) ≈ 2 .h. ( x , y )
∂x
h est le pas de discrétisation, en image h=1 :
f x (i, j ) ≈ 12 ( f ( x + 1, y) − f ( x −1, y))

9
Exemple

10
Opérateurs connus

La plupart de ces opérateurs sauf Roberts lisse


l'image afin d'obtenir un meilleur résultat.
Deux opérateurs seront ici présentés:
a. l'opérateur de Roberts.
b. l'opérateur de Sobel.

11
L’opérateur Roberts
• conçu pour privilégier les contours orienté selon la
diagonale de l’image.
• centré en chaque pixel au point supérieur gauche.
• approximation de la première dérivée de l’image.

Utilisation de deux masques de


convolution représentant la dérivée
dans deux directions orthogonales.

Gx Gy

12
Exemple

13
L’opérateur Sobel

L'opérateur utilise des matrices de convolution. La


matrice (généralement de taille 3×3) subit une
convolution avec l'image pour calculer des
approximations des dérivées horizontale et
verticale.

14
Exemple

15
Opérateurs connus
• Quelques opérateurs connus : Prewitt, Kirsh,
etc…
– Prewitt
 −1 0 1  −1 −1 −1
   
hx = 3  −1 0 1
1 hy = 3  0 0 0 
1
 −1 0 1 1 1 1
   
– Kirsch :
 − 3 − 3 5  − 3 − 3 − 3
   
hx = 15  − 3 0 5 hy = 15  − 3 0 − 3
1 1
 − 3 − 3 5 5 5 5
   

• Inconvénients : 2 directions sont représentées


• Solutions : calculer les dérivées dans plusieurs
directions (0°,45°,90°,135°, etc.)
16
Opérateurs connus
– Sobel 4 directions :
 −1 0 1  − 2 −1 0 
   
h0° = 14  − 2 0 2 h45° = 4  −1
1 0 1
 −1 0 1   0 1 2
  
 −1 − 2 −1  0 1 2
   
h90° = 4  0 0 0 
1 h135° = 4  −1
1 0 1
1 2 1 − 2 −1 0 
  
– Kirsch 4 directions :
 − 3 − 3 5 −3 −3 − 3
   
h0° = 15  − 3 0 5
1 h45° = 15  − 3 0
1 5
 − 3 − 3 5 −3 5 5 
  
 − 3 − 3 − 3 −3 5 5
   
h90° = 15
1 −3 0 − 3 h135° = 15  − 3 0
1 5

5 5 5 −3 −3 − 3
  
17
Opérateurs connus

– Prewitt 4 directions :

 −1 1 1  −1 −1 1
   
h0° = 5  −1 − 2 1
1
h45° = 5  −1 − 2 1
1
 −1 1 1  1 1 1
   

 −1 −1 −1  1 1 1
   
h90° = 5  1 − 2 1 
1 h135° = 5  −1 − 2 1
1
1 1 1  −1 −1 1
   

18
Approche Laplacien
• Les points de contour sont situés aux passages par zéro du
laplacien :

∂2 f ∂2 f
∆ f (i , j ) = (i , j ) + (i , j )
∂x 2
∂y 2

• En faisant une approximation par différences finies on


trouve les masques suivants :

 0 1 0 1 1 1
   
 1 − 4 1 1 − 8 1
 0 1 0 1 1 1
   

19
Approche Laplacien

• Avantages
– proche du mécanisme de la vision humaine

• Inconvénients
– Plus grande sensibilité au bruit
– Pas d'information sur l'orientation du contour
– Effet de contours doubles
Seuillage

• Une fois le gradient calculé, il faut enchaîner la phase


de détection des pixels du contour, par recherche des
maxima de la dérivée càd par passage de zéro de la
dérivée seconde (zero-crossing)
• Le traitement permettant de sélectionner les contours
les plus significatifs dans l'image représentant le
module du gradient est le seuillage.
1- seuillage global
2- seuillage par histogramme
3- seuillage par hystérésis

22
Seuillage global

• la solution pour fixer le seuil est de procéder par


tâtonnement à partir de l'image en noir et blanc
résultante pour mettre en évidence les contours. Le
seuil correspond à une valeur réelle dans l'intervalle
[0,1]. Au préalable, il est nécessaire de normaliser
l'image du module du gradient afin que tous les pixels
se trouvent également dans l'intervalle [0, 1].
Cette méthode est très simple mais peu efficace.

23
Seuillage par histogramme

24
Seuillage par hystérésis

• Détermination des seuils sur l'amplitude :


– On fixe 2 seuils sb un seuil bas et sh un seuil haut tels que :

– si ∇f ( x, y) < sb alors (x,y) le point est rejeté;

– si ∇f ( x, y) > sh alors (x,y) est accepté comme


formant un contour;

– si sb ≤ ∇f ( x, y) ≤ sh alors l'appartenance à un
contour sera fonction du contexte (le point est accepté s'il
est connecté à un point déjà accepté. )

25

Vous aimerez peut-être aussi