Celem zajęć jest zapoznanie z mechanizmami filtracji obrazu w dziedzinie częstotliwości.

Zadania

  1. Zaimplementować funkcję dokonującą filtrację w dziedzinie częstotliwości dla dowolnej maski. (0,2 pkt)
  2. 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)
  3. 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)
  4. 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)
  5. Zbadać wpływ modyfikacji centralnego pikselu widma (adres \((0,0)\) przed fftshift) na jasność i kontrast obrazu (funkcje). (0,1 pkt)
  6. Opisać obserwacje i podać wnioski.

Do oddania

  • Sprawozdanie w PDF
  • Kod programu, jaki powstał w ramach instrukcji.