Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea...
Transcript of Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea...
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Convoluția 1D semnale continue
• Convoluția 2D semnale continue
Convoluția semnalelor continue
( ) ( ) ( ) ( ) ( )d ( ) ( )dg x f x h x f x h f h x
− −
= = − = −
( , ) ( , ) ( , ) ( , ) ( , )d d
( , ) ( , )d d
− −
− −
= = − − =
= − −
g x y f x y h x y f x y h
f h x y
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Convoluția semnalelor 1D continue
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Convoluția semnalelor 2D continue
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Definiția convoluției discrete 1D:
• Media ponderată în vecinătatea lui f(n) cu ponderile egale cu coeficienții filtrului
• h(n) = răspunsul la impuls al sistemului (filtrului)
• Lungimi:– Lungimea semnalului original: N
– Lungimea filtrului: K
– Lungimea semnalului g: N+K-1
Convoluția semnalelor 1D discrete
( ) ( ) ( ) ( ) ( ) ( ) ( )m m
g n f n h n f n m h m f m h n m
=− =−
= = − = −
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Convoluția a două semnale discrete 1D
( ) ( ) ( ) ( ) ( )m
g n f n h n f m h n m
=−
= = −
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• fiecare pixel g(m,n) = media ponderată a pixelilor învecinaţi din imaginea originală– pixelul
– ponderat cu
• dimensiune înainte și după convoluție– f de dimensiune M x N
– filtru de dimensiune K x L
– g de dimensiune (M+K-1) x (N+L-1)
Convoluția semnalelor 2D discrete
( , ) ( , ) ( , ) ( , ) ( , )
( , ) ( , )
=− =−
=− =−
= = =
=
k l
k l
g m n f m n h m n f m - k n - l h k l
f k l h m - k n - l
( , )f m - k n - l
( , )h k l
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Convoluția semnalelor 2D discrete
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Aaa
• aaa
Convoluția semnalelor 2D discrete
mediere mediere ponderată
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Exemplu:
Convoluția semnalelor 2D discrete
Imagine filtrată cu filtrul de mediere 1
Imagine filtrată cu filtrul de mediere 2
Imagine originală
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Semnificația lui h(m,n)?
• h(m,n) arată cum un punct (impuls) din imaginea originală este împrăștiat în imaginea de ieșire
Convoluția semnalelor 2D discrete
f(m,n)
h(m,n)
H rotit cu 180o Rezultat convoluţie
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Zero padding
Tratarea marginilor
Margini exterioare
Margini interioare
Pixelii imaginii de intrare
Pixeli extinşi
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• În oglindă
Tratarea marginilor
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Tratare simplificată
Tratarea marginilor
Margini exterioare: nefolosite
Margini interioare: nemodificate
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Matlab:
• G=conv2(F,h,shape)
– shape = ‘full’ (implicit): G include marginile externe și interne calculate folosind zero padding
– shape = ‘same’: G are dimensiunea lui F și este calculată folosind zero padding
– shape = ‘valid’: G este imaginea convolută fără marginile interne, calculată fără a folosi pixelii din afara imaginii originale (tratare simplificată)
Convoluția semnalelor 2D discrete
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtrarea spațială liniară = convoluție dintre imagine și funcția pondere a filtrului
• Convoluția = corelația cu h(m,n) rotit cu 180o
• Corelația:
Filtrarea spațială liniară
( , ) ( , ) ( , ) ( , ) ( , )
( , ) ( , )
=− =−
=− =−
= = + + =
= + +
k l
k l
g m n f m n h m n f m k n l h k l
f k l h m k n l
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Corelație:1. Centrează masca filtrului pe un pixel
2. Calculează suma produselor
3. Repetă de la 1
• Convoluția:1. Rotește masca filtrului cu 180 grade
2. Calculează corelația
Corelație vs. Convoluție
( , ) ( , ) ( , ) ( , )=− =−
= + + K L
k K l L
f m n h m n f m k n l h k l
( , ) ( , ) ( , ) ( , )=− =−
= − − K L
k K l L
f m n h m n f m k n l h k l
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Exemplu: Corelație vs. Convoluție
f(m,n)h(m,n)
Zero padding
origine
Poziția inițială pentru hRezultat complet corelaţie
Rezultat trunchiat
Corelaţie
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Exemplu: Corelație vs. Convoluție
f(m,n)h(m,n)
Zero padding
origine
H rotit cu 180o
Rezultat complet convoluţie
Rezultat trunchiat
Convoluţie
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Exemplu: Corelație vs. Convoluție
Rezultat trunchiat corelaţie
Rezultat trunchiat convoluţie
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• G = conv2(F,h)
• G = filter2(h,F,shape)– filtrează F cu un filtru 2D FIR ai cărui coeficienţi sunt daţi în
matricea h.
– G calculată folosind corelaţia: filter2(h,F)=conv2(F,rot90(h,2))
– default: size(G) = size(F)
• G = imfilter(F,h,option);– filtrează matricea N-D F cu filtrul N-D h.
– G calculată folosind corelaţia (default) sau convoluţia
– default: size(G) = size(F)
– class(G) = class(F)
– are mai multe opţiuni
Filtrarea spațială liniară: Matlab
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• G = imfilter(F,h);
Filtrarea spațială liniară: Matlab
Opţiune Descriere
Opţiuni tratare margini
Default zero padding
'symmetric' Valorile imaginii de intrare din afara marginilor obţinute prin reflectarea în oglindă faţă de margine
'replicate' Valorile imaginii de intrare din afara marginilor obţinute prin duplicarea celei mai apropiate margini interioare
'circular' Valorile imaginii de intrare din afara marginilor obţinute presupunând că intrarea este periodică
Dimensiune ieşire
'same' size(G)=size(F)
'full' Ieşire netrunchiată
Opţiuni convoluţie sau corelaţie
'corr' corelaţie (default)
'conv' convoluţie
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de mediere
– sunt FTJ
– elimină zgomotul
– crează un efect de blurare
Filtrarea spațială liniară
Mediere spațială Mediere ponderată
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de mediere
– Filtre de lungime:
• 3x3
• 5x5
• 9x9
• 15x15
• 35x35
Filtrarea spațială liniară
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de gradient (detecție a contururilor)
Filtrarea spațială liniară
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de gradient (detecție a contururilor)
– Laplacian:
Filtrarea spațială liniară
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de gradient (detecție a contururilor)
Filtrarea spațială liniară
Original Laplacian
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuare a contururilor)– Amplifică frecvențele înalte
– Imagine + FTS(imagine)
Filtrarea spațială liniară
Semnal original
Derivata de ordin 2
Semnal original + Derivata de ordin 2
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuarea contururilor)
– Imaginea cu contururi accentuate
– Funcția pondere a filtrului de accentuare a contururilor:
ℎ𝑠ℎ𝑎𝑟𝑝 𝑥, 𝑦 =δ 𝑥, 𝑦 + c hFTS 𝑥, 𝑦
Filtrarea spațială liniară
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuarea contururilor)
– Diferite variante de ℎ𝑠ℎ𝑎𝑟𝑝 :
Filtrarea spațială liniară
+ =1
4
+1
4
1
4
1
4= 8
0
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuarea contururilor)
– Imaginea cu contururi accentuate
Filtrarea spațială liniară
Original Laplacian Original + Laplacian
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuarea contururilor)
– Altă variantă - unsharp masking:
• filtrare trece jos (blurare)
• scăderea imaginii blurate din original
• însumare ponderată la imaginea originală
Filtrarea spațială liniară
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuarea contururilor)
– Unsharp masking
Filtrarea spațială liniară
original
blurat
mască unsharp
Accentuare contururi
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Filtre de sharpening (accentuarea contururilor)
– Unsharp masking
Filtrarea spațială liniară
original original - bluratcontururi
accentuateblurat
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Ieșirea nu este o dependență liniară de intrare
• Exemplu: filtrul median
– Familia filtrelor de ordonare
– Ieșirea depinde de sortarea valorilor de intrare
– Alte exemple: min, max
– Eliminarea zgomotului de tip sare și piper (salt&pepper)
– Zgomot salt&pepper: valori extreme (0 sau 255) pe poziții aleatore din imagine
Filtrarea spațială neliniară
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
• Pași:
– Ordonare valori din fereastră
– Ieșirea filtrului = valoarea centrală din vector
• Exemplu: fereastră de dimensiune 3x320 23 24
18 200 24
27 28 32
– Filtru de mediere
(50+52+53+48+100+55+57+58+61)/9 = 44
– Filtru median: [18, 20, 23, 24, 24, 27, 28, 32, 200 ]• Matlab: medfilt2
Filtrarea mediană
Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video
Filtrarea mediană
Filtru median
Imaginea originală
Imagine cu zgomot salt&pepper
Filtru de mediere