Pliki do zajęć:

Zadania

  1. Do zaimplementowania dla obrazów kolorowych i skali odcieni szarości:
    1. Funkcja colorFit działającą dla obrazu kolorowego i skali odcieni szarości, która dla podanego przez was koloru piksela zwróci najbliższy mu kolor z podanej palety kolorów. Funkcja przyjmuje na wejściu dwa parametry:

      • wartość koloru
      • paletę kolorów w formie tabeli Nx1 - dla obrazów w skali odcieni szarości lub Nx3 dla obrazów w RGB, gdzie N to ilość kolorów w palecie.

      Prawidłowo napisana funkcja wykorzystująca funkcje podpowiedziane w instrukcji powinna działać niezależnie od tego, czy podajecie mu dane w RGB, czy w skali odcieni szarości o ile będą to prawidłowo ustawione dane. (0,2 pkt)

    2. Trzy funkcje realizujące dithering. Poprawnie napisane funkcje powinny działać jednakowo zarówno dla obrazów kolorowych, jak i tych w skali odcieni szarości, o ile dostaną one dostarczoną odpowiednią paletę. (0,3 pkt):

      • Losowy (dla obrazów binarnych = jedna warstwa)
      • Zorganizowany dla co najmniej M2 (macierz o rozmiarze 4x4) [dla float r=1, ale możecie również przetestować inne parametry]
      • Floyd–Steinberga

      Do testowania poprawności działania algorytmów w instrukcji znajduje się linijka testowa dla dowolnego obrazu w skali odcieni szarości. Proszę ją wykorzystać, żeby upewnić się, że wasze algorytmy działają w sposób prawidłowy.

  2. Przebadać skuteczność działania poprawnie wykonanych funkcji ditheringu na załączonych próbkach. Wybrać 4 zdjęcia kolorowe z dołączonych oraz wszystkie w skali odcieni szarości (są tylko 3 i trzeba je przeliczyć do 1 warstwy) — tu zawsze proszę przetestować na głowie figury i porównać wynik działania z wynikami zaprezentowanymi w instrukcji, żeby mieć pewność, że macie poprawne wyniki. (0,5 pkt)
    • Porównać działanie algorytmów oraz czystej kwantyzacji:
      • Dla danych w skali odcieni szarości zapisanych na 1,2 oraz 4 bitach.
      • Dla danych kolorowych wykorzystać podane w instrukcji palety kolorów (8,16 - kolorów).

Do oddania

  • kod źródłowy (jeden plik .py)
  • sprawozdanie z obserwacjami i wynikami w formacie PDF

Kwantyzacja