Académique Documents
Professionnel Documents
Culture Documents
FILTRAGE LINEAIRE
Sujets abords : produit de convolution (mise en uvre et ralisation), convolution appli ue ! la dtection de contours, t"pe de #ruit et pr$traitement, dtecteurs de points d%intr&t
-ans le cas d%un mas ue ./. appli u sur un #loc ima)e, les oprations e((ectues sont les suivantes (ces mas ues sont appli us ! toute l%ima)e par #ala"a)e): 2as ue ./. : a#c de( )8i 3oisina)e ./. d%un pi4el : )0 )1 ). )5 )6 )7 )9 ): );
+onvolution o#tenue : )s < a*)0=#*)1=c*).=d*)5=e*)6=(*)7=)*)9=8*):=i*); Remar ue : Les convolutions peuvent &tre e((ectues avec des mas ues d%ordres di((rents, ./., 0/., ./0, >> n/m* 2ais il est possi#le de de(inir tout les mas ue de dimensions in(erieurs ou e)ales ! n/m avec un mas ue n/m, par e4emple : 2as ue 0/. : 2as ue ./. correspondant : 0,0 , , , 2as ue 6/6 correspondant : , , , , , 0,0 ,,,,, ,,, ,0,0, ,,,,, ,,,,,
Question : Faites la mise en uvre d%un produit de convolution entre 1 matrices ! l%aide des ima)es (ournies, et des (onctions 2atla# ? conv2 @ et ? filter2 @* An utilisera en premiBre application un (iltre mo"enneur ./. : 0C; 0C; 0C; 0C; 0C; 0C; 0C; 0C; 0C;
Remar ue : la (onction ? conv2 @ ne supporte pas les coe((icients n)ati(s dans le mas ue de convolution* Il est ncessaire de prendre le n)ati( de l%ima)e rsultat* -e plus il (aut la paramtrer en Dsame% a(in de conserver l%)alit dimensionnelle entre la matrice de dpart et la matrice rsultat* Question :
Raliser votre propre al)orit8me de convolution, par mas ue ./., a(in de vri(ier son (onctionnement comparer ses rsultats avec les rsultats o#tenus par les (onctions ? (ilter1, conv1 @*
1*
la dtection de contour
+ette dtection s%apparente ! une drivation, aussi parle t$on de (iltra)e drivati(* Le #ut est d%o#tenir l%ima)e )radient de l%ima)e initiale* Le contour sur l%ima)e )radient possBde deu4 composantes :
M ( x, , y, ) = I ( x , , y , ) 1 I ( x , , y , ) 1 + x y
2odule du contour
I ( x , y ) , , x D ( x, , y , ) = arctg I ( x, , y , ) y
-irection du contour
'n )radient nul correspond donc ! une Eone 8omo)Bne alors u%un )radient non nul correspond ! : 'ne li)ne de contour si la #ande est asseE troite 'ne r)ion te4ture ou d)rade si la r)ion est tendue -ans le cas d%un )radient 8oriEontal )auc8e droite :
I ( x , , y , ) I ( x , + 0, y , ) I ( x , 0, y , ) Foit le mas ue discret de convolution suivant : x 1
$0 , 0 Question :
A l%aide de la (onction ? filter2 @, (aites la mise en uvre des mas ues 0/. et ./0 suivants, tester les sur l%ima)e (couloir*#mp), commenter l%in(luence de ces (iltres en (onction de la direction des contours sur l%ima)e : $0 , 0 $0 , 0 Question : Appli uer les mas ues suivants (vous pouveE e)alement vous aider de la (onction ? fspecial @), commenter : Fo#el en G : G0 < $0 , 0 $1 , 1 , , , , , , , , , 0 , $0 $0 , 0 0 1 0 0 , , 0 0 0 0 0 , 0 G1 < , $0 0 G1 < 1 0 , G1 < , 0 0 G1 < , $0 G1< 0 0 , 1 , $1 , , , , , , 0 , $0 0 , $0 0 , $0 $0 $1 $0 $0 , , 0 , $0 , $0 $0 0 , $0 0 , $0
Fo#el en H :
$0 G0 < $1 $0 G0< , , $0 $0 $0 $0 , $0 $0
Ro#ert
IreJitt
G0<
Question : 3ri(ier la relation suivante avec des mas ues ./0 et 0/., commenter : M1*(I*M2 = (M1x M2 *I I est l%ima)e, 20 et 21 sont deu4 mas ues, (/) reprsente le produit de convolution, (4) la multiplication entre deu4 mas ues* 3ri(ier cette relation avec une partie des (iltres prcdents* An rappelle ue dans le cas oK on a un mas ue 20 (./0) et un mas ue 21 (0/.), 204 21 donne un mas ue ./. et 21 4 20 donne un scalaire (mas ue 0/0)*
0 6 ; 0.
1 7 0, 05
. 9 00 06
5 : 01 07
Iour le pi4el (p<7) de cette (en&tre, le dtecteur de 2oravec a pour #ut de calculer la somme des carrs des di((rences (0$7), (1$9), (.$:), (6$0,), (7$00), (9$01), (;$05), (0,$06), et (00$07)* Ilus prcisment, on considBre la (onction '1( suivante :
n n
i = n j = n
(I ( x + i, y + j ) I ( x + i + "x, y + j + "y))
(2 x n $1 spci(ie la taille de la (en&tre considre, et i, j les varia#les de parcours I(x!y est l%intensit au pi4el (x!y #"x!"y(x!y reprsente la mo"enne du c8an)ement d%intensit lors ue la (en&tre est dplace de ("x! "y par rapport ! (x!y *
En appli uant cette (onction dans les trois situations principales de la (i)ure ci$dessous, on o#tient : 0* L%intensit est appro4imativement constante dans la Eone ima)e considre : la (onction prendra alors de (ai#les valeurs dans toutes les directions ("x!"y * 1* La Eone ima)e considre contient un contour rectili)ne : la (onction prendra alors de (ai#les valeurs pour des dplacements ("x!"y le lon) du contour et de (ortes valeurs pour des dplacements perpendiculaires au contour* .* La Eone ima)e considre contient un coin ou un point isol : la (onction # prendra de (ortes valeurs dans toutes les directions*
Les di((rentes situations considres par le dtecteur de 2oravec Question : Implmenter une (onction 2atla# pour la mise en uvre du dtecteur de 2oravec* +ette (onction prendra en ar)uments l%ima)e, et les paramBtres "x et "y* Elle implmentera la (onction '1( donne prcdemment* Elle retournera deu4 vecteurs xi et yi contenant les coordonnes des points d%intr&t de m&me valeur dans la matrice #* 3ous pouveE utiliser les (onctions %ax et fin" de 2atla# pour trouver ces vecteurs de points d%intr&t* Question : Tester votre (onction sur les deu4 ima)es suivantes avec les ar)uments ( "x, "y) : (0P ,) et (0, 0)* A(in de visualiser les rsultats, serveE vous des instructions i%s&o', &ol" on, et plot de 2atla#, sur votre ima)e et les vecteurs xi et yi des points d%intr&t* +ommenter les rsultats*
Question : 2ettre en uvre le dtecteur de 2oravec depuis un pro)ramme principal ou vous calculereE l%ensem#le des points d%intr&t en (onction des 8uit orientations ("xP "y)* 3ous pourreE vous servir de l%instruction &ol" on pour superposer les rsultats de vos 8uit directions* +ommenter les re)roupements de points d%intr&t sur les ima)es )rQce au calcul en 8uit directions*