X - data podobné poli nebo PIL obrázek (Python Imaging Library - dnes Pillow)
Obrázková data. Podporované tvary pole jsou:
(M, N): obrázek se skalárními daty. Hodnoty jsou mapovány na barvy pomocí normalizace a colormapy. Viz parametry norm, cmap, vmin, vmax.
(M, N, 3): obrázek s RGB hodnotami (0-1 float nebo 0-255 int).
(M, N, 4): obrázek s RGBA hodnotami (0-1 float nebo 0-255 int), tj. včetně průhlednosti.
První dva rozměry (M, N) definují řádky a sloupce obrázku.
Hodnoty RGB(A) mimo rozsah jsou oříznuty
POZN. PIL obrázek je automaticky interpretován jako dvourozměrná nebo třírozměrná pole hodnot pixelů, které je možné zobrazit. To znamená, že můžete pracovat s PIL obrázky přímo v matplotlib, aniž byste museli provádět jakoukoli další konverzi nebo úpravy formátu.
cmap - jméno colormapy nebo instance Colormap, výchozí: rcParams["image.cmap"] (výchozí: 'viridis')
Instance Colormapy nebo registrované jméno colormapy použité k mapování skalárních dat na barvy.
Tento parametr je ignorován, pokud je X RGB(A).
norm - normalizační metoda nebo instance Normalize, volitelné
Normalizační metoda použitá k převodu skalárních dat na rozsah [0, 1] před mapováním na barvy pomocí colormapy. Výchozí je lineární škálování, při kterém nejnižší hodnota je mapována na 0 a nejvyšší na 1.
Pokud je uvedeno, může to být jedno z následujících:
Instance Normalize nebo jedna z jejích podtříd (viz normalizace colormapy).
vmin, vmax - minimální a maximální hodnota dat, volitelné
Při použití skalárních dat a žádné explicitní normalizaci vmin a vmax určují rozsah dat, který colormapa pokrývá. Výchozí colormapa pokrývá kompletní rozsah hodnot dodaných dat. Je chybou používat vmin/vmax, když je dána instance norm (ale použití normálního názvu spolu s vmin/vmax je přijatelné).
Tento parametr je ignorován, pokud je X RGB(A).
interpolation_stage - 'data' nebo 'rgba', výchozí: 'data'
Pokud 'data', interpolace se provádí na datech poskytnutých uživatelem. Pokud 'rgba', interpolace se provádí po aplikaci colormapy (vizuální interpolace).
Poznámky
Pokud není použit extent, středy pixelů budou umístěny na celočíselných souřadnicích. Jinými slovy: počátek souřadnic bude souhlasit s středem pixelu (0, 0).
Existují dvě běžné reprezentace RGB obrázků s alfa kanálem:
Přímý (neassociovaný) alfa kanál: kanály R, G a B reprezentují barvu pixelu, bez ohledu na jeho průhlednost.
Předem násobený (associovaný) alfa kanál: kanály R, G a B reprezentují barvu pixelu, upravenou pro jeho průhlednost násobením.
Další parametry - viz manuál
Colormap (barevná mapa): Barevná mapa je způsob, jak přiřazujete barvy hodnotám v obrázku. Když používáte funkci
imshow
k zobrazení dat, colormap určuje, jaké barvy budou použity pro různé hodnoty v obrázku. Například, pokud máte teplotní mapu, můžete použít colormap, aby nízké teploty byly modré a vysoké teploty červené. Parametrcmap
vimshow
umožňuje specifikovat, jakou barevnou mapu chcete použít pro zobrazení dat. Napříkladcmap='viridis'
použije barevnou mapu viridis, která je populární pro zobrazení vědeckých dat.rcParams:
rcParams
jsou zkratka pro "runtime configuration parameters" a jsou to v podstatě nastavení výchozích hodnot pro matplotlib. Pokud nepředáte specifické hodnoty pro parametry jakocmap
,aspect
nebointerpolation
, matplotlib použije hodnoty uložené vrcParams
. To umožňuje nastavit výchozí chování matplotlibu podle vašich preferencí.Aspect ratio (poměr stran): Poměr stran určuje, jaké budou poměry mezi délkou a šířkou vašeho grafu. Pokud nastavíte
aspect='equal'
, zaručíte, že výstupní graf bude mít čtvercové pixely, což může být užitečné pro zobrazení dat, kde je důležité zachovat přesný poměr mezi osami x a y.Interpolace: Interpolace určuje, jak matplotlib vypočítává barvy nových pixelů při zvětšování nebo zmenšování obrazu. To je důležité, protože pokud zvětšíte obrázek, matplotlib musí vypočítat nové hodnoty pixelů, které nejsou přítomny v původním obrázku. Různé metody interpolace, jako je bilineární nebo bicubická interpolace, mohou vést k různým výsledkům v závislosti na povaze vašich dat a vašich preferencích ohledně kvality obrázku.
Výběr interpolace:
Různé druhy interpolací používané v digitálním zpracování obrazu mají své vlastní způsoby výpočtu, každý s vlastními výhodami a nevýhodami. Zde je přehled několika běžných metod interpolace:
Nejbližší soused (Nearest neighbor):
- Způsob výpočtu: Nové hodnoty pixelů jsou určeny výběrem nejbližšího souseda z původního obrázku.
- Výhody: Jednoduchý výpočet, rychlý algoritmus.
- Nevýhody: Může vést k hrubým výsledkům, zejména pokud je zvětšení nebo zmenšení obrazu velké.
Bilineární interpolace:
- Způsob výpočtu: Pro každý nový pixel je vážený průměr hodnot sousedních pixelů v původním obrázku, kde váhy jsou určeny vzdáleností mezi novým pixelem a sousedními pixely.
- Výhody: Vytváří hladší a přirozenější vzhled, než nejbližší soused. Je rychlá a jednoduchá.
- Nevýhody: Může způsobit rozostření detailů, zejména pokud je zvětšení obrazu větší.
Bikubická interpolace:
- Způsob výpočtu: Pro každý nový pixel se používá kubická funkce pro interpolaci hodnot sousedních pixelů.
- Výhody: Produkuje hladší výsledky než bilineární interpolace, což může být výhodné pro zvětšení obrázků.
- Nevýhody: Vyžaduje více výpočetního výkonu než bilineární interpolace, což může vést k pomalejšímu zpracování obrazu.
- Bikubická interpolace má tendenci produkovat hladší výsledky, což může
být výhodné při zvětšování obrázků, abychom minimalizovali výskyt
drsných hran nebo aliasingových artefaktů. Tedy, bikubická interpolace
pomáhá zachovat co nejvíce detailů a hran při zvětšování obrázků, což
může být užitečné v situacích, kde je důležitá vysoká kvalita obrazu.
Resample: Tato volba určuje, zda chcete, aby se provádělo úplné vzorkování obrázku (pokud je True) nebo pouze tehdy, když je výstupní obrázek větší než vstupní (pokud je False). To může být užitečné, pokud pracujete s velkými obrázky a chcete minimalizovat výpočetní nároky nebo čas potřebný k vykreslení.
Žádné komentáře:
Okomentovat