Tartalom
Bár a számítógépünket és az életünket kitöltő raszteres képfájlokat leggyakrabban a képek ábrázolására használják, hasznosnak tartom egy CG művész számára, ha van még egy perspektívája - egy geekier. Ebből a szempontból a raszteres kép lényegében egy adott struktúrába rendezett adatkészlet, pontosabban - számokkal (matematikailag nézve mátrix) töltött táblázat.
Az egyes táblázatok celláiban lévő szám felhasználható egy szín ábrázolására, és így válik a cella pixellé, amely a „kép elem” rövidítést jelenti. Számos módszer létezik a színek numerikus kódolására. Például (valószínűleg a legegyszerűbb), hogy minden értékhez kifejezetten meghatározzon szám-szín megfelelőséget, azaz. 3 jelentése sötétvörös, 17 halványzöld és így tovább. Ezt a módszert gyakran alkalmazták a régebbi formátumokban, például a .gif fájlban, mivel ez bizonyos méretelőnyöket tett lehetővé korlátozott paletta rovására.
Egy másik módszer (a legelterjedtebb) a 0 és 1 (nem 255!) Folyamatos tartomány használata, ahol 0 a feketét, 1 a fehéret jelenti, és a köztük lévő számok a megfelelő világosság szürke árnyalatait jelölik. Így logikus és elegánsan szervezett módon kapjuk meg a monokróm kép raszteres fájllal való ábrázolását.
A „monokróm” kifejezés előfordulhat, hogy megfelelőbb, mint a „fekete-fehér”, mivel ugyanaz az adatsor használható a feketétől a másik színig terjedő színátmenetek ábrázolásához, a kimeneti eszköztől függően - mint sok régi monitor fekete-zöld volt nem pedig fekete-fehér.
Ez a rendszer azonban egyszerű megoldással könnyen kiterjeszthető a színes házra - minden táblázatcella több számot tartalmazhat, és ismételten többféle módon lehet leírni a színt, kevés (általában három) számmal, 0-1-ben. hatótávolság. Az RGB modellben a vörös, a zöld és a kék fény mennyiségét, a HSV-ben a színárnyalatot, a telítettséget és a fényerőt képviselik. De ami létfontosságú, az az, hogy ezek továbbra sem számok, csak a számok, amelyek egy adott jelentést kódolnak, de nem kell őket így értelmezni.
Logikai egység
Most hadd térjek át arra, hogy a pixel miért nem négyzet: Ez azért van, mert a táblázat, ami egy raszterkép, megmondja, hogy hány elem található minden sorban és oszlopban, sorrendben, de milyen formában vagy akár milyen arányban vannak.
Képet képezhetünk a fájlban lévő adatokból különböző eszközökkel, nem feltétlenül monitorral, ami csak egy lehetőség a kimeneti eszköz számára. Például, ha képfájlunkat vesszük, és a pixelértékekkel arányos méretű kavicsokat szétosztjuk valamilyen felületen - akkor is lényegében ugyanazt a képet fogjuk alkotni.
És még akkor is, ha csak az oszlopok felét vesszük, de arra utasítjuk magunkat, hogy az eloszláshoz kétszer szélesebb köveket használjunk - az eredmény akkor is alapvetően ugyanazt a képet mutatja megfelelő arányokkal, csak a vízszintes részletek fele hiányzik.
Az „utasítás” itt a kulcsszó. Ezt az utasítást pixel képaránynak hívják, amely leírja a kép felbontásának (sorok és oszlopok száma) és az arányok közötti különbséget. Lehetővé teszi vízszintesen kinyújtott vagy tömörített keretek tárolását, és bizonyos video- és filmformátumokban használják.
Most beszéljünk a felbontásról - ez megmutatja a kép maximális részletességét, de nem mond semmit arról, hogy valójában mennyi. A rosszul fókuszált fénykép nem javítható, függetlenül attól, hogy hány pixel van a kamera érzékelőjén. Ugyanígy a digitális kép nagyítása a Photoshopban vagy bármely más szerkesztőben növeli a felbontást anélkül, hogy bármilyen részletet vagy minőséget adna hozzá - az extra sorokat és oszlopokat csak az eredetileg szomszédos pixelek interpolált (átlagolt) értékeivel töltenék meg.
Hasonló módon a PPI (pixel per inch, általában más néven DPI - dots per inch) paraméter csak utasítás, amely megállapítja a képfájl felbontása és a kimenet fizikai méretei közötti összhangot. És így a PPI önmagában nagyjából értelmetlen, a kettő egyikének nélkül.
Egyéni adatok tárolása
Visszatérve az egyes pixelekben tárolt számokra, természetesen ezek bármilyenek lehetnek, beleértve az úgynevezett tartományon kívüli számokat (1 feletti és negatív értékek), és minden cellában több mint három szám tárolható. Ezeket a szolgáltatásokat csak az adott fájlformátum-meghatározás korlátozza, és az OpenEXR-ben széles körben használják ezek megnevezésére.
Az egyes pixelekben több szám tárolásának nagy előnye a függetlenségük, mivel mindegyikük külön-külön is tanulmányozható és manipulálható a Channel nevű monokróm képként - vagy egyfajta al-raszterként.
A szokásos színleíró vörös, zöld és kék csatornák további csatornái mindenféle információt hordozhatnak. Az alapértelmezett negyedik csatorna az Alpha, amely az átlátszatlanságot kódolja (0 átlátszó pixelt jelöl, 1 teljesen átlátszatlanat jelöl). A Z-mélység, a normálok, a sebesség (mozgásvektorok), a világpozíció, a környezeti elzáródás, az azonosítók és bármi más, amire csak gondolni lehet, akár további, akár a fő RGB csatornákban tárolhatók.
Valahányszor kinyomtat valamit, eldönti, hogy mely adatokat adja meg és hová helyezze. Ugyanígy dönt az összetétel során arról is, hogy miként kezelje a birtokában lévő adatokat a kívánt eredmény elérése érdekében. Ez a numerikus gondolkodásmód a képekről kiemelkedő fontosságú, és nagy hasznot fog hozni vizuális effektjeiben és mozgásgrafikus munkájában.
Az előnyök
Ennek a gondolkodásmódnak a alkalmazása a munkájában - miközben használja a renderelési bérleteket és elvégzi az összeállítási munkát - létfontosságú.
Az alapvető színkorrekciók például nem más, mint a pixelértékek elemi matematikai műveletei, és ezek átlátása meglehetősen elengedhetetlen a gyártási munkához. Ezenkívül matematikai műveletek, például összeadás, kivonás vagy szorzás végezhetők el pixelértékeken, és olyan adatokkal, mint a Normálok és a Helyzet, sok 3D-s árnyékoló eszköz utánozható 2D-ben.
Szavak: Denis Kozlov
Denis Kozlov a CG generalistája, 15 éves tapasztalattal rendelkezik a film-, TV-, reklám-, játék- és oktatási iparban. Jelenleg Prágában dolgozik VFX-felügyelőként. Ez a cikk eredetileg a 3D World 181. számában jelent meg.