Celem zajęć jest zapoznanie z mechanizmami filtracji obrazu w dziedzinie częstotliwości.
Zadania
- Zaimplementować funkcję dokonującą filtrację w dziedzinie częstotliwości dla dowolnej maski. (0,2 pkt)
- Przygotować generatory masek tak, aby można było na ich podstawie zbudować filtry określonego typu typ (dolnoprzepustowy, górnoprzepustowy) oraz wielkość powierzchni, która jest zerowana/pozostawiana. (0,2 pkt)
- Sprawdzić działanie opracowanego filtra na obrazie testowym i porównać do klasycznej filtracji splotowej – znaleźć maski filtra splotowego, które realizują tę sama funkcjonalność (filtr uśredniający, wyostrzający, krawędziowy), co filtr w dziedzinie częstotliwości. Pokazać widma obrazów po filtracji splotowej. (0,4 pkt)
- Ocenić czas działania wariantu splotowego oraz częstotliwościowego (np. poprzez
t1 = time.time(), t2 = time.time(), print(t2-t1)
). Czy szybkość działania filtra splotowego zależy od wielkości maski? Czy jest taka zależność w przypadku filtra w dziedzinie częstotliwości? (0,1 pkt) - Zbadać wpływ modyfikacji centralnego pikselu widma (adres \((0,0)\) przed
fftshift
) na jasność i kontrast obrazu (funkcje). (0,1 pkt) - Opisać obserwacje i podać wnioski.
Do oddania
- Sprawozdanie w
PDF
- Kod programu, jaki powstał w ramach instrukcji.