Curs 2
TEHNICI DE ÎMBUNĂTĂȚIRE A IMAGINILOR
- Filtrarea are ca scop eliminarea zgomotului suprapus imaginii.
- Din punctul de vedere al metodelor utilizate, putem distinge
mai multe tipuri de operatii de îmbunatatire:
• operatii punctuale, prin care se realizeaza o corespondenta
de tip “unu la unu” întrevechea valoare a nivelului de gri si
noua valoare a acestuia, pentru fiecare pixel al imaginii. Tot în
acesta categorie vom include si operatiile de pseudocolorare,
care se refera la afisarea imaginii folosind o paleta de culoare
modificata.
• operatii locale sau punctuale(sau de vecinatate), prin care
noua valoare a nivelului de gri într-un pixel este obtinuta din
vechea valoare a pixelului repectiv si din valorile unor pixeli
vecini pixelului considerat.
• operatii integrale, în care noua valoare a unui pixel este
dependenta de valorile tuturor pixelilor imaginii
- Prin îmbunatatire, unei imagini nu i se adauga nici o
informatie noua fata de cea ce exista initial (deci nu se adauga
nimic imaginii)
- Operatiile punctuale de modificare a contrastului (numite si
transformari ale nivelului de gri) sunt asocieri (mapping, în
engleza) ce leaga nivelul de gri original de noua sa valoare. O
asemenea asociere nu este altceva decât o functie:
v = T(u), u ∈ [0; L − 1]
Condiții:
1) 0 ≤ T(u) ≤ L − 1, ∀u ∈ [0; L − 1]
2) transformarea T sa fie monotona (crescatoare sau
descrescatoare) pentru a pastra ordinea între nivelele de gri
Cazuri particulare:
1. binarizare = prăguire (”thresholding”) – imaginea este formată
din alb și negru și toate nivelele de gri a căror valoare e mai
mică decât T1 fiind negre și toate nivelele de gri inițiale mai
mari ca T1 devenind albe.
T1=T2, alfa=0, beta=L-1
2. Întinderea maximă a contrastului (”contrast stretching”).
Nivelele de gri care se găsesc în afara intervalului [T1;T2] vor fi
înlocuite fie cu alb fie cu negru.
alfa=0, beta=L-1
- Principalul dezavantaj al tehnicii liniare pe portiuni prezentate
este faptul ca modificarea contrastului este aceeasi pe un întreg
interval de nivele de gri, si nu este posibila o modificare
neuniforma a contrastului pe întregul interval de nivele de gri sau
în jurul unui anume nivel de gri.
- Tehnicile neliniare au aceste proprietati de mai sus.
prima varianta este compandarea domeniului, definita de o
curba logaritmica si
Contrastul va varia neuniform de-a lungul scalei de gri, marindu-se
la capatul inferior (negru) si micsorându-se la capatul superior
(alb).
A doua variantă este expandarea domeniului definită ca
transformarea inversă a celei de compandare.
- Contrastul va varia neuniform de-a lungul scalei de gri,
marindu-se la cap ˘ atul supe- ˘ rior (alb) ¸si mic¸sorându-se la
capatul inferior (negru).
- A treia variantă este adăugarea unui punct fix (T,T).
În cadrul operatiilor punctuale de îmbunatatire a imaginilor sunt
prezentate si operatii aritmetice simple, ca de exemplu
negativarea. Negativarea este descrisa de:
v = T(u) = L − 1 – u
- Clipping = transformare de lipire, care păstrează nemodificate
nivelele de gri dintr-un anumit interval și le anulează pe
celelalte. (fondul e negru)
- -Slicing = transformare de tăiere, care transformă nivelele de
gri dintr-un interval fixat în alb și restul în negru. Este un alt tip
de binarizare.
- Pseudocolorarea este o tehnica de îmbunatatire a vizibilitatii
anumitor componente ale imaginii (sau a imaginii în
ansamblu) prin modificarea paletei de culoare cu care
imaginea este afisata (reprezentata).
”For” modifică paleta de culoare pentru fiecare index de
intrare.
Pseudocolorarea are scopul de a pune în evidență zone
de interes din imagini cu nivele de gri.
False coloring => o variantă a pseudocolorării care
transformă o imagine color într-o altă imagine color, dar
cu contrast mult mai pronunțat și artificial.
- Histograma unei imagini înseamnă parcurgerea punct cu punct
a imaginii și contorizarea numărului de nivele de gri întâlnite.
„Find” returnează pozițiile (indicii) la care este găsită
valoarea „i” în matricea imagine.
Egalizarea histogramei reprezintă redistribuirea nivelelor
de gri astfel ca acestea să ocupe în mod uniform întreaga
gamă de variație disponibilă; obținerea unei distribuții
uniforme a nivelelor de gri.
Efect secundar al egalizării histogramei este
introducerea de nivele de gri lipsă în histograma
egalizată (aspect de „pieptene”).
Specificare de histogramă este realizarea unei histograme de
formă impusă a imaginii rezultate.
Egalizarea histogramei poate să fie atât o operație punctuală
(adică modificarea paletei de culoare a imaginii), cât și o
operație integrală (noile valori de gri ale fiecărui punct sunt
calculate pe baza histogramei imaginii, deci întreaga imagine).
LABORATOR
TEMA 1 IMBUNATATIREA IMAGINII PRIN TRANSFORMARI PUNCTUALE
%ENHANCE Realizeaza imbunatatirea imaginii prin transformari punctuale
%
% [OUT,TRANSFORM,MAP] = ENHANCE(IN,TIP,PARAM,L);
% [out,transform,map] = enhance(in,tip,param,l);
% Semnificatia parametrilor de intrare este:
% IN este imaginea de intrare, avand L nivele de gri (implicit 256)
% TIP este tipul de transformare, care poate fi:
%'liniar' : modificarea liniara a contrastului, cu segmente de dreapta
%PARAM este matricea parametrilor ce sunt necesari anumitor transformari:
%PARAM = [a b Fa Fb] daca TIP este 'liniar' <=> [T1 T2 alpha beta]
% (T1, alpha) si (T2, beta) reprezinta coordonatele punctelor in care se racordeaza
cele 3 forme de functii de
% ………………FRAGMENTUL DE COD CARE ARATA ASOCIAREA CORECTA CU
PARAMETRII FORMALI
% a=alti_par(1); %T1
% b=alti_par(2); %T2
% Fa=alti_par(3); %alpha
% Fb=alti_par(4); %beta
%gradul intai care definesc analitic functia de transformare a nivelelor de gri v=T(u)
%Semnificatia parametrilor de iesire este:
% OUT este imaginea de iesire
% TRANSFORM este vectorul transformarii nivelelor de gri
% MAP este noua tabela de culoare
INTREBǍRI:
1. Care sunt valorile vectorului PARAM pentru a se obţine binarizarea imaginii cu
pragul 150.
PARAM este matricea parametrilor ce sunt necesari anumitor transformări.
BINARIZAREA = parte importantă din segmentarea imaginii, prin care se dorește
izolarea unor obiecte față de fundal.
BINARIZAREA se realizează în următoarele situații:
Dacă se dorește eliminarea detaliilor inutile dintr-o imagine.
Pentru a scoate în evidență anumite detalii ascunse.
Când se dorește eliminarea fundalului pentru un desen/text.
BINARIZARE = prăguire = „thresholding”
T1 = T2, alfa = 0, beta = L-1
PARAM_enhance: ((150=T1, 150=T2, 0=alfa, 255=beta), 256)
2. Care sunt valorile vectorului PARAM pentru a se obţine întinderea maximă a
contrastului („contrast streching”).
CONTRAST STRETCHING = nivelele de gri care se găsesc în afara intervalului [T1,
T2] sunt înlocuite fie cu alb, fie cu negru.
0........................................................256
Negru Nivele de gri Alb
alfa = 0, beta = L-1
PARAM_enhance: ((50=T1, 250=T2, 0=alfa, 255=beta), 256)
3. Care sunt valorile vectorului PARAM pentru a se obţine negativul imaginii
iniţiale.
NEGATIVUL = inversul „contrast stretching”
IMAGINE NEGATIVATĂ = inversarea contrastului
Exemplu: imagini medicale: angiografie, radiografii
PARAM_enhance: ((255=T1, 0=T2, 220=alfa, 30=beta), 256)
4. Funcțiile de transformare neliniară a contrastului logaritmică și exponențială
Îndeplinesc cele 2 condiții necesare pentru definirea oricărei funcții de
modificare punctuală a contrastului imaginii?
1. Transformarea T să păstreze gama admisibilă de valori ale imaginii (dacă nivelele
de gri au fost reprezentate pe L nivele de cuantizare, at.
0 ≤ T(u) ≤ L − 1, ∀u ∈ [0; L − 1]
2. transformarea T sa fie monotona (crescatoare sau descrescatoare) pentru a pastra
ordinea între nivelele de gri
Răspuns: Da, pentru T(alfa)=0; cu alfa=0 și
T(beta)=0; cu beta=L-1
Funcția logaritmică este inversa funcției exponențiale și ambele funcții exponențiale și logaritmice
sunt monotone (crescătoare sau descrescătoare).
5. Funcțiile de transformare neliniară a contrastului de tip polinomial (putere),
precum și funcția putere cu un punct fix.
Îndeplinesc cele 2 condiții necesare pentru definirea oricărei funcții de
modificare punctuală a contrastului imaginii?
1. Transformarea T să păstreze gama admisibilă de valori ale imaginii (dacă nivelele
de gri au fost reprezentate pe L nivele de cuantizare, at.
0 ≤ T(u) ≤ L − 1, ∀u ∈ [0; L − 1]
2. transformarea T sa fie monotona (crescatoare sau descrescatoare) pentru a pastra
ordinea între nivelele de gri
Răspuns: Da. Dacă u ∈ [0; L − 1], sunt îndeplinite ambele condiții dacă r≥1
6. Îmbunătățirea contrasului bazată pe metoda egalizării histogramei de nivele de
gri face parte din operațiile punctuale sau din operațiile integrale de îmbunătățire
a imaginilor?
Răspuns: Ambele: și operații punctuale și operații integrale
• operatii locale sau punctuale(sau de vecinatate), prin care noua valoare a nivelului de gri
într-un pixel este obtinuta din vechea valoare a pixelului respectiv si din valorile unor pixeli
vecini pixelului considerat; se observă că, cu cât sunt acumulate mai multe nivele de gri, cu
atât valorile histogramei sunt mai diferențiabile
• operatii integrale, în care noua valoare a unui pixel este dependenta de valorile tuturor
pixelilor imaginii; scopul egalizării histogramei este obținerea unei distribuții uniforme a
nivelelor de gri.
7. Histograma cumulativă a nivelelor de gri H(x) are valori subunitare (H(x)<1) sau
supraunitare (H(x)>=1)?
Răspuns:
Histograma cumulativă: H(x) reprezintă numărul de pixeli din imagine care au niveluri
de gri.
Deci, H(x) < 1 (subunitară): 0+....+255=1, dacă x=L-1
8. Care este valoarea lui H(L-1)?
Răspuns:
Pornim de la faptul că : unde H(x) = histograma cumulativă,
h = histograma imaginii,
x = nivelul de gri,
i = nivelul de gri (de la 1 la 256)
Din definiție: H(0)=h(0)
Și 0,5 = coeficient de corecție
MN = 480000 (dimensiunea matricii)
M=800
N=600
L-1=nivelul maxim de gri=255
Deci, H(L-1)=1
9. Să se demonstreze formula / expresia de recurență următoare:
H(x)=H(x-1)+h(x)
Pe baza căreia se poate calcula iterativ histograma cumulativă a oricărui nivel de
gri.
Răspuns: Știm că
, fol. Inducție matematică.
1. Verificare H(0)=h(0) (adevărat prin definiție)
2. Demonstrare: Pp. H(x)=adevărat și demonstrăm H(x+1)=adevărat. (foaie)
*) În „for” pentru in și out (enhance l.16) (contrast stretching și egalizarea histogramei)
Ciclul „for” se repetă de 256 ori.
Cardinalul este de la 0 la 255.
Curs 4
Operații geometrice
- Transformările geometrice sunt o clasă de operații ce modifică
structura de vecinătate (spațială) a imaginilor.
- Transformările geometrice permite deplasarea pixelilor din
imagine, astfel încât orice pixel al imaginii inițiale să poată fi
transformat în orice pixel al imaginii finale.
- Translația înseamnă deplasarea în plan a conținutului imaginii,
adică schimbarea originii sistemului de coordonate.
- Scalarea = stretching este o întindere sau comprimare a
imaginii pe una sau ambele axe și nu păstrează distanțele între
perechi de pixeli.
Scalarea este pe orizontală (alfa) și pe verticală (beta).
Dacă alfa = beta, scalare sau imagine omogenă.
Dacă alfa, beta > 1, are loc stretching (expandare).
Dacă alfa și beta < 1, are loc micșorare (comprimare).
Dacă alfa = beta = 1, nu se întâmplă nimic.
Dacă alfa > 1 și beta < 1, are loc întindere pe orizontală.
Dacă alfa < 1 și beta > 1, are loc alungire pe verticală.
- Înclinarea imaginii = sharing
*) În cod: Translația este în a 3-a coloană.
Rotația este +- pi/2.
Geometrical matrix are rolul de a genera matricea cu care se
operează.
Ge_transform face înmulțirea pixel cu pixel (l.10).
Alfa = scalare pe orizontală
Beta = scalare pe verticală
Unghiul = rotație în grade
a11, a12 se obțin din scalare sau rotație.
Tehnici de implementare:
1. Redistribuirea pixelilor = tehnică de transport a pixelilor (se
numește „pixel carry-over”). Există neșansa ca anumiți pixeli să
nu fie aprinși!
2. Umplerea pixelilor se numește „pixel filling”. Fiecare nivel de
gri se aprinde cu tehnica pixel filling prin găsirea unei
transformări inverse 𝑇 −1 = coordonata pixelului care trebuie
aprins. Intensitatea pixelilor o găsim prin aplicarea pixelilor
𝑇 −1 .
Care sunt parametrii pentru a obține cu 90 grade, cu fața în sus
(270 grade=180+90)?
În cod: Scalare (1, 1, 180, 0)
Oglindirea față de ox (1, -1, 0, 0)
Oglindirea față de oy (-1, 1, 0, 0) (l.11)
Curs 5
Filtrarea liniară a imaginilor
Operația de filtrare liniară calculează noua valoare a unui pixel al
imaginii (din poziția MN – matrice).
m, n=indici absoluți (matrici)
k, l=indici relativ în fereastră
f=funcție – arată nivelul de gri al fiecărui pixel => f nivele de gri.
- Tehnica ferestrei glisante = deplasarea măștii (a ferestrei de
filtrare = nucleu de filtrare)
- Algoritmul ferestrei glisante = operație de convoluție
bidimensională între imagine și masca de filtrare = nucleu de
convoluție
- Exemplu fereastră=(3x3)=9, 8 de vecini, coef. de
mediere=1/(m*n)=1/9
Fereastră=(5x5)=25, 24 de vecini, coef. de mediere=
1/25
Fereastră=(7x7)=49, 48 de vecini, coef. de
mediere=1/49
Î: Cum trebuie să fie măsurile înainte de filtrare pentru a se
considera că a crescut (îmbunătățit) calitatea imaginii?
R: După prelucrare, măsurile înainte de filtrare trebuie să fie
crescătoare (tind la infinit= 1/0 => infinit)
- Filtrarea de mediere = efect de încețoșare a imaginii
- „Salt and pepper” = zgomot (noise) absolut
- SNR (Signal to Noise Ratio) = semnalul util față de zgomot. Cu
cât SNR e mai mare, vom avea o imagine mai bună = raportul
semnal zgomot.
- SNR este ceva/0 => infinit
- PSNR (Peak Signal to Noise Ratio) = raportul semnal de vârf
(de zgomot)
- PSNR este ceva/0 => infinit
- SNR, PSNR ne indică ce s-a întâmplat cu imaginea (cât s-a
deteriorat față de imaginea inițială)
- MSE (Mean Squared Error) = eroarea pătratică medie
- MSE = 0 (erorile trebuie să fie cât mai mici)
- MAE (Mean Absolute Error) = eroarea absolută medie
- MAE = 0 (erorile trebuie să fie cât mai mici)
- f = imaginea originală curată (nezgomotoasă)
- g = imaginea deteriorată
- Numărător = suma pătratelor nivelelor de gri
- Numitor = suma pătratelor diferențelor în fiecare punct din
imagine
- SNR < PSNR (MN = numitor de normare = max.)
- Efectul de netezire = apropierea valorilor dintre suprafețe
, coeficientul din fereastra de filtrare
*) Numărul ferestrelor trebuie să fie de număr impar.
(3x3)=9, coef. de mediere = 1/9
..
..
- Filtrarea de contrastare = întărirea contururilor cu diferite
nivele de gri
- Operatorul Laplacian = operații liniare care pot fi
implementare printr-o filtrare liniară.
- Operatorul Laplacian = derivata parțială de ordinul 2 după x +
derivata parțială de ordinul 2 după y.
- La ieșirea filtrului trebuie să obținem 0, adică
- , pentru că derivata f a unei funcții constante
este 0. Deci, suma coeficienților din fereastra de filtrare este
0.
- Astfel, obținem:
o imagine deteriorată cu zgomot gaussian
o imagine deteriorată cu zgomot impulsiv (de
tip „salt and pepper”) – aici se aplică filtrarea
neliniară
- Filtrarea adaptativă
urmărește optimizarea unor măsuri de calitate;
minimizarea erorii pătratice medii.
Îmbunătățirea imaginii atunci când se
minimează valorile pătratice medii și când
maximizează SNR și PSNR.
o Adaptarea se face prin:
Modificarea formei ferestrei de filtrare.
Modificarea coeficientului ferestrei de filtrare.
(ex.: 1/9 să nu rămână peste tot – (3x3))
(1/25 să nu rămână peste tot – (5x5))
(sigma 𝑧 2 =puterea sau varianța zgomotului)
-
Î: Care este instructiunea de filtrare lineara de mediere cu nucleu de filtrare de
ordinul 5?
R: out=linfilt(zg,ones(5)/25,1)
Î: Care este instructiunea de filtrare lineara de mediere cu nucleu de filtrare de
ordinul 3?
R: out=linfilt(zg,ones(3)/9,1)
Curs 6
Filtrarea neliniară a imaginilor
- Limitările filtrării liniare apar atunci când modelele de zgomot nu au
distribuție normală și nu sunt aditive cu imaginea originală. Zgomot
aditiv = zgomot caracterizat de o distribuție „cu coadă lungă”
(=probabilități nenule de apariție a unor valori diferite de medie)
- Exemple de filtrare neliniară:
Zgomotul impulsiv caracterizat de impulsuri de
amplitudine maximă care afectează o parte din pixelii
imaginii, adică imaginea va fi uniform acoperită de
puncte foarte închise (negre) și foarte deschise (alb).
Rezultatul este zgomotul de tip „salt and pepper”.
Zgomotul impulsiv este un model de degradare
neliniară, ca și compuneri neaditive ale zgomotului.
- Filtrarea neliniară are ca scop eliminarea zgomotului de tip „salt and
pepper”.
- 0 => negru ............................... 255 => val. maximă (alb)
Nivele de gri (nr. naturale)
- Imaginea poate fi filtrată liniar cu un filtru de mediere sau cu un
filtru de reliefare.
- Rezultă o accentuare a punctelor de zgomot.
- Alte metode de filtrare care nu mai respectă principiul
superpoziției=metode de filtrare neliniare, clasă bazată pe
ordonare=„rank order filtering”.
- Exemple de filtrare neliniară:
1. Filtre de ordine (filtre de netezire: suma lor = 1)
2. Filtrul median (filtre de netezire: suma lor = 1)
3. Filtrul de cvasimijloc (filtre de netezire: suma lor = 1)
4. Medie alfa reglabilă (filtre de netezire: suma lor = 1)
5. Filtrul de reliefare sau conturare
6. Filtrul de ordine de domeniu (LUM=Lower-Upper-Middle)
7. L-Filtre
1. Filtre de ordine = operator local definit de o fereastră (o mască) care
selectează din imaginea de prelucrat un număr de vecini ai pixelului
curent.
La sortare, valorile middle sunt modificate: valorile inițiale sunt
îndepărtate de mijloc.
De exemplu: se realizează operația de sortare, astfel: la fereastra
(3x3), se extrag cele 9 valori (8 vecini) cu m-linii și n-coloane și se
sortează crescător de la stânga la dreapta. (i+1>i)
𝑥1 =statistica minimă
𝑥𝑛 =statistica maximă
Expresia care dă definiția filtrului de ordine.
- Filtrele de ordine = nu afectează contururile
= păstrează valoarea zonelor neuniforme
= comută cu orice funcție nemonotonă
= se aseamănă cu filtrul liniar
2. Filtrul median => NU filtru de mediere! (în care toți coeficienții erau
egali: exemplu (3x3)=1/9, (5x5)=1/25, (7x7)=1/49, se întâlnea la
filtrarea liniară)
- Filtrul median = cel mai comun filtru de ordine. Face media
aritmetică între statistica minimă și statistica maximă. Aici s-a
eliminat zgomotul „salt and pepper” (numit și zgomot impulsiv).
- Filtrul median are impulsuri maxim negre și minim albe.
- Filtrul median reprezintă mijlocul vectorului: (n+1)/2, unde
n=numărul de elemente din fereastra de filtrare.
*) Este de preferat să se aleagă ordin impar.
32 +1 10
Ex.: fereastră (3x3)=> rang (ordinul de ieșire)= = =5;
2 2
1
ordinul (3x3), dim. fer.=9, coef. =
9
52 +1 26
Fereastra (5x5)=> rang (ordinul de ieșire)= = = 13;
2 2
1
ordinul (5x5), dim. fer. =25, coef.
25
72 +1 50
Fereastra (7x7)=> rang (ordinul de ieșire)= = =25;
2 2
1
ordinul (7x7), dim. fer. =49, coef.
49
92 +1 82
Fereastra (9x9)=> rang (ordinul de ieșire)= = =41;
2 2
1
ordinul (9x9), dim. fer. =81, coef.
81
- Străpungerea filtrului median (n+1) se produce atunci când avem
impulsuri de aceeași valoare.
Î: Cum se reduc efectele zgomotului impulsiv?
R: Se extrag toți vecinii (ex. (3x3)=9=> 8 vecini) prin sortare:
0 => pe prima poziție (pe statistica minimă)
255 => pe ultima poziție (pe statistica maximă)
Se va scoate ce este în mijlocul filtrului și se vor elimina extremitățile.
3. Filtrul de cvasimijloc face media aritmetică între statistica egal
depărtată de marginea inferioară și de marginea superioară, toate
celelalte valori sunt 0.
4. Media alfa reglabilă media a unei submulțimi din vectorul nostru
sortat, restul valorilor sunt eliminate. Alfa are diverse valori.
*) ϭ (sigma) dispersia valorilor
Legea lui Gauss: zgomot impulsiv + gaussian = filtare alfa reglabilă
5. Filtrul de reliefare (conturare)
- Aici α (alfa) = 0
- Filtrele de conturare (reliefare) au coeficienții negativi.
- Filtrul de reliefare (conturare) reprezintă diferența dintre statistica
de ordin maxim și statistica de ordin minim (𝑥𝑛 -𝑥𝑛−1), pentru că suma
coeficienților ferestrei (măștii) = 0 (∑ coef. = 0) (adică avem un filtru
de ordin derivativ => operatorul Laplace.
- În cazul nostru, avem: 𝑎1 =-1 (statistica de ordin minim)
𝑎𝑛 =1 (statistica de ordin maxim)
𝑎𝑖 =0 (între 𝑎1 și 𝑎𝑛 este 0)
6. Filtrul de ordine de domeniu (LUM=Lower-Upper-
Middle)=adaptează și reglează filtrele de ordine (cele 3 părți ale
vectorului sortat sunt structura principală a filtrului de ordine)
x=valoare de intrare
y=valoare de ieșire
- l = parametrul de reglaj al filtrului:
1. l=0 => filtrul de reliefare maximă
𝑛+1
2. l= => filtrul trece tot => y = x*
2
- Avem: LUM de netezire și LUM de conturare
- Cu cât Low și Upper vor fi mai mari, netezirea va fi mai mare.
- Efectul de netezire=valorile inițiale sunt nemodificate.
-
7. L-Filtre
Observaţie: Coeficienţii wi din expresia (6.9) sunt notaţi sub forma ak în Tabelul 6.1
Lucrare de laborator
1. Să se completeze scriptul “FiltrareaNeLiniara.m” cu o secvenţă de analiză comparată a valorilor măsurilor de
evaluarea a calităţii imaginii (SNR, PSNR, MSE, MAE). Să se calculeze toate mărimile de evaluare a calității imaginii și să
se afișeze valorile absolute și valorile relative procentuale de creștere sau de scădere comparativ cu imaginea
deteriorată de zgomotul impulsiv.
SNR = Signal to Noise Ratio
PSNR = Peak Signal to Noise Ratio
MSE = Mean Squared Error
MAE = Mean Absolute Error
2. În continuare, să se folosească LUM Filter (“lumfilt.m”) şi L-Filter (“lfilt.m” şi “lfilter.m”) pentru netezirea,
respectiv contrastarea imaginii.
LUMFilter pentru netezirea imaginii = filtru neliniar de domeniu
L-Filter pentru contrastarea imaginii
„linfilt.m” = linear filtering cu nuclee mici
„lfilter.m” = linear filter
3. Cum se obţine filtrul de reliefare (“gradientul morfologic”) din L-Filter ? Utilizaţi filtrul de reliefare (“gradientul
morfologic”) într-un script care să pună în evidenţă contururile obiectelor din imagine.
%FILTRARE DE NETEZIRE PRIN MEDIERE ARITMETICA NUCLEU 3*3
%out=linfilt(zg,ones(3)/9,1);
%L-Filter IMPLICIT (FILTRARE DE NETEZIRE PRIN MEDIERE ARITMETICA NUCLEU (3*3)
%out=lfilter(zg);
%L-Filter FILTRARE DE CONTURARE - GRADIENT MORFOLGIC NUCLEU (3*3)
%out=lfilter(zg, [-1 0 0 0 0 0 0 0 1]);
out=lfilter(orig, [-1 0 0 0 0 0 0 0 1]);
%[snr,psnr,mse,mae]=graymas(orig,out,1);
4.
„linfilt.m”
out=linfilt(zg, ones(3)/9, 1) - de ordinul 3
„rankfilt.m”
„ones” – generează o matrice pătratică
- Imagine filtrată neliniar median (3x3)
- zg = elimină impulsurile negre 0 și impulsurile albe 255
- 5 = ordinul ferestrei de filtrare 5
- 3 = statistica de ordine de ieșire corespunzătoare al filtrului
- (3x3) deviația este +- 1
- zg = elimină impulsurile negre 0 și impulsurile albe 255
- 13 = ordinul ferestrei de filtrare 13
- 5 = statistica de ordine de ieșire corespunzătoare al filtrului
- (5x5) deviația este +- 3
Concluzie: Dacă dimensiunea ferestrei este mică, rezultatele sunt mai
proaste. De aceea, avem rezultate mai bune când dimensiunea ferestrei
este mai mare.
5.
Curs 7
Elemente de morfologie matematică = model
matematic
- Morfologia Matematica este un model matematic de investigare a
structurilor geometrice din imaginile binare si cu nivele de gri.
- Scopul MM: Discriminarea informatiilor morfologice importante
fata de cele nerelevante.
- Analiza imaginilor consta in obtinerea unor marimi caracteristice ale
imaginilor considerate.
- Marimile geometrice pot fi aria, perimeterul, orientarea, pozitia
obiectului, etc,
- Obiectele sunt opace, iar informatiile morfologice nu sunt aditive –
nu se suprapun
- Formele se combina prin intermediul operatiilor:
REUNIUNEA (obiectele care se suprapun):
INTERSECTIA (obiectele care se acopera):
Proprietatea de distributivitate a operatorilor morfologici
in raport cu operatiile de reuniuni si intersectie a
multimilor (o forma de “linearitate”)
- Operațiile de bază ale modelului matematic:
1. Erodarea (erosion) – operatori elementari
2. Dilatarea morfologică (delation)- operatori
elementari
3. Deschiderea – se obține prin intermediul
compunerii dintre erodări și dilatări
4. Închiderea – se obține prin intermediul compunerii
dintre erodări și dilatări
1. Erodarea morfologică => se dilatează fundalul.
- Erodarea elementului A cu elementul structurant B, cu proprietatea
B inclus în A.
- În urma erodării, rămân numai acele puncte pentru care elementul
structurant translatat cu centrul cercului este inclus în obiectul
inițial.
- Putem să plimbăm cercul până când va fi tangent cu conturul
dreptunghiului.
- 𝐵𝑥 aparține spațiului euclidian.
- Erodarea este numai dreptunghiul mic albastru.
- Erodarea produce micșorarea obiectului.
- Cu cât raza cercului este mai mare, cu cât erodarea este mai mare
(profundă).
- Cu cât elementul structurant este mai mare (cercul negru), erodarea
este mai mică (este invers proporțional).
- Subdomeniul ∞ din 𝑅2 este de la 255 către -∞.
- Sunt tăiate vârfurile.
2. Dilatarea morfologică => se erodează fundalul.
- Dilatare produce creșterea obiectului.
- Prin dilatare, se adaugă și alte puncte obiectului inițial până la o
distanță egală cu raza cercului.
- Obiectul structurant se deplasează până la o distanță egal cu raza
cercului.
- Dacă deplasăm centrul cercului, elementul structurant este tangent
la conturul dreptunghiului.
- În cazul dilatării, cercul este deasupra dreptunghiului.
- Gravura este degradată de un zgomot filiform. Zgomotul este
eliminat și se reface forma (=fenomenul se numește filtrare).
- Supradomeniul ∞ din 𝑅2 tinde la +∞.
- Nu se poate coborî în văi.
Proprietăți erodare + dilatare
- Erodarea și dilatarea sunt duale: la dilatare fundalul se micșorează și
este echivalent cu erodarea fundalului (Erodarea elementului
structurant A cu complementul este același cu dilatarea fundalului
cu același element structurant A)
- Deci, dualismul înseamnă:
A dilată obiectul înseamnă a eroda fundalul.
A erodează obiectul înseamnă a dilata fundalul.
- Erodarea și dilatarea NU sunt inverse unul alteia.
- Erodarea și dilatarea sunt operatori invarianți la translație.
- Prin dilatare, suprafața se mărește (se umflă).
- Dilatarea este pseudocomutativă și asociativă.
- Erodarea NU este asociativă și pseudocomutativă: putem face
erodarea printr-un element structurant care se obține din dilatarea
lui B cu C.
- Erodarea este antiextensivă => rezultatul este o suprafață mică.
- Dilatarea este extensivă => rezultatul este o suprafață mare.
- Deci, din obiectul structurant (albastru) se obține prin dilatare roșu
și prin erodare verde.
3. Deschiderea
- Se obține prin: 1. Erodare => dreptunghiul roșu dilatăm, obținem
dreptunghi cu vârfurile rotunjite
2. Dilatare
- Avem dreptunghiul x și realizăm erodarea și apoi dilatăm, fără
vârfurile dreptunghiului.
- Aplicații deschidere: cu cât elementele structurante sunt mai mari, cu
cât se vor obține imagini cât mai reale.
Exemple:
1. Imagini la microscop a sângelui (leucocite, hematii)
2. Detectarea țintelor (folosind pragul de filtrare, se selectează doar
țintele și apoi rezultă imaginea)
- Dacă se utilizează elemente plate (flat), g(y) = 0; y € [0;1] sau
y €[-1, 1]
- La deschidere are loc eliminarea vârfurilor foarte înguste.
4. Închiderea
- Se obține prin:
1. Dilatare
2. Erodare
- La închidere sunt astupate văile și taie din depresiuni.
Proprietăți deschidere + închidere
- Deschiderea și închiderea sunt transformări duale, datorită
dualității dilatării și erodării.
- Complementul deschiderii este același cu complementul
închiderii.
- Deschiderea este antiextensivă (ca și erodarea). Adică se
păstrează suprafețele mari și dispar numai anumite forme.
- Închiderea este extensivă (ca și dilatarea).
- Deschiderea și închiderea prezintă proprietatea de idempotență.
(rezultatul se conservă, nu se mai modifică după închideri sau
deschideri succesive).
1. Albastru = inițial
2. Verde = erodarea
3. Roșu = dilatarea
4. Cyan = închiderea
5. Deschiderea = magenta
Transformări „White Top Hat” și „Black Top Hat”
1. Transformarea „White Top Hat” este diferența dintre imaginea
inițială și deschiderea imaginii.
2. Transformarea „Black Top Hat” este diferența dintre închiderea
imaginii și imaginea inițială.
*) Dacă din imaginea inițială scădem „Black Top Hat”, acele depresiuni cu
nivele de gri se ajunge la nivele de negru („negru absolut”).
Contrast morfologic (cu aeroportul)
- Transformarea „White Top Hat” este neagră cu puțin alb. În
dreptul pistelor există câte un impuls. Aceste impulsuri le
suprapunem peste imaginea inițială și obținem contrastul
amplificat de 2 - 3 ori. Se suprapunere „White Hat” care sunt
liniile (pistele de amplificare) și se suprapune peste 2 – 3 și se
afișează rezultatele. Rezultă o amplificare cu coeficientul 2, 3, 4.
Gradientul morfologic
- Gradientul morfologic este conturul imaginii. (lena neagră
conturat)
- Gradientul morfologic = dilatata – erodata => un contur mic gros
Contur interior=imagine-erodare (contur subțire)
Contur exterior=dilatare-imagine
- Pentru calculator, albul este obiect, iar negrul este fundal.
- Adică atunci când are loc dilatarea, suprafața cu alb se mărește.
Lucrare de laborator
1. Să se concateneze scripturile “verif_ERODARE_DILATARE.m” şi “verif_
INCHIDERE_DESCHIDERE.m” astfel încât să se afişeze cu culori diferite în aceeaşi fereastră toate cele cinci semnale
1D (ca şi funcţii de gradul I).
1)
Legendă:
Albastru – imaginea inițială
Verde – erodarea
Roșu – dilatare
Magenta - deschidere
Cyan – închidere
2. Să se compare gradietul morfologic obţinut prin filtrarea generalizată L-Filter (scriptul
FiltrareaGeneralizataLFilter_GRADIENT_MM_BINARIZARE.m) cu cel obţinut prin aplicarea definiţei din morfologia
matematică (i.e. gradient_morfologic=dilatata-erodata) (scriptul
verif_GRADIENT2_MORFOLOGIC.m). Să se aplice prelucrările acestor 2 scripturi pentru aceleaşi imagini cu nivelel de
gri (”[Link]”) precum şi pentru imagini binare („[Link]”).
2)
3. Să se completeze scriptul FiltrareaGeneralizataLFilter_GRADIENT_MM_BINARIZARE.m cu secvenţa
corespunzătoare de instrucţiuni care binarizează imaginea gradientului morfologic.
3)
Transformata Skeleton sau scheletizare sau transformarea axei mediale
constă în lucrul asupra reprezentărilor obiectului și posibilitatea de a
subția obiectul până la o mulțime de linii idealizate, care condensează
informația obiectului inițial.
- Liniile subțiri rezultate formează scheletul sau axa medială.
Proprietăți:
1. Idempotență (ca la deschidere și închidere)
2. Anti-extensivitate (ca la erodare)
3. Non-crescătoare
*) Scheletul cercului este un punct.
Scheletul pătratului este diagonalele sale.