roz ii cv. 01 - caszoi.utia.cas.cz/files/prezentace_0.pdf · roz ii – cv. 01 dekonvoluce km -...
TRANSCRIPT
![Page 1: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/1.jpg)
ROZ II – cv. 01 Dekonvoluce
KM - FJFI - ČVUT ZS 2013
ÚTIA - ZOI zoi.utia.cas.cz
![Page 2: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/2.jpg)
2 / 44
Kontakty Ústav teorie informace a automatizace AV ČR, v.v.i.
http://www.utia.cas.cz
Zpracování obrazové informace
http://zoi.utia.cas.cz
![Page 4: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/4.jpg)
4 / 44
Organizace cvik teorie + řešení úkolů
docházka:
http://zoi.utia.cas.cz >> For students >> Lecture courses (CZ)
>> ROZ2 >> Materiály >> Přidat studenta
![Page 5: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/5.jpg)
5 / 44
Matlab Na UTIA není možné používat serverovou licenci z ČVUT
Stáhnout balík souborů na cvičení:
http://zoi.utia.cas.cz/ROZ2/studijni-materialy
![Page 6: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/6.jpg)
6 / 44
Maska Gaussiánu naprogramujte generovaní masky symetrického 2D
Gaussiánu
function M = gauss2(S, N)
% M = gauss2 (S [,N]) - vraci normovanou
% symetrickou 2D gaussovku o rozptylu Sigma
% N je velikost matice, defaultne 3*S+1
![Page 7: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/7.jpg)
7 / 44
Maska Gaussiánu D-dimenzionální Gaussova funkce:
𝑓 𝑥, 𝑦 =1
2𝜋𝑑2 Σ
12
𝑒−12𝑥−𝜇 𝑡Σ−1 𝑥−𝜇
𝑑 počet dimenzí
𝜇 vektor střední hodnoty
𝑡 transpozice vektoru
Σ diagonální kovarianční matice Σ𝑖𝑖 = 𝜎𝑖2
∙ determinant
![Page 8: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/8.jpg)
8 / 44
Maska Gaussiánu – 2D Σ
𝑑𝑒𝑡𝜎12 0
0 𝜎22 = 𝜎1
2𝜎22 = 𝜎1 ≡ 𝜎2 = 𝜎1
4
𝑥 − 𝜇 𝑡Σ−1 𝑥 − 𝜇
𝑥1 − 𝜇1 𝑥2 − 𝜇2𝜎12 0
0 𝜎22
−1𝑥1 − 𝜇1𝑥2 − 𝜇2
=
= 𝑥1 − 𝜇1 𝑥2 − 𝜇2
1𝜎12 0
0 1𝜎22
𝑥1 − 𝜇1𝑥2 − 𝜇2
=
=𝑥1−𝜇1
𝜎12
𝑥2−𝜇2
𝜎22
𝑥1 − 𝜇1𝑥2 − 𝜇2
=𝑥1−𝜇1
2
𝜎12 +
𝑥2−𝜇22
𝜎22 =
𝜎1 ≡ 𝜎2𝜇1 ≡ 𝜇2 = 0
=
=𝑥12+𝑥2
2
𝜎12
![Page 9: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/9.jpg)
9 / 44
2D Gaussova funkce symetrická (izotropní)
𝜎𝑥 ≡ 𝜎𝑦 = 0.6
𝜇𝑥 ≡ 𝜇𝑦 = 0
![Page 10: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/10.jpg)
10 / 44
2D Gaussova funkce asymetrická (anizotropní)
0.6 = 𝜎𝑥 ≠ 𝜎𝑦 = 0.2
𝜇𝑥 ≡ 𝜇𝑦 = 0
![Page 11: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/11.jpg)
11 / 44
Maska Gaussiánu naprogramujte generovaní masky symetrického 2D
Gaussiánu
function M = gauss2(S, N)
% M = gauss2 (S [,N]) - vraci normovanou
% symetrickou 2D gaussovku o rozptylu Sigma
% N je velikost matice, defaultne 3*S+1
![Page 12: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/12.jpg)
12 / 44
Maska Gaussiánu
gauss2(5, 11) gauss2(7, 21)
![Page 13: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/13.jpg)
13 / 44
Maska Gaussiánu
gauss2ani(7, 3, 20) gauss2ani(10, 20, 60)
![Page 14: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/14.jpg)
14 / 44
Maska Gaussiánu function M = gauss2(S, N)
% M = gauss2 (S [,N]) - vraci normovanou 2D
% gaussovku o rozptylu S
% N je velikost matice, defaultne 3*S+1
if nargin >= 2
R = (N-1) / 2;
else
R = 3*S;
end
[X, Y] = meshgrid( -R:R);
M = (1/(2*pi*S^2))*exp( -(X.^2 + Y.^2)/(2 * S.^2));
M = M / sum(M(:));
end
![Page 15: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/15.jpg)
15 / 44
Maska Gaussiánu function M = gauss2ani(S1,S2, N)
% M = gauss2ani (S1, S2 [,N]) - vraci normovanou 2D gaussovku o
% rozptylu S1, S2
% N je velikost matice, defaultne 3*S+1
if nargin >= 3
R = (N-1) / 2;
else
R = 3*max(S1,S2);
end
[X, Y] = meshgrid( -R:R);
M=(1/(2*pi*S1*S2))*exp((-1/2)*((X.^2/S1.^2)+(Y.^2/S2.^2)));
M = M / sum(M(:));
end
![Page 16: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/16.jpg)
16 / 44
Přidání bílého šumu Signal-to-noise ratio (SNR) - míra šumu v obraze
SNR = 10 log (D(f)/D(n)) [dB]
• D(f) … rozptyl nezašuměného signálu
• D(n) … rozptyl šumu
Ve frekvenční oblasti je SNR definována takto:
•𝑁 2
𝐹 2𝑢, 𝑣
• Kdyby šum byl bílý => 𝑁 2 = 𝜎𝑛2
• Pokud je signál nekorelovaný => 𝐹 2 = 𝜎𝑓2
Odvození 𝜎𝑛:
𝑆𝑁𝑅
10= log
𝜎𝑓2
𝜎𝑛2 → 10
𝑆𝑁𝑅10 =
𝜎𝑓2
𝜎𝑛2 → 𝜎𝑛
2 =𝜎𝑓2
10𝑆𝑁𝑅10
𝜎𝑛 =𝜎𝑓2
10𝑆𝑁𝑅10
… nápověda funkcí: var(), rand()
![Page 17: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/17.jpg)
17 / 44
SNR u lena.pgm
20 dB
0 dB 10 dB
![Page 18: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/18.jpg)
18 / 44
Přidání bílého šumu naprogramujte funkci, která přidá do obrázku bílý šum
function R = bilySum(I, SNR)
% R = bilySum(I, SNR) – prida bily sum o danem
% SNR do obrazku I
![Page 19: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/19.jpg)
19 / 44
Přidání bílého šumu function R = bilySum(I, SNR)
% R = bilySum(I, SNR) – prida bily sum o danem
% SNR do obrazku I
MinI = min(I(:));
MaxI = max(I(:));
S = sqrt(var(I(:))/(10^(SNR/10)));
R = I + S*randn(size(I));
R(R<MinI) = MinI;
R(R>MaxI) = MaxI;
end
![Page 20: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/20.jpg)
20 / 44
Poškození obrázku naprogramujte funkci, která poškodí obrázek – přidá bílý
šum a poté obrázek rozmaže
function R = damage(I, H, SNR)
% R = damage(I, H, SNR) – rozmaze obrazek I s konvolucni
% maskou H a prida do nej bily sum o danem SNR
![Page 21: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/21.jpg)
21 / 44
Maska Gaussiánu
damage(L, eye(7), 20) damage(L, ones(1,10), 20)
![Page 22: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/22.jpg)
22 / 44
Maska Gaussiánu
damage2(L, eye(7), 20) damage2(L, ones(1,10), 20)
![Page 23: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/23.jpg)
23 / 44
Poškození obrázku
function R = damage2(I, H, SNR)
% R = damage(I, H, SNR) – rozmaze obrazek I s konvolucni
% maskou H a prida do nej bily sum o danem SNR
R = conv2(I,H);
R = bilySum(R, SNR);
end
„ubírá“ jas v okrajích >> tvoří rámeček
Jak ho odstranit?
![Page 24: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/24.jpg)
24 / 44
Poškození obrázku
function R = damage(I, H, SNR)
% R = damage(I, H, SNR) – rozmaze obrazek I s konvolucni
% maskou H a prida do nej bily sum o danem SNR
R = conv2(I,H,'same')./conv2(ones(size(I)),H,'same');
R = bilySum(R, SNR);
end
![Page 25: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/25.jpg)
25 / 44
FT Poškozeného obrázku
damage2(L, eye(7), 50)
damage2(L, ones(1,10), 50)
Proč tam jsou ty pruhy ?
![Page 26: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/26.jpg)
26 / 44
FT Poškozeného obrázku
damage2(L, kruh(7,15), 50)
damage2(L, gauss2(4,10), 50)
Proč tam jsou ty vzory?
![Page 27: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/27.jpg)
27 / 44
Proč jsou ve FFT ty periodické vzory u
poškozených obrázků ?
kruh(7,15) gauss2(4,10) ones(1,10) eye(4,10)
Z konvolučního teorému vyplívá, že konvoluce je
násobení ve frekvenční oblasti.
Konvoluční jádra mají ve FFT nulové body:
![Page 28: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/28.jpg)
28 / 44
Poškození obrázku
horní řádek: damage(L,gauss2(3,11),SNR)
dolní řádek: damage(L,gauss2(7,21),SNR)
kde SNR = 50, 20, 10, 5
![Page 29: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/29.jpg)
29 / 44
Inverzní filtr konvoluce:
𝑓 ∗ 𝑔 𝑡 = 𝑓 𝜏 𝑔 𝑡 − 𝜏 𝑑𝜏∞
−∞
∗: 𝐿1 × 𝐿1 → 𝐿1
konvoluční teorém:
ℱ 𝑓 ∗ 𝑔 = ℱ 𝑓 ∙ ℱ 𝑔 = 𝐹 ∙ 𝐺
odvození Inverzního filtru:
𝑍 = 𝑈 ∙ 𝐻
𝑈 =𝑍
𝐻
𝑢 = ℱ−1𝑍
𝐻
naprogramujte Inverzní filtr:
function u = inverzniFiltr (z, h)
% u = inverzniFiltr (z, h) zaostří obrázek z
% rozmazaný maskou h pomocí inverzního fitru
![Page 30: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/30.jpg)
30 / 44
Inverzní filtr function u = inverzniFiltr (z, h)
% u = inverzniFiltr (z, h) zaostří obrázek z
% rozmazaný maskou h pomocí inverzního fitru
Z = fft2(z);
H = fft2 (h, size(z,1), size(z,2));
U = Z ./ H;
u = abs(ifft2(U));
end
![Page 31: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/31.jpg)
31 / 44
C = conv2(L, ones(1,7)) inverzniFiltr(C,ones(1,7))
Inverzní filtr
Pro rozmazání (hlavně pohybem) je třeba použít velikost
masky, která je nesoudělná s velikostí obrázku (např. 7). Jinak
ve fourierce nafouklé na celý snímek vzníknou nuly, kterými se
v inverzním filtru blbě dělí.
![Page 32: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/32.jpg)
32 / 44
C = conv2(L, ones(1,7)) inverzniFiltr(C,ones(1,7))
Inverzní filtr
Pro rozmazání (hlavně pohybem) je třeba použít velikost
masky, která je nesoudělná s velikostí obrázku (např. 7). Jinak
ve fourierce nafouklé na celý snímek vzníknou nuly, kterými se
v inverzním filtru blbě dělí.
![Page 33: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/33.jpg)
33 / 44
damage2(L,ones(1,7),100)
Inverzní filtr
Přidání šumu má fatální vliv na Inverzní filtr !!
Nedá se v praxi moc použít !!
damage2(L,ones(1,7),50)
damage2(L,ones(1,7),30) damage2(L,ones(1,7),10)
![Page 34: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/34.jpg)
34 / 44
Inverzní filtr
![Page 35: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/35.jpg)
35 / 44
Wienerův filtr Definice:
získaný odhad má mít minimální odchylku od originálu:
• 𝐸( 𝑓′ − 𝑓 2) → 𝑚𝑖𝑛 … střední kvadratická chyba
- 𝐸 …střední hodnota
- 𝑓′ …odhad
- 𝑓 …originál
má to být lineární filtr, tedy to má být násobení ve
frekvenční oblasti
• 𝐹′ = 𝐺 ∙ 𝑅
- 𝐺 … zašuměný obrázek
- 𝑅 … transformační matice
![Page 36: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/36.jpg)
36 / 44
Wienerův filtr byla odvozena tato transformační matice:
𝑅 𝑢, 𝑣 =1
𝐻 𝑢, 𝑣∙
𝐻 𝑢, 𝑣 2
𝐻 𝑢, 𝑣 2 + 𝑆𝑛 𝑢, 𝑣 𝑆𝑓 𝑢, 𝑣
𝑆𝑛 𝑢, 𝑣 𝑆𝑓 𝑢, 𝑣 ≈ 𝑆𝑁𝑅−1
𝐻 ∙ 𝐻 = 𝐻 2
• Matlab funkce: conj()
![Page 37: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/37.jpg)
37 / 44
Wienerův filtr naprogramujte Wienerův filtr
function u = wiener (z, h, SNR)
% U = wiener (Img, M, SNR) provede Wienerův
% filtr na obrázek Img, který byl poškozen
% maskou M a zašumňen bílým šumem o daném SNR
H = fft2( h, size(Img,1), size(Img,2));
W = conj(H) ./ (abs(H).^2 + 1/SNR);
Z = fft2(z) .* W;
u = abs(ifft2(Z));
end
![Page 38: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/38.jpg)
38 / 44
damage2(L,ones(1,7),100)
Wienerův filtr
damage2(L,ones(1,7),50)
damage2(L,ones(1,7),30) damage2(L,ones(1,7),10)
![Page 39: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/39.jpg)
39 / 44
Praktické příklady Určete typ počkození u obrázků yiXX.pgm a vylepšete je
![Page 40: ROZ II cv. 01 - CASzoi.utia.cas.cz/files/prezentace_0.pdf · ROZ II – cv. 01 Dekonvoluce KM - FJFI - ČVUT ZS 2013 ÚTIA - ZOI zoi.utia.cas.cz](https://reader035.vdocuments.net/reader035/viewer/2022062923/5f0b81eb7e708231d430dc75/html5/thumbnails/40.jpg)
Děkuji za
pozornost