User:DavidsMarkovs/sandbox
Datorgrafikā alfa kompozīcija ir process, kurā tiek apvienots attēls ar fonu, lai radītu daļējas vai pilnīgas pārredzamības izskatu. Bieži vien ir lietderīgi attēla elementus padarīt par atsevišķiem caurlaidēm, un pēc tam apvienot iegūtos vairākus 2D attēlus vienā galīgajā attēlā, ko sauc par kompozītu . Piemēram, salikšanai tiek plaši izmantota, kombinējot datorā attēlotus attēla elementus ar tiešraides materiāliem.
Lai pareizi apvienotu šos attēla elementus, ir nepieciešams saglabāt saistītu matētu katram elementam. Šis matēts satur informāciju par pārklājumu , ģeometrijas formu, kura tiek zīmēta — kas ļauj atšķirt attēla daļas, kurās faktiski tika uzzīmēta ģeometrija, un citas tukšās attēla daļas.
Apraksts
[edit]Lai saglabātu matētu informāciju, Alvy Ray Smith tika ieviests alfa kanāla jēdziens 1970. gadu beigās, un 1984. gadā to izstrādāja Thomas Porter un Tom Duff .[1] 2D attēla elementā, kas saglabā krāsu katram pikselim, papildu dati tiek saglabāti alfa kanālā ar vērtību no 0 līdz 1. Vērtība 0 nozīmē, ka pikseļiem nav informācijas par pārklājumu un ir pārredzama; tiem, nebija nekādas ģeometrijas, jo ģeometrija nepārklāja šo pikseļu. Vērtība 1 nozīmē, ka pikseļi ir necaurspīdīgi, jo ģeometrija pilnībā pārklājas ar pikseļiem.
Ja attēlā tiek izmantots alfa kanāls, tad ir pieejami divi kopīgi attēlojumi: taisni (nesaistīti) un sareizinātie (saistīti).
Ar taisnu alfa palīdzību RGB komponenti attēlo objektu vai pikseļa krāsu, neņemot vērā tā necaurredzamību.
Ar sākotnējo alfa palīdzību RGB komponenti attēlo objekta vai pikseļa emisiju, un alfa ir oklūziju. Acīmredzamāka priekšrocība ir tā, ka atsevišķās situācijās tā var saglabāt turpmāku reizināšanu (piemēram, ja attēls tiek izmantots daudzas reizes vēlākos komponēšanas laikos). Tomēr visnozīmīgākās priekšrocības, lietojot iepriekšējo alfa, ir pareizība un vienkāršība, nevis veiktspēja: Ar iepriekšējo alfa ļauj pareizi filtrēt un sajaukt. Turklāt, multiplikācijas alfa ļauj regulāras alfa maisīšanas reģioniem un reģioniem ar piedevu sajaukšanas režīmu kodēt vienā un tajā pašā attēlā, jo kanālu vērtības parasti tiek saglabātas fiksētā punkta formātā, kas ierobežo vērtības starp 0 un 1.[2]
Pieņemot, ka pikseļu krāsa ir izteikta izmantojot taisnes un nav iepriekšējais alfa, tad RGBA kortežs, pikseļa vērtība (0, 0,7, 0, 0,5) apraksta pikseli, kas ir 70% ar maksimāli zaļo intensitāti un 50% necaurredzamību. Ja krāsa būtu pilnīgi zaļa, tā RGBA būtu (0, 1, 0, 0,5).
Pastāvot alfa kanāla pastāvēšanai, ir iespējams izteikt kompozītu attēlu operācijas, izmantojot kompostēšanas algebru . Piemēram, ņemot vērā divus attēla elementus A un B, visbiežāk sastopamā kompozīcija ir apvienot attēlus, tādējādi, ka priekšplānā parādās A un fonā - B. To var izteikt kā A sareizināts ar B. No apsvērumiem par izvēli, apvienojot divu pikseļu krāsas, ja to pārklājums ir konceptuāli pārklāts ortogonāli:
Alfa sajaukšana ar gamma korekciju
[edit]Datoru attēlos saglabātas RGB vērtības faktiski nav īstās gaismas intensitātes, bet tās ir pārveidotas ar Gamma korekciju, lai optimizētu bitu izmantošanu, kodējot attēlu.
Gamma korekciju var apkopot šādi:
- Parādītais RGB ir RGB intensitāte, kas tiek parādīta ekrānā (normalizētā intensitātē no 0 līdz 1)
- Saglabātais RGB ir RGB intensitāte, kas tiek saglabāta kā biti datora atmiņā (arī normalizētā intensitātē)
- γ ir "dekodēšanas" gamma 2.2. no saglabātā RGB attēla ( gammas tipiska vērtība ir 2,2.
Tad mums ir šāda saistība: Parādītais RGB = Saglabātais RGB kāpināts ar γ
Atsauces
[edit]- ^ Porter, Thomas; Duff, Tom (July 1984). "Compositing Digital Images" (PDF). SIGGRAPH Computer Graphics. 18 (3). New York City, New York: ACM Press: 253–259. doi:10.1145/800031.808606. ISBN 9780897911382. Archived from the original (PDF) on 2011-04-29. Retrieved 2019-03-11.
- ^ "TomF's Tech Blog - It's only pretending to be a wiki". tomforsyth1000.github.io. Retrieved 8 May 2018.
References
[edit]