Poznámky z 5. prezentace z UPG
This commit is contained in:
parent
60c4fa93ae
commit
8e774fefd0
1 changed files with 120 additions and 0 deletions
120
KIV UPG/05. Pokročilá bitmapová grafika.md
Normal file
120
KIV UPG/05. Pokročilá bitmapová grafika.md
Normal file
|
@ -0,0 +1,120 @@
|
|||
# Pokročilá bitmapová grafika
|
||||
|
||||
## Změna měřítka
|
||||
|
||||
- změna velikosti = změna počtu pixelů
|
||||
- obvykle změna na ose x a y
|
||||
|
||||
**Princip**
|
||||
- stanovit hodnoty v nových bodech
|
||||
- výsledek by měl být stejný, jako bychom původní signál vzorkovali s tímto rozlišením
|
||||
- zvětšení 4x metodou nejbližšího souseda
|
||||
- nejjednodušší, nejrychlejší
|
||||
- obvykle nevhodné
|
||||
- zvětšení 4x metodou (bi)lineární interpolace
|
||||
- jednoduché a rychlé
|
||||
- stardardní volba pro většinu grafických knihoven
|
||||
- vhodné jen pro malá zvětšení
|
||||
- zvětšení 4x metodou (bi)kubické interpolace
|
||||
- pro každou dvojici sousedních pixelů najít kubickou funkci $f(t)$ takovou, že $f(0)$ = první pixel, $f(1)$ = druhý
|
||||
- stanovit hodnoty $f(0.25), f(0.5)$ a $f(0.75)$
|
||||
- vhodné zejména pro větší zvětšení
|
||||
- lépe zachovává hrany
|
||||
- podstatně pomalejší
|
||||
|
||||
**Zvětšení kx**
|
||||
- k je reálné číslo > 1
|
||||
|
||||
**Zmenšení kx**
|
||||
- k je reálné číslo z (1, 2)
|
||||
- k je reálné číslo >= 2 - problém s kvalitou všech tří metod
|
||||
|
||||
Zmenšení 2x metodou nejbližšího souseda
|
||||
- jedná se o princip vzorkování
|
||||
- každý druhý pixel vynechá
|
||||
- nejjednodušší možné
|
||||
- použitelné v praxi pro velmi rychlé náhledy
|
||||
|
||||
**Aliasing**
|
||||
- vzniká při vzorkování obrazu s opakujícím se vzorem, pokud vzorkovací frekvence $f_{s}$ je srovnatelná s frekvencí $f_{p}$ opakování vzoru
|
||||
- $f_{s} = 1 /$ vzdálenost středů sousedních pixelů
|
||||
- $f_{p} = 1 /$ vzdálenost začátků opakovaného vzoru
|
||||
- $f_{s} > 2f_{p} \to$ frekvence již nejsou srovnatelné
|
||||
+ úplné odstranění prakticky nemožné
|
||||
+ potlačení (anti-aliasing)
|
||||
+ nebude tolik rušivý
|
||||
+ metoda tzv. super-samplingu
|
||||
+ relativně rychlé
|
||||
+ ClearType
|
||||
+ využívá znalostí rozložení R, G, B prvků displeje
|
||||
+ mění barvu krajních pixelů pro dosažení průměrování
|
||||
|
||||
**Mip-maping**
|
||||
- technika pro zobrazování velkých obrázků na různé úrovni přiblížení
|
||||
- obrázek bývá rozřezán na rozumně velké bloky (např. 256x256 px)
|
||||
- bloky jsou zmenšeny na různé rozměry
|
||||
- lze použít náročné metody díky využití pre-procesingu
|
||||
- při zobrazení je možno
|
||||
- vybrat nejvhodnější vygenerované rozlišení a jeho výřez zobrazit
|
||||
- vybrat nejvhodnější vyšší rozlišení a změnit jeho měřítko tak, aby to vyhovovalo požadavkům
|
||||
|
||||
**Konvoluční filtrování**
|
||||
- používá se např. pro
|
||||
- rozmazání obrázku pro eliminaci šumu (Gaussovský filtr)
|
||||
- detekce hran v obrázku
|
||||
- vytvoření vrženého stínu
|
||||
- obdoba bilineární filtrace
|
||||
- žádné pixely nezahazujeme
|
||||
|
||||
## Kreslení do bitmapy
|
||||
|
||||
- doplnění popisků, anotace, ...
|
||||
|
||||
**Manuální**
|
||||
- programátor mění obsah jednotlivých pixelů bitmapy
|
||||
- např. rozpoznání obrazu či přebarvení obrázku
|
||||
|
||||
**Automatické**
|
||||
- nad bitmapou se vytvoří grafický kontext
|
||||
- kreslí se do grafického kontextu voláním obvyklých metod
|
||||
- např. doplnění vektorové grafiky do obrázku (popisky, křivky silnic, šipky, ...)
|
||||
- klíčové pro tzv. double-buffering
|
||||
|
||||
**Double buffering**
|
||||
- místo kreslení rovnou na obrazovku kreslíme do bitmapy o stejné velikosti
|
||||
- výsledek se poté zobrazí na obrazovku (1:1)
|
||||
- pomalejší, ale nezbytné pro animace
|
||||
|
||||
**Vodoznak**
|
||||
- nejčastěji pro účely copyrightu
|
||||
- může být viditelný (neměl by jít snadno retušovat)
|
||||
- může být neviditelný
|
||||
- obrázek není viditelně poškozen
|
||||
- data vodoznaku skryta (modifikují se barvy pixelů)
|
||||
- používají se různé algoritmy
|
||||
- autor může dokázat, že se jedná o jeho obrázek
|
||||
- možno použít i pro ověření pravosti dat
|
||||
|
||||
**Alfa kanál**
|
||||
- doplňuje barevnou informaci (např. RGB) o to, zda pixel je průhledný (0) či nikoliv (1)
|
||||
- částečná průhlednost = hodnota z intervalu 0.0 - 1.0
|
||||
- v praxi nejčastěji ukládán do 8 bitů (256 úrovní)
|
||||
- umožňuje snazší spojení dvou bitmap do sebe
|
||||
|
||||
**Vrstvy**
|
||||
- výsledný obraz vznikne složením obrázků přes sebe
|
||||
- vrstvy lze ukládat/načítat oddělené
|
||||
|
||||
**Alfa kompozice**
|
||||
- vrstvy se skládají na základě informace o průhlednosti (tzv. alfa)
|
||||
- může být specifikována pro celý obrázek nebo zvlášť pro jednotlivé pixely
|
||||
|
||||
**Maximum (lighten)**
|
||||
- černá = pozadí
|
||||
- bílá = to, co má být vidět
|
||||
|
||||
**Minimum (darken)**
|
||||
- opak maxima
|
||||
|
||||
**Multiply**
|
||||
- lokální ztmavení obrázku X a Y určuje míru ztmavení
|
Loading…
Reference in a new issue