Celem zajęć jest zapoznanie z modelami szumu w obrazach cyfrowych i wybranymi metodami filtracji szumu.
Zadania
Zaimplementować dowolne 3 spośród poniższych funkcji generowania szumu - 0,3 pkt dodatkowe 0,1 pkt za każdą dodatkową metodę (o ile zostanie ona przetestowana):
- Gaussa
- Erlanga
- Rayleigha
- Impulsowym (s&p)
- Jednorodnym
- Wykładniczym
Zaimplementować 3 spośród poniższych funkcji filtracji odszumiającej zgodnie z modelami opisanymi powyżej - 0,3 pkt dodatkowe 0,1 pkt za każdą dodatkową metodę (o ile zostanie ona przetestowana):
- Uśredniania arytmetycznego
- Uśredniania geometrycznego
- Uśredniania harmonicznego
- Uśredniania kontrharmonicznego
- Medianowym
- Punktu środkowego
Zaimplementować poniższe funkcje oceny jakości 0,2 pkt:
- PNSR
- NMSE
- IF
Dla każdej zaimplementowanej pary:
generator szumu - filtr
, wykonać następujący eksperyment badawczy 0,2 pkt:Wczytać obraz testowy (jednokanałowy, rozdzielczość minimum
256x256 px
)Wygenerować odpowiednie wartości szumu o rozmiarze obrazu (nie dodawać ich od razu)
W pętli dla współczynnika alfa (w zależności od wartości obrazu <0-1> lub <0-255>) dodawać szum w celu wygenerowania wykresów:
- Jako zmienną testową dodajemy do naszego obrazu szum w stosunki
obaz_zaszumiony= obraz + alfa*szum
(pamiętać, żeby zrobić clippingzmienna.clip()
). - Dokonujemy filtracji odszumiającej.
- Wyliczamy współczynniki jakości dla naszego obrazu zaszumionego i odszumionego.
- Jako zmienną testową dodajemy do naszego obrazu szum w stosunki
Uzyskane wyniki umieszczamy na wykresie:
Przedstawić swoje obserwacje i wnioski, na podstawie wygenerowanych wykresów.
Do oddania
- kod źródłowy (jeden plik
.py
) - sprawozdanie z obserwacjami i wynikami (format
PDF
)