Académique Documents
Professionnel Documents
Culture Documents
S ---------------------------------
Exercice 2 30 min
1
Exercice 3 30 min
On considère une image numérique en niveau de gris, dont les valeurs des pixels sont représen-
tées par une matrice carrée M de dimensions NxN.
Le but est d’appliquer le filtrage par convolution sur cette image de la façon suivante :
2
Travail demandé :
Soit le fichier texte « image.txt » contenant 36 lignes où chaque ligne contient le code hexadéci-
mal d’un pixel.
On se propose d’écrire l’algorithme d’un programme intitulé « CONVOLUTION » permettant :
• De remplir une matrice M de dimensions 6x6, ligne par ligne, par les équivalents décimaux
des nombres hexadécimaux du fichier « image.txt » à raison d’un équivalent par case.
• De remplir une matrice H de dimensions 3x3 par des entiers donnés.
• D’appliquer le produit de convolution entre M et H comme décrit précédemment.
• De transférer les équivalents hexadécimaux des nombres décimaux de la matrice M, après pro-
duit de convolution, dans un fichier « resultat.txt » à raison d’un nombre par ligne comme le
fichier « image.txt ».
Exemple :
✓ Soit le fichier « image.txt » qui contient les codes hexadécimaux suivant « 30 , 2D , 3C ,
51 , 53 ,41,3A,52,73,85,68,37,63,82,9A,93,60,25,88,A0,A3,8A,56,27,9C,9E,9D,8B, 59 ,
2A , 9A , 9A , 9C , 91 , 62 , 2D », à raison d’un code par ligne.
M [1, 1] = M [0,0]*H [0,0] + M [0,1]*H [0,1] + M [0,2]*H [0,2] + M [1,0]*H [1,0] + M [1,1]*H
[1,1] + M [1,2]*H [1,2] +M [2,0]*H [2,0] + M [2,1]*H[2,1] + M[2,2]*H[2,2] = 354 >
255 ➔ M [1, 1] = 255
M [2, 2] = M [1,1]*H [0,0] + M [1,2]*H [0,1] + M [1,3]*H [0,2] + M [2,1]*H [1,0] + M [2,2]*H
[1,1] + M [2,3]*H [1,2] +M [3,1]*H [2,0] + M[3,2]*H[2,1] + M[3,3]*H[2,2] = - 270 < 0
➔ M[2,2]=0
M [3, 2] = M [2,1]*H [0,0] + M [2,2]*H [0,1] + M [2,3]*H [0,2] + M [3,1]*H [1,0] + M [3,2]*H
[1,1] + M [3,3]*H [1,2] +M [4,1]*H [2,0] + M [4,2]*H [2,1] + M [4,3]*H [2,2] = 102
➔M [3, 2] = 102
3
✓
Matrice M après produit de convolution
0 1 2 3 4 5
0 48 45 60 81 83 65
1 58 255 176 66 0 55
2 99 170 0 0 69 37
3 136 131 102 255 0 39
4 156 64 157 0 0 42
✓ Le contenu du fichier « resultat.txt » à partir de la matrice M sera le suivant « 30, 2D, 3C,
51, 53, 41, 3A, FF, B0, 42, 0, 37, 63, AA, 0, 0, 45, 25, 88, 83, 66, FF, 0, 27, 9C, 40, 9D, 0,
0, 2A, 9A, 9A,9C, 91, 62, 2D »
Questions :
1- Ecrire un algorithme modulaire pour le problème posé
2- Ecrire les algorithmes des modules envisagés.