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)) ));