PRZETWARZANIE OBRAZÓW CYFROWYCH

Transkrypt

PRZETWARZANIE OBRAZÓW CYFROWYCH
PRZETWARZANIE OBRAZÓW CYFROWYCH
DWICZENIE 9
PRZETWARZANIE OBRAZÓW W DZIEDZINIE CZĘSTOTLIWOŚCI – TRANSFORMATA
FOURIERA
PROGRAM DWICZENIA
1.
Korzystając z programu Paint oraz Matlaba utworzyd 3 zestawy binarnych obrazów testowych o
wymiarach 256x256:
a) Trójkąty różnej wielkości i orientacji (jeden trójkąt, na jednym obrazie)
b) Koła różnej wielkości
c) Zestawy równoległych linii o różnym nachyleniu
Rysunek 1. Przykładowe obrazy testowe
2.
Utworzyd 2 zestawy obrazów testowych z poziomami szarości o rozmiarze 256x256
a) Sinusoidy o różnej częstości i kierunkach
b) Zamodelowad obrazy reprezentujące dwuwymiarową funkcję Gaussa z różnymi wariancjami
a)
b)
Rysunek 2. a) funkcja sinus, b) funkcja Gaussa
3.
Przeanalizowad widmo mocy oraz fazy dla utworzonych obrazów testowych, wyciągnąd odpowiednie
wnioski.
4.
Korzystając z własnych obrazów utworzyd 2 obrazy testowe z poziomami szarości o rozmiarze 256x256
a) Przeprowadzid iteracyjne rozmycie z wykorzystaniem wybranego filtru dolnoprzepustowego,
jak taka filtracja wpływa na widmo mocy i fazy?
b) Przeprowadzid
iteracyjne
wyostrzenie
z
wykorzystaniem
wybranego
filtru
górnoprzepustowego, jak taka filtracja wpływa na widmo mocy i fazy?
c) Przeprowadzid filtrację górno i dolnoprzepustową w dziedzinie częstotliwości
d) Nałożyd cienką siatkę kwadratową na obraz i zaproponowad metodę jej filtracji z obrazu
PRZYDATNE FUNKCJE MATLABA:
fftshift
fft2
log(1+abs(L1));
angle(L1);
PRZYKŁAD GENERUJĄCY DWUWYMIAROWĄ FUNKCJĘ SINUS:
for i = 1:256
for j=1:256
a1(i,j)=uint8(127+128*sin(i/10));
end
end
PRZYKŁAD GENERUJĄCY DWUWYMIAROWĄ FUNKCJĘ GAUSSA:
for i=1:256
for j=1:256
gauss1(i,j)=normpdf( norm([i-128 j-128]) ,0,100);
end
end
gauss1=uint8(gauss1*( 255/max(max(gauss1)) ));