24
UNIVERZITET U SARAJEVU ELEKTROTEHNIČKI FAKULTET SARAJEVO ----------------------------------------------------------------------------------------------------------------- Izvještaj za laboratorijsku vježbu br.3 DIGITALNA OBRADA SIGNALA Memić Jasmina 798/16026 Odsjek:AiE 2014/2015 Sarajevo, 10.12.2014.

DOS Lab4 Izvjestaj

Embed Size (px)

Citation preview

  • UNIVERZITET U SARAJEVU

    ELEKTROTEHNIKI FAKULTET SARAJEVO

    -----------------------------------------------------------------------------------------------------------------

    Izvjetaj za laboratorijsku vjebu br.3

    DIGITALNA OBRADA SIGNALA

    Memi Jasmina 798/16026

    Odsjek:AiE 2014/2015

    Sarajevo, 10.12.2014.

  • Zadatak 1 a) Kreirajte binarne slike pomou Matlab funkcija za rad sa matricama. Slike koje sadre prave linije imaju identine razmake izmeu linija. Kreirajte frekventnu karakteristiku ovih slika i dajte svoj komentar.

    Slika 1. Binarne slike ije spektre treba nai

    Prva slika f = zeros(256,256); for i=1:255 for j=1:255 if (i-128)^2+(j-128)^2

  • Slika 3. Frekventna karakteristika prethodne slike

    Druga slika f = zeros(256,256); for i=1:256 for j=1:256 if j==30 || j==80 || j==130 || j==180 || j==230 ... || j==31 || j==81 || j==131 || j==181 || j==231 ... || j==29 || j==79 || j==129 || j==179 || j==229 f(i,j)=1; end end end figure(3) imshow(f,'InitialMagnification','fit') F = fft2(f);

    F=fftshift(F); F = log(1+abs(F)); figure(4) imshow(F,[-1 5],'InitialMagnification','fit'); colormap(jet); colorbar

    -1

    0

    1

    2

    3

    4

    5

  • Slika 4. Realizacija druge slike s Slike 1.

    Slika 5. Frekventna karakteristika prethodne slike

    Trea slika f = zeros(256,256); for i=1:256 for j=1:256 if i==30 || i==80 || i==130 || i==180 || i==230 ... || i==31 || i==81 || i==131 || i==181 || i==231 ... || i==29 || i==79 || i==129 || i==179 || i==229 f(i,j)=1; end end

    -1

    0

    1

    2

    3

    4

    5

  • end figure(5) imshow(f,'InitialMagnification','fit') F = fft2(f);

    F=fftshift(F); F = log(1+abs(F)); figure(6) imshow(F,[-1 5],'InitialMagnification','fit'); colormap(jet); colorbar

    Slika 6. Realizacija tree slike s Slike 1.

    Slika 7. Frekventna karakteristika prethodne slike

    -1

    0

    1

    2

    3

    4

    5

  • etvrta slika f = zeros(256,256); for i=1:256 for j=1:256 if i==j || i==j+1 || i==j-1 f(i,j)=1; end end end A1=imtranslate(f,[30,-30]); A2=imtranslate(f,[60,-60]); A3=imtranslate(f,[90,-90]); A4=imtranslate(f,[120,-120]); A=f+A1+A2+A3+A4; A5=imrotate(A,180); A=A+A5; figure(7) imshow(A,'InitialMagnification','fit') F = fft2(A);

    F=fftshift(F); F = log(1+abs(F)); figure(8) imshow(F,[-1 5],'InitialMagnification','fit'); colormap(jet); colorbar

    Slika 8. Realizacije etvrte slike s Slike 1.

  • Slika 9. Frekventna karakteristika prethodne slike

    Peta slika Ova slike dobije se rotacijom prehodne slike za 90, pa je ovaj kod potrebno dodati na kod za Sliku 4. figure(9) B=imrotate(A,90); imshow(B,'InitialMagnification','fit') F = fft2(B);

    F=fftshift(F); F = log(1+abs(F)); figure(10) imshow(F,[-1 5],'InitialMagnification','fit'); colormap(jet); colorbar

    -1

    0

    1

    2

    3

    4

    5

  • Slika 10. Realizacija pete slike s Slike 1.

    Slika 11. Frekventna karakteristika prethodne slike

    Na osnovu ovih slika vidimo da crnoj boji u frekventnom spektru odgovara najnia vrijednost-plava boja, a bijeloj boji najvea vrijednost u frekventnom spektru. Takoer vidimo i poznatu osobinu funkcija - da diskretne funkcije imaju kontinulan spektar, a kontinualne funkcije diskretan spektar. Inverznost vremenskog i frekventnog domena ovdje je oigledna, naroito na slikama 2 i 3. Na osnovu posljednje dvije slike vidimo da se linije koje su dobijene translacijom glavne dijagonale prelikavaju u istu liniju kao i glavna dijagonala iz ega moemo zakljuiti da transliranje ne mijenja frekventnu karakteristiku. b) Kreirajte sljedee frekventne karakteristike. Izraunajte orginalnu sliku pomou inverzne DFT. Smatrajte da je nulta frekvencija data u sredini. Krunice na slikama su simetrine i istih poluprenika. Dajte svoj komentar na dobijene originalne slike.

    Slika 12. Spektri ije originale treba nai

    Prva slika A = zeros(256,256); for i=1:256 for j=1:256 if i==j || i==j+1 || i==j-1 A(i,j)=1; end end end B=imrotate(A,90); A=A+B; figure(1)

    -1

    0

    1

    2

    3

    4

    5

  • imshow(A,'InitialMagnification','fit') f=real(ifftshift(double(A))); figure(2) imshow(f,'InitialMagnification','fit');

    Slika 13. Realizacija prve slike s Slike 12.

    Slika 14. Originalni signal dobijen na osnovu spektra s prethodne slike

    Peta slika A = zeros(256,256); for i=1:256

  • for j=1:256 if (i-128)^2+(j-30)^2
  • Slika 16. Originalni signal dobijen na osnovu spektra s prethodne slike

    etvrta slika A = zeros(256,256); for i=1:256 for j=1:256 if (i-128)^2+(j-30)^2

  • Slika 18. Originalni signal dobijen na osnovu spektra s prethodne slike

    Trea slika A = zeros(256,256); for i=1:256 for j=1:256 if (i-128)^2+(j-30)^2

  • Slika 19. Realizacija tree slike s Slike 12.

    Slika 20. Originalni signal dobijen na osnovu spektra s prethodne slike

    Druga slika A = zeros(256,256); for i=1:256 for j=1:256 if (i-128)^2+(j-30)^2

  • B=imrotate(A,180); A=A+B; E=imrotate(A,-45); figure(9) imshow(E,'InitialMagnification','fit'); f=real(ifftshift(double(A))); figure(10) imshow(f,'InitialMagnification','fit');

    Slika 21. Realizacija druge slike s Slike 12.

    Slika 22. Originalni signal dobijen na osnovu spektra s prethodne slike

  • Na osnovu ovih slika vidimo da posljednja etiri spektra imaju isti originalni signal, dakle prelikavanje iz vremenskog u frekventni domen nije jednoznano. Ove slike (spektri) nastali su rotacijom, svaka slika je rotacija etvrte slike s Slike 12. za odgovarajui ugao. Na osnovu toga zakljuujemo da rotacija ne donosi promjenu u frekventnom domenu, odnosno rotiranjem spektra, originalni signal koji mu odgovara se ne mijenja. Zadatak 2 a) Odaberite neku sliku. Izraunajte i prikaite amplitudne spektre originalne i skalirane slike. Po emu se razlikuju spektri? b) Odaberite neku sliku. Izraunajte i prikaite amplitudne spektre originalne i rotirane slike. Po emu se razlikuju spektri? c) Odaberite jednu manju sliku. Izraunajte i prikaite amplitudne i fazne spektre originalne i translatirane slike. Po emu se razlikuju spektri? d) Moete li iz faznog spektra zakljuiti gdje se nalazi slika?

    Odabrana slika koju emo koristiti u ovom zadatku:

    Slika 23. Originalna slika

    a) A=imread('6.1.14.tiff'); F1 = fft2(A,512,512); F1 = fftshift(F1); figure(1) imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar

    B=imresize(A,4); F1 = fft2(B,512,512); F1 = fftshift(F1); figure(2) imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar

    B=imresize(A,0.5); F1 = fft2(B,512,512); F1 = fftshift(F1); figure(3) imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar

  • Ako sliku poveamo etiri puta dobijemo sljedee amplitudne spektre originalne i skalirane slike:

    Ako originalnu sliku smanjimo dva puta dobijemo sljedee amplitudne spektre

    Sa slika koje prikazuju amplitudne spektre vidimo da slika koja je poveana etiri puta izgleda kao da je 'udaljena' od nas etiri puta, dok slika koja je smanjena dva puta izgleda kao da nam je 'primakmuta' dva puta. b) A=imread('6.1.14.tiff'); F1 = fft2(A,512,512); F1 = fftshift(F1); figure(4) imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar

    -1

    0

    1

    2

    3

    4

    5

    -1

    0

    1

    2

    3

    4

    5

    -1

    0

    1

    2

    3

    4

    5

    -1

    0

    1

    2

    3

    4

    5

  • B=imrotate(A,45); F1 = fft2(B,512,512); F1 = fftshift(F1); figure(5) imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar

    Rotacijom originalne slike za 45 dobijamo sljedee spektre:

    Rotacijom za 60 dobijamo sljedee spektre:

    Rotacija slika u originalnom domenu uzrokuje i rotaciju njihovih amplitudnih spektara za isti ugao. c) A=imread('6.1.14.tiff'); F1 = fft2(A,512,512); F1 = fftshift(F1); figure(8) imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar figure(9) imshow(unwrap(angle(F1)));

    -1

    0

    1

    2

    3

    4

    5

    -1

    0

    1

    2

    3

    4

    5

    -1

    0

    1

    2

    3

    4

    5

    -1

    0

    1

    2

    3

    4

    5

  • figure(10) B=imcrop(A); figure(11) imshow(B); F2 = fft2(B); F2 = fftshift(F2); figure(12) imshow(log(abs(F2)),[-1 5]); colormap(jet); colorbar figure(13) imshow(unwrap(angle(F2)));

    Slika 24. Amplitudni i fazni spektar originalnog signala

    figure(10) B=imcrop(A); figure(11) imshow(B); F2 = fft2(B); F2 = fftshift(F2); figure(12) imshow(log(abs(F2)),[-1 5]); colormap(jet); colorbar figure(13) imshow(unwrap(angle(F2)));

    Slika 25. Oznaavanje manje slike

    -1

    0

    1

    2

    3

    4

    5

  • Slika 26. Amplitudni i fazni spektar manje slike

    Vidimo da se amplitudni spektri originalne i manje slike ne razlikuju mnogo, jer je i u manjoj slici zastupljen velik broj razliitih frekvencija. Ako posmatramo fazni spektar moemo zakljuiti da se izrezana slika nalazi negdje na sredini originalne slike. Zadatak 3 Iz USC-SIPI baze slika (http://sipi.usc.edu/database/) odaberite jednu fotografiju. Ispitajte djelovanje svakog od tipova filtera (niskopropusni, pojasnopropusni, visokopropusni) na sliku. Kakav je uinak za pojedini tip filtra? Filtriranje obavite izravnim mnoenjem u frekvencijskoj domeni. Koristit emo istu sliku kao i u zadatku 2. Niskopropusni filter f=imread('6.1.14.tiff'); F = fft2(f); F1 = fftshift(F); figure(1) imshow(log(abs(F1)),[-1 5]);

    M=size(f,1); N=size(f,2); u0=20; u=0:(M-1); v=0:(N-1); idx=find(u>M/2); u(idx)=u(idx)-M; idy=find(v>N/2); v(idy)=v(idy)-N; [V,U]=meshgrid(v,u); D=sqrt(U.^2+V.^2); H=double(D

  • figure(3) imshow(f) figure(4) imshow(g)

    Slika 26. Frekventna karakteristika originalne i slike 'proputene' kroz NF

    Slika 27. Originalna slika i slika nakon filtriranja

    Na osnovu ove slike vidimo da niskopropusni filter vri 'uglaivanje' slike, pa se zbog toga koristi za redukciju uma. Meutim njegov nedostataka je to 'zamuuje' sliku(blur efekat) to je vidljivo u ovom sluaju. Visokopropusni filter

  • Slika 28. Frekventna karakteristika originalne i filtrirane slike

    Slika 29. Originalna slika i slika nakon filtriranja

    Visokopropusni filter proputa samo visoke frekvencije to bi trebalo da izotrava sliku, odnosno da ostavlja ivice na slici. S obzirom da naa originalna slika nije najboljeg kvaliteta, to je ovdje malo slabije vidljivo. Pojasnopropusni filter Ovaj filter formirat emo koristei niskopropusni i visokopropusni filter s odgovarajuim vrijednostima cutoff frekvencija. f=imread('6.1.14.tiff'); F = fft2(f); F1 = fftshift(F); figure(1) imshow(log(abs(F1)),[-1 5]);

    M=size(f,1); N=size(f,2); u0=50;

  • %u0=150; u=0:(M-1); v=0:(N-1); idx=find(u>M/2); u(idx)=u(idx)-M; idy=find(v>N/2); v(idy)=v(idy)-N; [V,U]=meshgrid(v,u); D=sqrt(U.^2+V.^2); NP=double(DM/2); u(idx)=u(idx)-M; idy=find(v>N/2); v(idy)=v(idy)-N; [V,U]=meshgrid(v,u); D=sqrt(U.^2+V.^2); H=double(D
  • Slika 31. Originalna slika i slika nakon filtriranja

    Drugi sluaj:wc1=150, wc2=20

    Slika 32. Frekventna karakteristika originalne i filtrirane slike

  • Slika 33. Originalna slika i slika nakon filtriranja