La ce folosea filtrarea liniara de netezire? LIMITARILE FILTRARII LINIARE A IMAGINILOR Reducerea efectelor zgomotului aditiv, de tip Gaussian suprapus imaginii. ZAGA : f ( l, = f0( l, + z( l, z( l, N( 0, σ ) fz = 0 filtru mediere 3 x 3 Dar daca se schimba modelul de zgomot? Zgomot impulsiv Zgomot impulsiv Valorile anumitor pixeli ai imaginii sunt inlocuite de valorile extreme ale nivelelor de gri : 0 si L-. Aparenta vizuala este de imprastiere a unor puncte negre si albe peste imagine: zgomot sare si piper (salt and pepper). 0, cu probabilitate p / f ( l, = L -, cu probabilitate p / f0( l,, cu probabilitate- p filtru mediere efect de manjire a imaginii (smearing) p = 0.05 rezultat dorit al filtrarii
Zgomot impulsiv Va trebui determinata o alta metoda de combinare a valorilor din imagine prin care sa se poata determina prezenta/ absenta impulsurilor de zgomot. Compararea valorii pixelului prelucrat cu 0/ L- NU este o solutie... FILTRAREA NELINIARA A IMAGINILOR Solutia este gasirea unei metode de combinare neliniara a valorilor din imagine. Operatori de vecinatate linia l V coloana c imagine initiala f g ( l,c ) = T linia l T ( f ( ) V ( l,c ) coloana c imagine prelucrata g Noua valoare a oricarui pixel din imaginea prelucrata rezulta din combinarea unui numar oarecare de valori ale pixelilor din imaginea initiala, situati in vecinatatea pixelului curent prelucrat. Operatori de vecinatate g ( l,c ) = T ( f ( ) V ( l,c ) Definirea transformarii implica specificarea: vecinatatii pixelului curent prelucrat, V (l, functiei de combinare a valorilor extrase din imagine, T Functii de combinare (transformari) liniare neliniare intrinsec neliniare neliniare ca efect al adaptarii Operatia de vecinatate poate fi scrisa deci ca: ( ( ) ( ) ( )) g ( l, = T f l + m, c + n, f l + m, c + n,..., f l + m, c + n
Echivalent: Fereastra glisanta Vecinatatea folosita este o fereastra (deschidere) intr-un suport opac plasat in fata imaginii; din imagine nu se vede dacat portiunea ce corespunde ferestrei plasate in pozitia curenta. Fereastra este glisata ( plimbata ) peste intreaga imagine, punct cu punct. imagine initiala imagine prelucrata Filtrarea neliniara Orice filtru neliniar este deci definit de: vecinatatea folosita, V functia [neliniara] de combinare a valorilor Ce fel de functii neliniare se pot aplica? min, max, log, exp, putere,... altele? Tipuri de filtre neliniare Corespund celor doua tipuri de efecte esentiale dorite: cresterea uniformitatii in interiorul regiunilor cresterea contrastului pe frontierele regiunilor netezire contrastare Filtrare neliniare de Este a neliniara? Da, principiul superpozitiei nu este respectat. T ( α f + βg) αt ( f ) + βt ( g) Ex: Fie α, β = f = (,,3) g = (,3,) f+g = (3,4,5) si T operatorul de T(f) = (,,3) T(g) = (,,3) T(f)+T(g) = (,4,6) T(f+g) = (3,4,5) Cum ar folosi a pentru a elimina impulsurile de zgomot? Impulsurile de zgomot au valori extreme (0 sau L-); tot ceea ce trebuie facut este alegerea unor valori cat mai departate de aceste extreme. Filtrare neliniare de Exemplu: 00 55 0 0 57 8 45 0 45 O valoare corecta trebuie sa fie situata cat mai departe de capetele afectate de zgomot. crescatoare 0, 0, 00, 0, 8, 45, 45, 57, 55 impuls de zgomot impulsurile de zgomot sunt la capetele sirului de valori ordonate 3
Filtrare neliniare de Valorile selectate de fereastra de filtrare sunt x, x,..., x. x x Dupa avem: ( ) ()... ( ) x (i) este statistica de ordine de ordin i x () este valoarea minima x () este valoarea maxima {x (i) } sunt aceleasi valori ca si {x i }, dar in alta ordine. x Filtrul Valoarea de iesire a filtrului este valoare situata in centrul secventei ordonate statistica a. x, daca impar + Iesirea filtrului este: y = x + x, daca par + Ex. =5 (+) / = 3 x () x () x (3) x (4) x (5) Ex. =3 (+) / = x () x () x (3) Ex. =4 x () x () x (3) x (4) (+) / =,5? Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 0 3 3 3 3 0 3 3 3 3 0, 0, 0, 0, 0 0,, 0,, 0 0 4
Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 0 3 3 3 3 0 3 3 3 3,, 3,, 3, 3,,, 3 0 0 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 0 3 3 3 3 0 3 3 3 3 3,, 3, 3, 3 3, 3,,, 3 0 3 0 3 5
Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 0 3 3 3 3 0 3 3 3 3 3,, 3, 3, 3 3, 3, 3, 3, 3 3 0 3 3 0 3 3 3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 0 3 3 3 3, 3, 3, 3, 3 3 0 3 3 3 3 3,,,, 3 0 3 3 3 3 0 3 3 3 3 6
Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 Filtrul Ex. de aplicare in cazul -D, cu fereastra centrata de lungime =3 0 3 3 3 3,,,, 0 3 3 3 3,, 0 0,, 0 3 3 3 3 0 3 3 3 3 Filtrul Filtrul : Proprietati NU este un filtru liniar! Elimina zgomotul impulsiv de tip sare si piper. Comuta cu orice functie monotona aplicata valorilor prelucrate: { g x ), g ( x ),..., g ( x )} g ( { x, x,..., }) ( = x semnal filtrat semnal initial inlaturarea tranzitiilor abrupte (de zgomot) pastrarea tranzitiilor legitime Admite semnale radacina (semnale ce nu sunt modificate prin filtrare): semnalele radacina ale unui filtru de lungime sunt secvente monotone de lungime cel putin. Portiunile monotone din semnal nu sunt modificate (platouri constante, tranzitii suficient de lungi). Semnalele radacina se obtin prin filtrarea repetata a unor semnale initiale oarecari. 7
Filtrul : Proprietati Strapungerea filtrului (un impuls de zgomot din fereastra de filtrare se regaseste la iesirea filtrului): statisticile de ordine x () x () (-)/ valori... x ((+)/) x (-) x ()... (-)/ valori Impulsurile de zgomot, de valoare 0 sau L-, se regasesc la capetele secventei de statistici de ordine. Cand este statistica centrala (a) un impuls de zgomot? Cel putin (+)/ impulsuri de zgomot de acelasi fel Filtrul : Proprietati Valoarea de iesire a filtrului de lungime impara este intotdeauna o valoare existenta in semnalul initial. (spre deosebire de filtrarea liniara, unde combinatia liniara ponderata producea valori noi). Continutul (valorile) semnalului nu se modifica 3 x 3 Extinderi ale filtrului. Filtrul separabil + + D.p.d.v matematic, rezultatele nu sunt identice. Prelucrarea bidimensionala este inlocuita cu doua prelucrari succesive D, dupa directii perpendiculare. Extinderi ale filtrului. Filtre de ordine (rank-order filters) { x x,..., x } = x, j rank j, ( j ) =,..., Iesirea filtrului de ordine de ordin j este statistica de ordine de ordin j a setului de valori selectate din semnalul de intrare. In particular, pentru j= avem filtrul de minim, pentru j= avem filtrul de maxim, pentru j=(+)/ avem filtrul. Rangul j este un factor de reglaj suplimentar. 8
Extinderi ale filtrului 3. Filtre de ordine multietaj Succesiune de filtre de ordine de diferite ranguri min/ max pixel curent Extinderi ale filtrului 4. Filtre de ordine ponderate Scop ponderare: marirea importantei relative a unei valori extrase dintr-o anumita pozitie a ferestrei de filtrare (vecinatate) fata de restul valorilor extrase. Ponderarea nu se poate face prin inmultire cu scalari, ca in cazul liniar. Ponderare = repetare valori Coeficientul w i atasat unei pozitii din fereastra de filtrare semnifica faptul ca valoarea extrasa din acea pozitie este repetata de w i ori inainte de. { x i w i } Extinderi ale filtrului 4. Filtre de ordine ponderate: exemplu masca de ponderare zona curent prelucrata in imagine W = 3 W = 4 3 3 3 5 Construire set valori extrase (multiset) 3 3 3 4 3 3 5 Fara ponderare: Construire set ordonat de valori 3 3 3 4 5 3 3 3 3 3 4 5 Extinderi ale filtrului 4. Filtre de ordine ponderate Evident, ponderile wi sunt numere naturale Fara ponderare inseamna w i = w i N Dupa ponderare numarul de valori de ordonat devine w i i= Filtru de ordine central ponderat: toate ponderile sunt unitare, cu exceptia ponderii asociate originii ferestrei de filtrare (ce corespunde pixelului curent prelucrat in imagine). 9
Mai general : L-filtre Un L-filtru este o combinatie liniara ponderata a statisticilor de ordine corespunzand valorilor extrase din imagine. L filt Particularizari: { x, x,..., x } = i= w x i ( i) filtru de ordine de rang j :, i = j wi = = δ ij 0, i j filtru de mediere aritmetica: w i =... altele... dar cu ce scop? Mai general : L-filtre Tipuri de L-filtre: netezire : reducerea zgomotului suprapus imaginii accentuare/ conturare/ derivare : subliniere tranzitii Conditiile de normare corespunzatoare tipurilor de filtre sunt similare filtrelor liniare: netezire: derivare: w i i= w i i= = = 0 L-filtre de netezire: adaptare la distributia zgomotului Zgomot Impulsiv Gaussian, aditiv Impulsiv + Gaussian Uniform Impulsiv + uniform Filtru Median Mediere Medie α- reglabila Mijloc Cvasi-mijloc w + = w i w i = = (- α ) w = w = 0.5 = j w j w, i [ α +, α] 0, in rest = 0.5 L-filtre de derivare: exemplu w = w = L filt = max min 0
Filtre de de domeniu LUM Lower, Upper, Middle filters Filtru LUM de netezire x(, x < x( LUM j = (, x > x( x e valoarea pixelului curent Filtru LUM de conturare x LUM j e valoarea pixelului curent + j =,..., x x, in rest x + ( x( x(, x( < x < x( + x( = x(, < x < x( x, in rest + j =,..., Filtre de de domeniu =9 (3 x 3) accentuare, j=3 accentuare, j=5 (efect maxim) netezire, j=3 netezire, j=5 () Aspecte de implementare Specific: algoritmul de a valorilor extrase din imagine Cat de mult conteaza viteza de? IFIA: functia de densitatea de probabilitate a statisticilor de ordine filtre stiva si principiul stivei