• Co je interpolace fotoaparátu v telefonu a k čemu slouží? Změna rozlišení interpolací obrazu

    Změna rozlišení interpolací obrazu

    Přednáška: Adobe Photoshop CS5 pro návrháře a fotografa

    Adobe Photoshop CS5- Nejnovější verze legendární grafický editor. Už samotný překlad názvu programu „Photoshop“ napovídá, že se jedná o program pro fotografy. Software Adobe® Photoshop® CS5, vyhovuje světovým standardům, umožňuje tvořit profesionální obrázky na nejvyšší úroveň. V nová verze můžete malovat realistické ilustrace, rychle vytvářet úžasné obrázky HDR, odstraňovat šum, přidávat zrno a upravovat vinětaci pomocí nejpokročilejších nástrojů pro úpravu fotografií. Na přednáškách se nebudeme hluboce pouštět do teorie počítačové grafiky, ale zaměříme se na nácvik práce s fotografickým obrazem.

    Základní pojmy z počítačové grafiky

    Aby uživatel mohl pracovat s Adobe Photoshop ne mechanicky, ale s porozuměním jejich akcím, musí mít určité obecné (základní) znalosti o vlastnostech digitálních obrázků. Tato kapitola je věnována charakteristikám bitmapy který určuje jeho kvalitu. Faktem je, že jakýkoli digitální obraz v počítači je charakterizován souborem jeho parametrů, jako je velikost, rozlišení, formát a typ barevného modelu. Uvedené parametry určují kvalitu rastrového obrázku a také velikost (váhu) grafického souboru.

    Rozlišení obrazu

    Rastrové obrázky se skládají z kolekce drobných prvků zvaných pixely. Pixel je základním stavebním kamenem rastrových obrázků a je akceptovanou jednotkou počítačová grafika, stejně jako metr, kilogram a litr jsou akceptovány pro měření v každodenním životě.

    Počet pixelů v obrázku určuje jeho rozlišení. Pixelům se často říká body, rozlišení se pak měří v dpi (bod na palec), tedy v počtu bodů na palec.

    Poznámka

    V počítačová literatura existuje zmatek v termínech a někteří autoři měří rozlišení monitorů v dpi (bod na palec), skenerů v ppi (pixel na palec) - pixel na palec a tiskáren v lpi (řádek na palec) - řádků na palec. Jiní autoři knih měří rozlišení jakéhokoli obrázku bez ohledu na způsob jeho získání pouze v dpi.

    Pokud se nad tím zamyslíte, je zřejmé, že čím vyšší je rozlišení, tím více pixelů obrázek obsahuje velké množství detaily (tedy kvalita) takový obraz charakterizuje. Na druhou stranu s vyšším rozlišením obrazu přímo souvisí velká velikost takový soubor obrázku. Proto nastavení hodnoty rozlišení závisí na cílech a záměrech počítačového umělce a bude se lišit pro konkrétní dílo. Webdesignéři například obvykle pracují s obrázky 72–96 dpi, zatímco tiskárny preferují rozlišení obrázků 300 dpi nebo vyšší (obrázek 1.1).

    Rýže. 1.1. Obrázek s vysokým rozlišením vlevo (soubor 977 Kb) a obrázek s nízkým rozlišením vpravo (soubor 41 Kb)

    Barevná hloubka

    V černobílé obrázkyúrovně jasu jsou reprezentovány jako odstíny šedá barva a v barevných obrázcích se tyto úrovně zobrazují jako různé barevné tóny. Přitom je zřejmé, že černobílé fotografie vnímáno jako méně kvalitní než barevná fotografie. Jinými slovy, čím více odstínů barev v obrázku, tím vyšší je jeho jasové (barevné) rozlišení, nazývané barevná hloubka, a víceúrovně jasu (barvy) bude obsahovat takový soubor obrázku.

    Nový termín

    Barevná hloubka charakterizuje počet reprodukovaných gradací jasu pixelu v černobílých obrázcích a počet barev zobrazených v barevném obrázku.

    Pro příklad na Obr. Obrázek 1.2 ukazuje stejný obrázek, ale s různými barevnými hloubkami: dvě barvy nahoře a 256 odstínů šedi dole. Tento obrázek jasně ukazuje, že čím vyšší je počet reprodukovaných gradací jasu pixelů v černobílých obrázcích (a počet barev zobrazených v barevném obrázku), tím vyšší je kvalita bitmapového obrázku.

    Rýže. 1.2. Stejný obrázek, ale jiná barevná hloubka

    Z hlediska barevné hloubky lze bitmapy rozdělit do několika typů:

    Pro monochromatický černobílý (Black and White) obrázek se používají pouze dva typy buněk: černá a bílá. K uložení každého pixelu je tedy zapotřebí pouze 1 bit počítačové paměti. Takové obrázky se často označují jako 1bitové obrázky. V souladu s tím se jejich barevné rozlišení bude rovnat 1 bit/pixel.

    V jiném typu bitmapy, nazývaném stupně šedi (Grayscale), je na pixel přiděleno až 8 bitů informace. To umožňuje pracovat s kombinací 256 gradací jasu, pokrývající celou škálu odstínů šedé od černé po bílou. Příklad desetistupňové šedé stupnice je uveden na Obr. 1.3.

    Rýže. 1.3. Deset odstínů šedé – od bílé (100 %) po černou (0 %)

    Pro práci s obrázky, jejichž popis vyžaduje velké barevné rozlišení, se používají barevné modely RGB, Lab a CMYK. V případě formátu RGB je barva každého pixelu určena kombinací tří barev: červené, zelené a modré. V závislosti na účelu může mít obrázek 16bitové, 24bitové nebo 32bitové barevné rozlišení (barevná hloubka).

    V CMYK je barva každého pixelu tvořena pomocí čtyř barevných kanálů: azurová, purpurová, žlutá a černá. Díky přítomnosti dalšího kanálu je barva CMYK model obsahuje přibližně o 25 procent více informací než obrázek RGB.

    Změna rozlišení interpolací obrazu

    Pokud povolení digitální obraz, získané pomocí matice skeneru (nebo digitálního fotoaparátu) se shodují s počtem světlocitlivých prvků skeneru (nebo fotoaparátu), pak hovoří o skutečném (hardwarovém nebo fyzickém) rozlišení. Ovšem jak ve vybavení pro digitalizaci snímků, tak v grafické programy je možné použít operaci interpolace (Resampling), tedy změnu rozlišení, kterou lze implementovat různé způsoby. Například v program Adobe Photoshop (obr. 1.4) implementuje tři způsoby interpolace – sousední, bilineární a bikubickou.

    Rýže. 1.4. Způsoby interpolace obrázků v Adobe Photoshop

    Při interpolaci sousedy (Nearest Neighbor) se pro pixel přidaný programem bere hodnota pixelu, který k němu sousedí. To znamená, že pokud je sousední pixel červený, pak program zvýší rozlišení obrázku přidáním červeného pixelu.



    V případě bilineární (Bilinear) interpolace grafický editor bere průměrnou barevnou hodnotu pixelů na každé straně nově vytvořeného. Například růžová se objeví mezi červenou a bílou.

    Bikubická (bikubická) interpolace zprůměruje hodnotu skupiny nejen přímo sousedících, ale i všech sousedních pixelů. Jaký rozsah pixelů se zvolí pro průměrování a jakým algoritmem k tomuto průměrování dochází - to je rozdíl mezi metodami bikubické interpolace. Na obrázku výše vidíme tři možnosti bikubické interpolace v Adobe Photoshopu.

    Poznámka

    Rozlišení obrazu získané pomocí softwarové interpolace je vždy horší než skutečné (fyzické) rozlišení, protože umělé přidávání pixelů snižuje kvalitu obrazu (dochází ke ztrátě jeho jemných detailů). Jinými slovy, čím více je obraz transformován, tím více degraduje.

    Funkce změny velikosti obrázku poskytovaná Emgu (.net wrapper pro OpenCV) může používat kteroukoli ze čtyř interpolačních metod:

    • CV_INTER_NN (výchozí)
    • CV_INTER_LINEAR
    • CV_INTER_CUBIC
    • CV_INTER_AREA

    Lineární interpolaci zhruba rozumím, ale co je krychle nebo plocha, mohu jen hádat. Mám podezření, že NN znamená nejbližší soused, ale mohu se mýlit.

    Důvod, proč měním velikost obrázku, je snížit počet pixelů (v určitém okamžiku se budou opakovat) a zároveň je zachovat reprezentativní. Zmiňuji to, protože se mi zdá, že interpolace je pro tento účel ústřední – proto správný typ by měla být velmi důležitá.

    Moje otázka zní, jaké jsou výhody a nevýhody jednotlivých interpolačních metod? Jak se liší a který z nich bych měl použít?

    4 odpovědi

    Nejbližší soused bude co nejrychlejší, ale při změně velikosti přijdete o podstatné informace.

    Lineární interpolace je méně rychlá, ale neztratí informace, pokud obrázek nezmenšíte (což jste).

    Kubická interpolace (pravděpodobně ve skutečnosti „Bkubická“) používá jeden z mnoha možných vzorců, které zahrnují více sousedních pixelů. To je mnohem lepší pro zmenšení obrázků, ale stále jste omezeni v tom, jak moc můžete zmenšit bez ztráty informací. V závislosti na algoritmu můžete obrázky zmenšit o 50 % nebo 75 %. Hlavní výhodou tohoto přístupu je, že je mnohem pomalejší.

    Nejste si jisti, co je "area" - ve skutečnosti by to mohlo být "Bicubic". S největší pravděpodobností tato možnost poskytne nejlepší výsledek (z hlediska ztráty/vzhledu informací), ale na úkor nejdelší doby zpracování.

    Použitá metoda interpolace závisí na tom, čeho se snažíte dosáhnout:

    CV_INTER_LINEAR nebo CV_INTER_CUBIC používá nízkopropustný filtr (střední), aby dosáhl kompromisu mezi vizuální kvalitou a odstraněním okrajů (dolní propusti mají tendenci odstraňovat okraje, aby omezily aliasing obrazu). Mezi těmito dvěma bych vám doporučil CV_INTER_CUBIC.

    Metoda CV_INTER_NN je ve skutečnosti nejbližší soused, toto je nejzákladnější metoda a získáte ostřejší hrany (nebude aplikován žádný dolní propust). Tato metoda je však jen jako „zmenšování“ obrazu, žádné vizuální vylepšení.

    Algoritmy: (popisy z dokumentace OpenCV)

    • INTER_NEAREST - interpolace nejbližšího souseda
    • INTER_LINEAR – bilineární interpolace (ve výchozím nastavení)
    • INTER_AREA - převzorkování pomocí poměru plochy pixelů. Toto může být preferovaná metoda pro decimaci obrazu, protože poskytuje výsledky bez moaré. Ale když je obrázek zmenšen, je to jako metoda INTER_NEAREST.
    • INTER_CUBIC - bikubická interpolace v okolí 4x4 pixelů.
    • INTER_LANCZOS4 - Lanczosova interpolace v sousedství 8x8 pixelů

    Pokud chcete zvýšit rychlost, použijte metodu Nejbližší soused.

    K interpolaci obrazu dochází u všech digitální fotografie v určité fázi, ať už jde o dematrizaci nebo škálování. Stává se to vždy, když změníte velikost nebo rozbalíte obrázek z jedné mřížky pixelů na druhou. Změna velikosti obrázku je nezbytná, když potřebujete zvýšit nebo snížit počet pixelů, přičemž ke změně polohy může dojít nanejvýš různé příležitosti: Korekce zkreslení čočky, změna perspektivy nebo otočení obrazu.


    I když se změní velikost nebo znovu naskenuje stejný obrázek, výsledky se mohou výrazně lišit v závislosti na interpolačním algoritmu. Protože jakákoli interpolace je pouze aproximace, obraz ztratí určitou kvalitu, kdykoli bude interpolován. Účelem této kapitoly je poskytnout lepší pochopení toho, co ovlivňuje výsledek – a tím vám pomoci minimalizovat ztrátu kvality obrazu způsobenou interpolací.

    Pojem

    Podstatou interpolace je využít dostupná data k získání očekávaných hodnot v neznámých bodech. Pokud jste například chtěli vědět, jaká byla teplota v poledne, ale naměřili jste ji v 11 hodin, můžete její hodnotu odhadnout pomocí lineární interpolace:

    Pokud jste měli v půl dvanácté další dimenzi, můžete si všimnout, že teplota před polednem rostla rychleji, a použít tuto další dimenzi pro kvadratickou interpolaci:

    Čím více měření teploty kolem poledne máte, tím složitější (a očekávaně přesnější) může být váš interpolační algoritmus.

    Příklad změny velikosti obrázku

    Interpolace obrazu pracuje ve dvou rozměrech a snaží se dosáhnout co nejlepší aproximace barvy a jasu pixelu na základě hodnot okolních pixelů. Následující příklad ilustruje, jak funguje škálování:

    rovinná interpolace
    Originál před po bez interpolace

    Na rozdíl od kolísání teploty vzduchu a ideálního gradientu výše se hodnoty pixelů mohou bod od bodu měnit mnohem dramatičtěji. Stejně jako u příkladu teploty, čím více budete vědět o okolních pixelech, tím lépe bude fungovat interpolace. To je důvod, proč se výsledky s roztahováním obrazu rychle zhoršují a kromě toho interpolace nikdy nemůže přidat do obrazu detaily, které nemá.

    Příklad otočení obrazu

    K interpolaci dochází také pokaždé, když otočíte nebo změníte perspektivu obrazu. Předchozí příklad byl zavádějící, protože to speciální případ, kde interpolátory obvykle fungují dobře. Následující příklad ukazuje, jak rychle lze ztratit detaily obrázku:

    Degradace obrazu
    Originál 45° rotace otočení o 90°
    (žádná ztráta)
    2 otáčky o 45° 6 otáček při 15°

    Otočení o 90° nezavádí žádnou ztrátu, protože žádný pixel nemusí být umístěn na hranici mezi dvěma (a v důsledku toho se rozdělit). Všimněte si, kolik detailů se ztratí při prvním otočení a jak kvalita dále klesá při dalších otočeních. To znamená, že by mělo co nejvíce se vyvarujte otáčení; pokud je třeba otočit nerovný rám, neotáčejte jej více než jednou.

    Výše uvedené výsledky využívají tzv. „bikubický“ algoritmus a vykazují výrazné zhoršení kvality. Všimněte si, jak se snižuje celkový kontrast kvůli poklesu intenzity barev, jak se kolem světle modré objevují tmavé halo. Výsledky mohou být výrazně lepší v závislosti na interpolačním algoritmu a zobrazovaném předmětu.

    Typy interpolačních algoritmů

    Obecně přijímané interpolační algoritmy lze rozdělit do dvou kategorií: adaptivní a neadaptivní. Adaptivní metody se liší v závislosti na předmětu interpolace (tvrdé okraje, hladká textura), zatímco neadaptivní metody zacházejí se všemi pixely stejně.

    Neadaptivní algoritmy patří: nejbližší soused, bilineární, bikubický, spline, kardinál sinus (sinc), Lanczosova metoda a další. V závislosti na složitosti používají pro interpolaci od 0 do 256 (nebo více) sousedních pixelů. Čím více sousedních pixelů obsahují, tím přesnější mohou být, ale to je na úkor výrazného prodloužení doby zpracování. Tyto algoritmy lze použít jak pro rozbalení, tak pro změnu měřítka obrazu.

    Adaptivní algoritmy zahrnují mnoho komerčních algoritmů v licencovaných programech, jako je Qimage, PhotoZoom Pro, Genuine Fractals a další. Mnoho z nich platí různé verze jejich algoritmy (založené na analýze pixel po pixelu), když detekují přítomnost okraje - aby se minimalizovaly nevzhledné interpolační defekty v místech, kde jsou nejvíce viditelné. Tyto algoritmy jsou primárně navrženy tak, aby maximalizovaly detaily bez defektů ve zvětšených obrázcích, takže některé z nich nejsou vhodné pro otáčení nebo změnu perspektivy obrázku.

    Metoda nejbližšího souseda

    Toto je nejzákladnější ze všech interpolačních algoritmů a vyžaduje nejméně času na zpracování, protože bere v úvahu pouze jeden pixel - ten, který je nejblíže bodu interpolace. V důsledku toho se každý pixel zvětší.

    Bilineární interpolace

    Bilineární interpolace uvažuje čtverec 2x2 známých pixelů obklopujících neznámý. Jako interpolovaná hodnota se použije vážený průměr těchto čtyř pixelů. Výsledkem je, že obrázky vypadají mnohem hladší než výsledek metody nejbližšího souseda.

    Diagram vlevo je pro případ, kdy jsou všechny známé pixely stejné, takže interpolovaná hodnota je jednoduše jejich součet dělený 4.

    Bikubická interpolace

    Bikubická interpolace jde o krok dále než bilineární, vezmeme-li v úvahu pole 4x4 okolních pixelů – celkem 16. Protože jsou zapnuté různé vzdálenosti z neznámého pixelu se při výpočtu přikládá větší váha nejbližším pixelům. Bikubická interpolace vytváří výrazně ostřejší obrazy než předchozí dvě metody a je pravděpodobně nejlepší z hlediska doby zpracování a kvality výstupu. Z tohoto důvodu se stal standardem pro mnoho programů pro úpravu obrázků (včetně Adobe Photoshop), ovladačů tiskáren a vestavěné interpolace fotoaparátu.

    Interpolace vyššího řádu: splajny a sinc

    Existuje mnoho dalších interpolátorů, které berou v úvahu více okolních pixelů a jsou tedy výpočetně náročnější. Tyto algoritmy zahrnují spline a kardinální sinus (sinc) a uchovávají většinu obrazových informací po interpolaci. V důsledku toho jsou mimořádně užitečné, když obraz vyžaduje více otočení nebo změny perspektivy v jednotlivých krocích. Pro jednotlivé přírůstky nebo rotace však takové algoritmy vyššího řádu dávají málo vizuální zlepšení s výrazným prodloužením doby zpracování. Navíc v některých případech funguje algoritmus kardinálního sinusu na hladkém řezu hůře než bikubická interpolace.

    Pozorované interpolační defekty

    Všechny neadaptivní interpolátory se snaží najít optimální rovnováhu mezi třemi nežádoucími defekty: okrajovými haló, rozostřením a aliasingem.

    I ty nejvyvinutější neadaptivní interpolátory jsou vždy nuceny zvětšovat nebo zmenšovat jednu z výše uvedených vad na úkor ostatních dvou – v důsledku toho bude alespoň jedna z nich patrná. Všimněte si, jak je okrajové halo podobné skvrně vytvořené ostřením pomocí neostré masky a jak zvyšuje zdánlivou ostrost prostřednictvím ostření.

    Adaptivní interpolátory mohou, ale nemusí vytvářet vady popsané výše, ale mohou také generovat textury, které jsou neobvyklé pro původní obrázek nebo jednotlivé pixely ve velkých měřítcích:

    Na druhou stranu lze za výhody považovat i některé „závady“ adaptivních interpolátorů. Vzhledem k tomu, že oko očekává, že oblasti s jemnou texturou, jako je listí, budou propracovány do nejmenších detailů, mohou takové vzory na dálku klamat oko (u určitých typů materiálů).

    Vyhlazování

    Vyhlazování nebo vyhlazování je proces, který se snaží minimalizovat vzhled zubatých nebo zubatých diagonálních okrajů, které dodávají textu nebo obrázkům hrubý digitální vzhled:


    300%

    Anti-aliasing tyto kroky odstraňuje a vytváří dojem měkčích hran a vyššího rozlišení. Bere v úvahu, jak moc ideální okraj překrývá sousední pixely. Stupňovitá hranice je jednoduše zaoblena nahoru nebo dolů bez střední hodnota, zatímco vyhlazený okraj vytváří hodnotu, úměrné tomu, kolik se z okraje dostalo do každého pixelu:

    Důležitým hlediskem při zvětšování obrázků je vyhnout se nadměrnému aliasingu způsobenému interpolací. Mnoho adaptivních interpolátorů detekuje přítomnost hran a upravuje je tak, aby minimalizovaly aliasing při zachování ostrosti hran. Protože vyhlazená hranice obsahuje informace o své poloze na více vysoké rozlišení, je docela možné, že výkonný adaptivní (určující hranice) interpolátor bude schopen po přiblížení hranici alespoň částečně rekonstruovat.

    Optický a digitální zoom

    Mnoho kompaktních digitální fotoaparáty může provádět optický i digitální zoom (zoom). Optického zoomu je dosaženo pohybem zoomové čočky tak, aby bylo světlo zesíleno před dopadem na digitální snímač. Naproti tomu digitální zoom snižuje kvalitu prostou interpolací obrazu poté, co byl přijat snímačem.


    optický zoom (10x) digitální zoom (10x)

    Přestože fotografie využívající digitální zoom obsahuje stejný počet pixelů, je zřetelně méně detailní než při použití optického zoomu. Digitální zoom by měl být téměř zcela odstraněn, kromě případů, kdy pomáhá zobrazit vzdálený objekt na displeji LCD fotoaparátu. Na druhou stranu, pokud běžně fotíte do JPEG a chcete snímek následně oříznout a zvětšit, má digitální zoom tu výhodu, že se před zavedením kompresních artefaktů interpoluje. Pokud se vám zdá, že potřebujete digitální zoom příliš často, kupte si telekonvertor nebo ještě lépe objektiv s delší ohniskovou vzdáleností.

    Chcete-li zvětšit nebo zmenšit velikost obrazu, Photoshop používá metodu interpolace. Když tedy například přiblížíte obrázek, Photoshop vytvoří další pixely na základě hodnot sousedních. Zhruba řečeno, pokud je jeden pixel černý a druhý bílý, Photoshop vypočítá průměrnou hodnotu a vytvoří nový šedý pixel. Některé typy interpolace jsou rychlé a nekvalitní, jiné jsou složitější, ale dosahují dobrých výsledků.

    Nejprve přejdeme do hlavní nabídky Obrázek – Velikost obrázku (Obrázek – Velikost obrázku) nebo Alt+Ctrl+I.

    Pokud kliknete na šipku vedle parametru Převzorkování (převzorkování obrázku), pak se ve vyskakovacím okně objeví několik možností interpolace:

    • Automatický. aplikace Photoshop vybere metodu převzorkování na základě typu dokumentu a podle toho, zda se má zvětšit nebo zmenšit.
    • Zachovat detaily (zvětšení). Když vyberete tuto metodu, zpřístupní se posuvník Redukce šumu pro vyhlazení šumu při změně měřítka obrazu.
    • Zachovat podrobnosti 2.0. Tento algoritmus dává velmi zajímavý výsledek zvětšení obrazu. Detail se samozřejmě nestává podrobnější, ale ten, který je zvětšen poměrně hodně bez ztráty přehlednosti.
    • . dobrá metoda pro zvětšování obrázků na základě bikubické interpolace, navržené speciálně pro hladší výsledky.
    • Bikubický ostřejší (redukce). Dobrá metoda pro zmenšení velikosti obrazu je založena na zaostřené bikubické interpolaci. Tato metoda umožňuje zachovat detaily převzorkovaného obrázku. Pokud interpolace "Bicubic Downscale" způsobí, že některé oblasti obrazu jsou příliš ostré, zkuste použít bikubickou interpolaci.
    • Bkubický (hladké přechody). Pomalejší, ale více přesná metoda na základě analýzy barevných hodnot okolních pixelů. Díky použití složitějších výpočtů vytváří bikubická interpolace hladší barevné přechody než interpolace sousedních pixelů nebo bilineární interpolace.
    • Podle sousedních pixelů (pevné okraje) (Nejbližší soused (pevné okraje)). Rychlá, ale méně přesná metoda, která replikuje pixely obrázku. Tato metoda zachovává ostré okraje a vytváří zmenšenou velikost souboru v ilustracích, které obsahují hrubé okraje. Tato metoda však může vytvořit zubaté okraje, které se stanou patrnými při deformaci nebo změně velikosti obrazu nebo při provádění mnoha operací výběru.
    • Bilineární (bilineární). Tato metoda přidává nové pixely výpočtem průměrné hodnoty barev okolních pixelů. Poskytuje výsledek průměrné kvality.

    Příklad použití Bicubic Smoother (zvětšení):

    K dispozici je fotografie, rozměry 600 x 450 pixelů, rozlišení 72 dpi

    Musíme to zvýšit. Otevře okno Velikost obrázku a vybrat si Bicubic Smoother (zvětšení), měrné jednotky - procenta.

    Rozměry dokumentu se okamžitě nastaví na 100 %. Dále budeme obrázek postupně zvětšovat. Změňte hodnotu ze 100 % na 110 %. Když změníte šířku, výška se automaticky upraví sama.

    Nyní jsou jeho rozměry již 660 x 495 pixelů. Opakováním těchto kroků můžete dosáhnout dobré výsledky. Samozřejmě bude pro nás docela obtížné dosáhnout dokonalé čistoty, protože fotografie byla malá a s nízkým rozlišením. Podívejte se ale na změny v pixelech.

    Jak velké můžeme udělat fotografie díky metodě interpolace? Vše záleží na kvalitě fotografie, na tom, jak byla pořízena a za jakým účelem ji zvětšujete. Nejlepší odpověď: vezměte si to a uvidíte sami.

    Uvidíme se v další lekci!

    U všech digitálních fotografií v určité fázi dochází k interpolaci obrazu, ať už jde o dematrizaci nebo změnu měřítka. Stává se to vždy, když změníte velikost nebo rozbalíte obrázek z jedné mřížky pixelů na druhou. Změna velikosti obrázku je nezbytná, když potřebujete zvýšit nebo snížit počet pixelů, zatímco ke změně polohy může dojít v různých případech: korekce zkreslení čočky, změna perspektivy nebo otočení obrázku.

    I když se změní velikost nebo znovu naskenuje stejný obrázek, výsledky se mohou výrazně lišit v závislosti na interpolačním algoritmu. Protože jakákoli interpolace je pouze aproximace, obraz ztratí určitou kvalitu, kdykoli bude interpolován. Účelem této kapitoly je poskytnout lepší pochopení toho, co ovlivňuje výsledek – a tím vám pomoci minimalizovat ztrátu kvality obrazu způsobenou interpolací.

    Pojem

    Podstatou interpolace je využít dostupná data k získání očekávaných hodnot v neznámých bodech. Pokud jste například chtěli vědět, jaká byla teplota v poledne, ale naměřili jste ji v 11 hodin, můžete její hodnotu odhadnout pomocí lineární interpolace:

    Pokud jste měli v půl dvanácté další dimenzi, můžete si všimnout, že teplota před polednem rostla rychleji, a použít tuto další dimenzi pro kvadratickou interpolaci:

    Čím více měření teploty kolem poledne máte, tím složitější (a očekávaně přesnější) může být váš interpolační algoritmus.

    Příklad změny velikosti obrázku

    Interpolace obrazu pracuje ve dvou rozměrech a snaží se dosáhnout co nejlepší aproximace barvy a jasu pixelu na základě hodnot okolních pixelů. Následující příklad ilustruje, jak funguje škálování:

    originál před po bez interpolace

    Na rozdíl od kolísání teploty vzduchu a ideálního gradientu výše se hodnoty pixelů mohou bod od bodu měnit mnohem dramatičtěji. Stejně jako u příkladu teploty, čím více budete vědět o okolních pixelech, tím lépe bude fungovat interpolace. To je důvod, proč se výsledky s roztahováním obrazu rychle zhoršují a kromě toho interpolace nikdy nemůže přidat do obrazu detaily, které nemá.

    Příklad otočení obrazu

    K interpolaci dochází také pokaždé, když otočíte nebo změníte perspektivu obrazu. Předchozí příklad byl zavádějící, protože se jedná o speciální případ, kdy interpolátory obvykle fungují dobře. Následující příklad ukazuje, jak rychle lze ztratit detaily obrázku:

    originál 45 rotace 90 rotace (bez ztráty) 2 rotace 45° 6 rotací 15°

    Otočení o 90° nezavádí žádnou ztrátu, protože žádný pixel nemusí být umístěn na hranici mezi dvěma (a v důsledku toho se rozdělit). Všimněte si, kolik detailů se ztratí při prvním otočení a jak kvalita dále klesá při dalších otočeních. To znamená, že by se mělo co nejvíce vyhnout rotacím; pokud je třeba otočit nerovný rám, neotáčejte jej více než jednou.

    Výše uvedené výsledky využívají tzv. „bikubický“ algoritmus a vykazují výrazné zhoršení kvality. Všimněte si, jak se snižuje celkový kontrast kvůli poklesu intenzity barev, jak se kolem světle modré objevují tmavé halo. Výsledky mohou být výrazně lepší v závislosti na interpolačním algoritmu a zobrazovaném předmětu.

    Typy interpolačních algoritmů

    Obecně přijímané interpolační algoritmy lze rozdělit do dvou kategorií: adaptivní a neadaptivní. Adaptivní metody se liší v závislosti na předmětu interpolace (tvrdé okraje, hladká textura), zatímco neadaptivní metody zacházejí se všemi pixely stejně.

    Mezi neadaptivní algoritmy patří: nejbližší soused, bilineární, bikubický, spline, funkce kardinálního sinusu (sinc), Lanczosova metoda a další. V závislosti na složitosti používají pro interpolaci od 0 do 256 (nebo více) sousedních pixelů. Čím více sousedních pixelů obsahují, tím přesnější mohou být, ale to je na úkor výrazného prodloužení doby zpracování. Tyto algoritmy lze použít jak pro rozbalení, tak pro změnu měřítka obrazu.

    Adaptivní algoritmy zahrnují mnoho komerčních algoritmů v licencovaných programech, jako je Qimage, PhotoZoom Pro, Genuine Fractals a další. Mnoho z nich používá různé verze svých algoritmů (založených na analýze pixel po pixelu), když zjistí přítomnost okraje, aby minimalizovaly nevzhledné interpolační defekty v místech, kde jsou nejvíce viditelné. Tyto algoritmy jsou primárně navrženy tak, aby maximalizovaly detaily bez defektů ve zvětšených obrázcích, takže některé z nich nejsou vhodné pro otáčení nebo změnu perspektivy obrázku.

    Metoda nejbližšího souseda

    Toto je nejzákladnější ze všech interpolačních algoritmů a vyžaduje nejméně času na zpracování, protože bere v úvahu pouze jeden pixel - ten, který je nejblíže bodu interpolace. V důsledku toho se každý pixel zvětší.

    Bilineární interpolace

    Bilineární interpolace uvažuje čtverec 2x2 známých pixelů obklopujících neznámý. Jako interpolovaná hodnota se použije vážený průměr těchto čtyř pixelů. Výsledkem je, že obrázky vypadají mnohem hladší než výsledek metody nejbližšího souseda.

    Diagram vlevo je pro případ, kdy jsou všechny známé pixely stejné, takže interpolovaná hodnota je jednoduše jejich součet dělený 4.

    Bikubická interpolace

    Bikubická interpolace jde o krok dále než bilineární, vezmeme-li v úvahu pole 4x4 okolních pixelů – celkem 16. Protože jsou v různých vzdálenostech od neznámého pixelu, mají nejbližší pixely ve výpočtu větší váhu. Bikubická interpolace vytváří výrazně ostřejší obrazy než předchozí dvě metody a je pravděpodobně nejlepší z hlediska doby zpracování a kvality výstupu. Z tohoto důvodu se stal standardem pro mnoho programů pro úpravu obrázků (včetně Adobe Photoshop), ovladačů tiskáren a vestavěné interpolace fotoaparátu.

    Interpolace vyššího řádu: splajny a sinc

    Existuje mnoho dalších interpolátorů, které berou v úvahu více okolních pixelů a jsou tedy výpočetně náročnější. Tyto algoritmy zahrnují spline a kardinální sinus (sinc) a uchovávají většinu obrazových informací po interpolaci. V důsledku toho jsou mimořádně užitečné, když obraz vyžaduje více otočení nebo změny perspektivy v jednotlivých krocích. Pro jednotlivé zoomy nebo rotace však takové algoritmy vyššího řádu poskytují jen malé vizuální zlepšení s výrazným prodloužením doby zpracování. Navíc v některých případech funguje algoritmus kardinálního sinusu na hladkém řezu hůře než bikubická interpolace.

    Pozorované interpolační defekty

    Všechny neadaptivní interpolátory se snaží najít optimální rovnováhu mezi třemi nežádoucími defekty: okrajovými haló, rozostřením a aliasingem.

    originální aliasing blur halo

    I ty nejvyvinutější neadaptivní interpolátory jsou vždy nuceny zvětšovat nebo zmenšovat jednu z výše uvedených vad na úkor ostatních dvou – v důsledku toho bude alespoň jedna z nich patrná. Všimněte si, jak okrajové halo vypadá jako defekt vzniklý doostřením pomocí neostré masky a jak doostřením zesiluje zdánlivou ostrost.

    Adaptivní interpolátory mohou, ale nemusí vytvářet vady popsané výše, ale mohou také generovat textury, které jsou neobvyklé pro původní obrázek nebo jednotlivé pixely ve velkých měřítcích:

    Malý texturovaný materiál Plocha při 220% zvětšení

    Na druhou stranu lze za výhody považovat i některé „závady“ adaptivních interpolátorů. Vzhledem k tomu, že oko očekává, že oblasti s jemnou texturou, jako je listí, budou propracovány do nejmenších detailů, mohou takové vzory na dálku klamat oko (u určitých typů materiálů).

    Vyhlazování

    Vyhlazování nebo vyhlazování je proces, který se snaží minimalizovat vzhled zubatých nebo zubatých diagonálních okrajů, které dodávají textu nebo obrázkům hrubý digitální vzhled:

    Anti-aliasing tyto kroky odstraňuje a vytváří dojem měkčích hran a vyššího rozlišení. Bere v úvahu, jak moc ideální okraj překrývá sousední pixely. Stupňovité ohraničení je jednoduše zaokrouhleno nahoru nebo dolů bez mezilehlé hodnoty, zatímco hladké ohraničení vytváří hodnotu úměrnou tomu, jak velká část ohraničení je v každém pixelu:

    Důležitým hlediskem při zvětšování obrázků je vyhnout se nadměrnému aliasingu způsobenému interpolací. Mnoho adaptivních interpolátorů detekuje přítomnost hran a upravuje je tak, aby minimalizovaly aliasing při zachování ostrosti hran. Vzhledem k tomu, že vyhlazená hrana obsahuje informaci o její poloze při vyšším rozlišení, je dost možné, že výkonný adaptivní (hrany detekující) interpolátor bude schopen při přiblížení hranu alespoň částečně rekonstruovat.

    Optický a digitální zoom

    Mnoho kompaktních digitálních fotoaparátů může provádět jak optický, tak digitální zoom (zoom). Optického zoomu je dosaženo pohybem zoomové čočky tak, aby bylo světlo zesíleno před dopadem na digitální snímač. Naproti tomu digitální zoom snižuje kvalitu prostou interpolací obrazu poté, co byl přijat snímačem.

    Optický zoom (10x) Digitální zoom (10x)

    I když fotografie využívající digitální zoom obsahuje stejný počet pixelů, je zřetelně méně detailní než při použití optického zoomu. Na druhou stranu, pokud běžně fotíte do JPEG a chcete snímek následně oříznout a zvětšit, má digitální zoom tu výhodu, že se před zavedením kompresních artefaktů interpoluje. Pokud se vám zdá, že potřebujete digitální zoom příliš často, kupte si telekonvertor nebo ještě lépe objektiv s delší ohniskovou vzdáleností.