Tak się jakoś złożyło, że przez ostatnie dni zagłębiłem się w tematykę
ditheringu. Cóż implementacja algorytmów sama w sobie nie jest ciężka i po prawdzie przynosi ogrom radości, gdy w końcu udaje się wygenerować w miarę podobny do pierwowzoru obraz :P
Tak czy inaczej w celu uproszczenia programu używałem plików
PGM/PBM.
Ale czym jest sam dithering? W skrócie to jest to taka transformacja obrazu by przy mniejszej palecie kolorów dawał złudzenie większej palety, czy jak kto woli - najbardziej przypominał on pierwowzór.
Innymi słowy chodzi o to by np. taki 8 bitowy/px obraz (256 kolorów)
|
Orginal grayscale picture |
Po redukcji do 1 bita na piksel (2 kolory) nie wyglądał tak:
|
Threshold dithering |
ale np. tak:
|
Ordered dithering |
|
Floyd-Steinberg combined with ordered dithering
|
|
Floyd-Steinberg combined with ordered dithering and negative error propagation |
Prawda, że widać różnicę? Algorytmów do ditheringu jest cała masa i mimo iż niegdyś używano ich prawie jedynie do przełamywania technologicznych ograniczeń (np. wyświetlacze o małej gamie barw) to obecnie używa się ich również w artystycznym ujęciu. Ot choćby obraz wektorowy poddany ditheringowi może okazać się ciekawszy dla widza niż przed taką obróbką (ludzie to takie dziwne stworzenia co nie lubią wyraźnych konturów i jednolitych powierzchni).
Brak komentarzy:
Prześlij komentarz