- Gestion des bords lors d'une convolution
-
En traitement d'image, lors d'une opération de lissage, une convolution est appliquée sur l'ensemble (ou une partie) de l'image.
Lors de cette convolution, il faut gérer les bords. Pour être plus concret, la gestion des bords est nécessaire lorsqu'on multiplie avec un chiffre qui n'existe pas. Voilà un exemple :
[2 3 4 5 6] [1 2 3] = ? 4 9
Mettre à zéroUne solution facile est de mettre à zéro les chiffres qui nous manquent. Très facile, surtout lorsqu'il s'agit de le programmer par ordinateur. Cependant, lorsqu'il s'agit d'une image, on obtient un contour noir autour de cette image.
0[2 3 4 5 6] 0 [1 2 3] = 0 4 9
Mettre à unC'est la même chose que précédemment seulement, il suffit de mettre des 1 plutôt que des 0.
1[2 3 4 5 6] 1 [1 2 3] = 1 4 9
L'enroulementUne solution relativement facile. Il suffit d'aller chercher les données manquante à la fin. Comme si on enroulait la matrice. Exemple:
5 6 [2 3 4 5 6] [1 2 3 4 4] = 5 12 6
Le miroirIl suffit de prendre les chiffres de la façon d'un miroir. Exemple :
4 3[2 3 4 5 6] [1 2 3 4 4] = 4 6 6
P.S.: Tous ces solutions se font aussi avec des matrices 2d. De plus, les noms des méthodes peuvent changer selon la source des informations.
Notes et références
- Cours IMN259 - Analyse d'images, Université de Sherbrooke, Professeur Pierre-Marc Jodoin
Wikimedia Foundation. 2010.