1. coursebook
  2. poznámky k pg

Editace a transfromace obrazu

Tato část je věnována editaci obrazu na úrovni jasových hodnot jednotlivých pixelů v rastru.

Histogram a monadické operace

Jednoduše, histogram zaznamenává počet pixelů o dané jasové hodnotě v obraze. Znalost jejich distribuce může pomoci nalézt vhodné paramtery pro další editaci. Hodí se tedy vědět, jak jednotlivé operace ovlivňují podobu histogramu.

Původní obraz je zde označen jako $f(x, y)$, obraz po transformaci jako $f'(x, y)$.

original $$f'(x, y) = f(x, y)$$

negace $$f'(x, y) = 1 - f(x, y)$$

prahování $$l = 0.5,\, f'(x, y) = \begin{cases}0\text{ iff }f(x, y) \leq l\\1\text{ iff } f(x, y) > l\end{cases}$$

jas $$l = 0.2,\, f'(x, y) = f(x, y) + l$$

kontrast $$l = 1.25,\, f'(x, y) = f(x, y) \cdot l$$

gamma $$\gamma = 1.75,\, f'(x, y) = f(x, y)^{\gamma}$$

nelineární kontrast $$f'(x, y) = \begin{cases}\frac{1}{2}(2f(x, y))^{\gamma}\text{ iff }f(x, y) \leq \frac{1}{2}\\1 - \frac{1}{2}(2 - 2f(x, y))^{\gamma} \text{ iff } f(x, y) > \frac{1}{2} \end{cases}\;\gamma = \frac{1}{1 - l},\;l = 0.5$$

logaritmizace $$f'(x, y) = \frac{\log(1 + f(x, y) \cdot l)}{\log(1 + l)},\; l = 8$$

kvantizace $$l = 5,\, f'(x, y) = \lfloor f(x, y) \cdot l\rfloor$$

ekvalizace viz níže

Ekvalizace histogramu a histogram matching

Ilustrace ekvalizace histogramu - mapování kumulativní distribuční funkce (cdf) příslušející vstupnímu obrazu na lineární cdf a poté zpětnou transformaci jasových hodnot, celou proceduru ilustruje následující obrázek.

ekvalizace histogramu

Operace histogram matching je analogická ekvalizaci výše, pouze je lineární kumulativní distribuční funkce (linear cdf) nahrazena cdf příslušející obrazu, jehož rozložení intenzit se snažíme namapovat na originální obraz. V případě barevných obrázků je možné postupovat po složkách nezávisle, viz ukázka níže.

histogram prvního snímku byl namapován na histogram druhého snímku, třetí snímek je výstup

Prostorové transformace

Pod pojmem transformace se neskrývá nic nečekaného, jedná se transformaci obrazu v prostoru, např:

Jednotlivé transformační operace lze reprezentovat pomocí matic a lze je roztřídit do několika kategorií dle vlastností, které v obraze zachovávají.

TODO

Liquid scale

Má smysl se zabývat i transformacemi, které nespadají do kategorií výše, na ukázku je zde uvedeno video z kurzu Introduction to Computational Thinking - MIT 18.S191 které přibližuje metodu škálování obrazu podobnou Liquid rescale (youtube).

Editace v gradientní oblasti

Jako zajímavost lze uvést, že existují automatické metody pro bezešvé sešívání obrazu založené na editaci v gradientní oblasti.

vlevo original, vpravo po editaci

první a druhý snímek byly sloučeny do třetího, šev je sice stále znatelný, je zde ale demonstrována schopnost automatické kompenzace různých expozic vstupních obrazů

TODO demo