Kolory i kompresja

20.04.2010 - Krzysztof Dryś
TrudnośćTrudność

Jak sprawić, by zdjęcia zajmowały mniej miejsca? Czy wszystkie kolory są równe? I jak wiedza zdobyta na biologii może przydać się w informatyce? Odpowiedzi na te wszystkie pytania znajdziecie w tym artykule!

Być może czytaliście już artykuł pod tytułem Drukarka, czyli kłamstwo Twoich oczu. Pokazuje on, na prostym przykładzie, jak oszukać ludzkie oczy. Tam zajmowaliśmy się tylko obrazkami czarno białymi. Dzisiaj przyszedł czas na kolorowe. Tu dopiero jest gdzie oszukiwać!

Obrazki czarno-białe...

Obrazek czarno-biały przechowywany jest w komputerze jako macierz $ U $. Jej pola odpowiadają jasności poszczególnych pikseli obrazka. Jeżeli $ U[i,j] = 0 $, to znaczy to, że piksel $ (i,j) $ jest czarny. Natomiast jeżeli $ U[i,j] = 255 $, to piksel $ (i,j) $ jest biały. Pośrednie wartości odpowiadają szarościom.

...i obrazki kolorowe

A jak poradzić sobie z kolorowymi obrazkami? W tym wypadku zamiast jednej macierzy będziemy mieli trzy: $ R $, $ G $ i $ B $. Ich nazwy pochodzą od pierwszych liter słów red, green i blue. Czyli: czerwony, zielony i niebieski. Łatwo chyba się domyślić, jakie informacje zawierają te macierze. W macierzy $ R $ będziemy pamiętali, ile czerwonego jest w pikselu. Jeżeli $ R[i,j] = 255 $, to znaczy że w pikselu $ (i,j) $ jest maksymalna ilość tego koloru. Podobnie macierze $ G $ i $ B $ określają zawartość zielonego i niebieskiego w pikselu.

alternative text
alternative text alternative text alternative text alternative text W lewym górnym rogu widzimy obrazek, który będziemy kompresować w tym artykule. W prawym górnym rogu wyświetlona jest czerwona składowa tego obrazka, czyli macierz $ R $. Na dole widzimy zieloną i niebieską składową - czyli macierze $ G $ i $ B $.

5
Twoja ocena: Brak Ocena: 5 (1 ocena)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com