Vous êtes sur la page 1sur 5

TP Traitement dimages

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

1. Introduction au filtrage linaire


'n (iltre linaire est caractris par un produit de convolution entre le si)nal d%entre et de sortie du (iltre* +e produit P est (onction d%un mas ue de convolution compos d%un ensem#le de coe((icients Cij avec i=i0, i1.. ik et j=j0, j1.. jk tel ue :
P ( I ( x, , y, )) = Cij *I ( x, + i, y, + j )
i, j

-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*

Filtrage linaire appliqu

la dtection de contour

L%anal"se des contours consiste ! se)menter l%ima)e par dtection de (rontiBres*


Intensit Point de !ontour #=8 #

+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 -ans le cas d%un )radient vertical 8aut #as :

I ( x , , y , ) I ( x , , y , + 0) I ( x , , y , 0) Foit le mas ue discret de convolution suivant : y 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<

2avo 3ass" 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)*

". Filtrage linaire appliqu au pr#traitement dimage


'ne des applications du (iltra)e linaire est le pr$traitement des ima)es* Question : 3isualiser les ? )auss4*#mp @ et ? impuls4*#mp @, rappeler les d(initions des #ruits impulsionnel et )aussien* A l%aide des (onctions ? filter2! fspecial @, tester et commenter l%action des (iltres Davera)e% et Duns8arp% sur ces ima)es* Rappeler les d(initions de ces deu4 (iltres*

$. %tecteur de points dintr&t


Les dtecteurs de points d%intr&t ont pour #ut de localiser des Eones remar ua#les sur une ima)e* Il en e4iste plusieurs t"pes (2oravec, Laudet, Marris$Ftep8en, FoNOa, etc*)* Nous vous proposons dans cette section d%tudier en particulier le dtecteur de points d%intr&t de 2oravec* L%ide du dtecteur de 2oravec est de considrer le voisina)e d%un pi4el (la (en&tre ./.) et de dterminer les c8an)ements mo"ens de l%intensit dans le voisina)e considr lors ue la (en&tre se dplace dans diverses directions* +onsidrons par e4emple le cas d%une (en&tre et d%un c8an)ement de direction ("x < 0, "y < 0) de cette (en&tre :

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

'1( # "x ,"y ( x, y ) = oK :

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*

Vous aimerez peut-être aussi