Podręcznik Grafika komputerowa i wizualizacja
Rozdział 10. ŚWIATŁO I BARWA W GRAFICE KOMPUTEROWEJ
10.6. Zniekształcenia spowodowane rastrem
Raster i skończone rozmiary piksela
powodują, że rysunek zostaje zniekształcony. Wszystkie ukośne linie przybierają
„schodkowy” kształt (przykład odcinka na rysunku). Dla złożonych obrazów może
to utrudniać interpretację rysunku – przykładem może być szachownica widziana
pod kątem. Naturalnym rozwiązaniem tego problemu wydaje się, po prostu,
zmniejszenie rozmiarów piksela, czyli zwiększenie rozdzielczości rastra.
Niestety nie jest to takie proste. Na przeszkodzie stają właściwości oka
ludzkiego, które stara się powiększyć różnicę jasności sąsiadujących ze sobą
pól. Dzięki temu możemy czytać gazetę o zmierzchu, ale powoduje to również, że
idealny obraz mogą zakłócić nam nawet najdrobniejsze rysy. Zwiększenie
rozdzielczości rastra, w pewnym zakresie, niewiele więc daje. Oczywiście jest
pewna granica rozdzielczości kątowej, powyżej której można „oszukać” oko. W
fotografii cyfrowej i poligrafii przyjmuje się, że taką granicą jest 300dpi
(dots per inch – punktów na cal) dla zdjęć i publikacji oglądanych „na wyciągnięcie
ręki”, czyli z odległości 40 – 60
cm. Taka rozdzielczość zapewnia, że oko nie zauważy
rastrowego charakteru rysunku. Oznacza to np., że aby zapewnić dobrą jakość
zdjęcia 10x15 cm (4x6 cali), to powinno ono mieć rozdzielczość1200x1800
pikseli. Dwa razy większe zdjęcie – dwa razy większa rozdzielczość. Oczywiście
np. plakaty reklamowe oglądamy z zupełnie innej odległości, stąd aby zapewnić
odpowiednią rozdzielczość kątową potrzebna jest inna rozdzielczość obrazu.
Rys.10.22. Przykład zniekształceń spowodowanych
rastrem.
Rys.10.23. Zastosowanie antyaliasingu do poprawy
wyglądu rysunku w technice rastrowej.
Nie zawsze odpowiednia rozdzielczość jest możliwa do osiągnięcia. Aby w takiej sytuacji poprawić odbiór rastrowego obrazka wykorzystuje się tzw. antyaliasing – metodę poprawy wyglądu bazującą na teorii sygnałów (rys.10.22 i 10.23). Tak naprawdę problem wynika z próbkowania z określoną rozdzielczością. Oprócz schodkowych odcinków może się więc pojawić problem znikania (i czasowego pojawiania się) obiektów na tyle małych, że mogą zmieścić się pomiędzy próbkami. Błędy próbkowania zamienia się na błędy zaszumienia – na które oko ludzkie jest mniej wrażliwe. Stosując odpowiednie filtrowanie dokonuje się „rozmycia”, dotychczas kontrastowej, barwy sąsiednich pikseli (odcinek na rysunkach 10.22 i 10.23). Oko ludzkie dokona pewnego rodzaju uśrednienia, co prawda operacja taka nie doda szczegółów, ale problem schodków przestaje przeszkadzać. Nawet widok szachownicy sprawia wtedy wrażenie poprawnego. Warunkiem koniecznym uzyskania tego efektu jest duża liczba barw lub stopni szarości dla każdego piksela.
Biorąc pod uwagę możliwość rozróżniania barw przez oko ludzkie przyjmuje się, że aby pokazać pełną paletę barw potrzeba 24 bity na piksel (po 8 bitów na każdą składową RGB). Standardem dla kart graficznych stało się przechowywanie informacji w postaci 32 bitów na piksel. W takich rozwiązaniach dodatkowe bity mogą być wykorzystane do opisu innych właściwości np. przezroczystości. Czasami stajemy przed dylematem czy, z dwojga złego, lepiej wybrać tryb pracy o mniejszej rozdzielczości np. 800x600, ale z pełną skalą barw (24 bity na piksel), czy wyższą rozdzielczość np. 1200x1024 ale tylko 8 bitów na piksel. Biorąc pod uwagę właściwości oka ludzkiego i możliwości programów graficznych, rozstrzygnięcie będzie oczywiste. Poza wyjątkowymi i szczególnymi przypadkami, pierwszy wariant pozwoli uzyskać lepszy i przyjemniejszy w odbiorze obraz.