Kwantyzacja to nazwa grupy przekształceń sygnałów (np. dźwięku, obrazu, wartości odczytanej z czujnika), która zmniejsza precyzję sygnałów, aby mogły one zostać przetworzone przez jakieś urządzenie. W ramach zajęć będziemy zmniejszać rozdzielczość bitową obrazu poprzez zmniejszanie ilości bitów, na jakich będzie zapisany pojedynczy piksel naszego obrazu. Będziemy również testować skuteczność algorytmów, które mają na celu poprawę jakości wyświetlania/drukowania obrazów przy bardzo małej ilości informacji jednak zwiększając ich czytelność w stosunku do czystej kwantyzacji.

W celu ułatwienia pracy i uniknięcia problemów przy pracy z niektórymi algorytmami można pracować na zmiennoprzecinkowym typie danych float (zakres \(<0,1>\)). Należy tylko pilnować, żeby po redukcji rozdzielczości bitowej, aby ilość wartości naszego obrazu nie przekraczała założonej ilości. Przykładowo dla 4-bitowej dokładności wartości koloru powinno być 16 (\(2^4=16\)). Można to w łatwy sposób sprawdzić przy wykorzystaniu funkcji:

np.unique(zmienna).size

Poniżej kilka przykładów redukcji rozdzielczości bitowej (kwantyzacji) dla obrazów kolorowych i w skali odcieni szarości.

Przykłady kwantyzacji przy użyciu ColorFit
Przykład zmiany rozdzielczości bitowej dla obrazów w skali odcieni szarości
Przykład zmiany rozdzielczości bitowej dla obrazów w skali odcieni szarości
Przykład zmiany rozdzielczości bitowej dla obrazów w skali odcieni szarości
Przykład zmiany rozdzielczości bitowej dla obrazów kolorowych
Przykład zmiany rozdzielczości bitowej dla obrazów kolorowych
Przykład zmiany rozdzielczości bitowej dla obrazów kolorowych
Przykład zmiany rozdzielczości bitowej dla obrazów kolorowych
Przykład zmiany rozdzielczości bitowej dla obrazów kolorowych

Dithering

Dithering to zamierzony efekt zastosowania szumu w celu zniwelowania błędu kwantyzacji. W trybie kolorowym próba stworzenia koloru poprzez kompozycję kilku barw z dostępnej palety, gdy kolor oryginalny nie może zostać bezpośrednio wyświetlony. W trybie czarno-białym podobna symulacja jak w trybie kolorowym, lecz z zastosowaniem do odcieni szarości. Przeanalizujemy tutaj kilka rozwiązań, mających na celu poprawię wyglądu obrazów w celu poprawy jakości wizualnej obrazów o zmniejszonej rozdzielczości bitowej. Wszystkie przykładowe wizualizacje opisanych tu metod zostały zebrane na końcu fragmentu opisującego Dithering.

Przykłady działania Ditheringu
Przykładowy dithering dla 1 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 2 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 4 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 1 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 2 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 4 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 1 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 2 bitu koloru w skali odcieni szarości
Przykładowy dithering dla 4 bitu koloru w skali odcieni szarości
Przykładowy dithering obrazów kolorowych paleta 8 kolorów
Przykładowy dithering obrazów kolorowych paleta 16 kolorów
Przykładowy dithering obrazów kolorowych paleta 8 kolorów
Przykładowy dithering obrazów kolorowych paleta 16 kolorów
Przykładowy dithering obrazów kolorowych paleta 8 kolorów
Przykładowy dithering obrazów kolorowych paleta 16 kolorów
Przykładowy dithering obrazów kolorowych paleta 8 kolorów
Przykładowy dithering obrazów kolorowych paleta 16 kolorów