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