Základní obrázek - Core Image
grafický model macOS |
|---|
| Vykreslování |
| Skládání |
Core Image je pixelová přesná nedestruktivní technologie zpracování obrazu v téměř reálném čase v systému Mac OS X. Implementovaná jako součást rámce QuartzCore systému Mac OS X 10.4 a novějších, poskytuje Core Image architekturu založenou na zásuvných modulech pro aplikaci filtrů a efekty ve vrstvě vykreslování grafiky Quartz . Rámec byl později přidán do iOS v iOS 5 .
Přehled
Core Image abstrahuje proces manipulace na úrovni pixelů požadovaný při použití filtru na obrázek, což aplikacím usnadňuje implementaci schopností transformace obrazu bez rozsáhlého kódování. V jednoduché implementaci Core Image použije jeden obrazový filtr na pixelová data daného zdroje k vytvoření transformovaného obrazu. Každý obrazový filtr určuje jednu transformaci nebo efekt, buď zabudovaný do hlavního obrazu, nebo načten z pluginu s názvem obrazová jednotka . V kombinaci s přednastavenými nebo uživatelem definovanými vstupními parametry lze filtr použít na původní pixelová data, aniž by je upravoval, čímž zajišťuje nedestruktivní úpravy obrazu.
Stejně jako Photoshop , i Core Image může použít více filtrů na stejný zdroj obrazu. Namísto individuálního použití řady filtrů Core Image sestavuje potrubí dynamických instrukcí, takže k dosažení kumulativního efektu je třeba na data pixelů použít pouze jeden výpočet. Aplikování operací pixelů spojených s více filtry lze dosáhnout současně a bez výrazného prodloužení doby zpracování. Bez ohledu na počet filtrů Core Image sestaví kód pro tento kanál instrukcí s kompilátorem just-in-time , který se provede buď GPU CPU nebo grafické karty, podle toho, co může provést výpočet rychleji.
Filtry jsou psány v jazyce jádra Image Core , který sdílí podmnožinu příkazů s OpenGL Shading Language (GLSL) . Když je k dispozici kompatibilní GPU, kompilátor Core Image zapíše potrubí instrukcí pomocí GLSL, transparentně zpracovává vyrovnávací paměti a stavy. I když je preferováno vykreslování GPU, kompilátor může pracovat v záložním režimu CPU a místo toho generovat příkazy vhodné pro aktuální architekturu CPU. Záloha CPU využívá možnosti vektorového zpracování aktuálního CPU nebo CPU a je si vědoma více procesorů. Výkon Core Image tedy závisí na schopnostech GLSL GPU nebo na procesoru CPU. S podporovaným GPU lze většinu efektů vykreslit v reálném čase nebo téměř v reálném čase.
Historie a implementace
Core Image byl představen v systému Mac OS X 10.4 . Rané příklady jeho použití lze najít v efektu zvlnění v Dashboardu a v profesionální digitální aplikaci Apple Aperture . Počínaje systémem Mac OS X 10.5 může každá aplikace, která implementuje Image Kit, využívat Core Image. Náhled a iPhoto jsou běžné příklady.
V roce 2011 Apple přidal Core Image do iOS v iOS 5.0.
Mezi nástroje Xcode patří Core Image Fun House a Quartz Composer ; oba využívají Core Image.
Přesnost pixelů
Veškeré zpracování obrazových bodů poskytované obrazovou jednotkou se provádí v předem rozmnoženém barevném prostoru alfa ( RGBA ), přičemž se ukládají čtyři barevné kanály: červená, zelená, modrá a průhlednost ( alfa ). Každý barevný kanál je reprezentován 32bitovým číslem s plovoucí desetinnou čárkou . To poskytuje výjimečnou barevnou hloubku, mnohem větší, než jakou může vnímat lidské oko , protože každý pixel je reprezentován 128bitovým vektorem (čtyři 32bitové barevné kanály). Pro barevné prostory s nižší bitovou hloubkou poskytuje výpočetní model s plovoucí desetinnou čárkou použitý Core Image výjimečný výkon, který je užitečný při zpracování více obrázků nebo videozáznamů.
Podporované grafické procesory
Jakýkoli programovatelný GPU, který podporuje požadované příkazy OpenGL Shader ( GLSL ) , podporuje Core Image. Společnost Apple použila následující grafické karty k podpoře zpracování Core Image GPU v systému Mac OS X 10.4 a Aperture, takže následující seznam lze považovat za příklad minimálních požadavků:
- ATI Mobility Radeon 9700 (Mobility Radeon 9600 je také schopný)
- ATI Radeon 9550, 9600, 9650, 9600 XT, 9600 Pro, 9700 Pro, 9800 XT a 9800 Pro
- ATI Radeon X600 XT, X600 Pro, X800 XT, X850 XT, X1600, X1900 XT
- ATI Radeon HD 2400 XT, HD 2600 Pro a HD 2600 XT
- NVIDIA GeForce FX 5200 Ultra, FX Go 5200
- NVIDIA GeForce 6600, 6600 LE, 6800 Ultra DDL a 6800 GT DDL
- NVIDIA GeForce 7300 GT, 7600 GT a 7800 GT
- NVIDIA GeForce 8600M GT a 8800 GT
- NVIDIA GeForce 9400M a 9600M GT
- NVIDIA GeForce GT 120 a GT 130
- NVIDIA GeForce GTX 285
- NVIDIA Quadro FX 4500 a FX 5600
- NVIDIA Quadro FX 4800
- NVIDIA Quadro 4000
- NVIDIA GeForce 320M
- NVIDIA GeForce GT 330M
- NVIDIA GeForce GT 640M
- NVIDIA GeForce GT 650M
- NVIDIA GeForce GTX 660M
- NVIDIA GeForce GTX 675M
- NVIDIA GeForce GTX 680MX
- NVIDIA GeForce GT 750M
- NVIDIA GeForce GT 755M
- NVIDIA GeForce GTX 775M
- NVIDIA GeForce GTX 780M
- Intel GMA 900 , GMA 950 nebo GMA X3100
- Grafika Intel HD 3000 (Sandy Bridge)
- Grafika Intel HD 4000 (Ivy Bridge)
- Grafika Intel HD 5000 (Haswell)
- Intel Iris 5100 (Haswell)
- Intel Iris Pro 5200 (Haswell)
- Grafika Intel HD 5300 (Broadwell)
- Grafika Intel HD 6000 (Broadwell)
- Intel Iris 6100 (Broadwell)
Všimněte si, že jakýkoli GPU schopný zpracovat pokyny Core Image je také schopný Quartz Extreme . Požadavky na Core Image jsou větší než požadavky Quartz Extreme.
Integrované filtry
macOS obsahuje mnoho vestavěných filtrů, včetně následujících. Mac OS X 10.4 představil více než 100 z nich a Mac OS X 10.5 přidal do seznamu.
- Rozostření, například Median, Gaussian, Motion a Noise
- Úpravy barev a efekty, jako je expozice, nastavení gama a sépiový tón
- Složení operace, jako je přidání a násobení směsi nebo tvrdé světlo
- Zkreslení, jako je Pinch, Circle Splash a Vortex
- Generátory, jako Star Shine a Lenticular Halo
- Úpravy geometrie, jako je oříznutí, změna měřítka, otočení a afinní transformace
- Filtry polotónů, dlaždic a plakátů
- Přechody, například Dissolve a Ripple
Na CIFilter.io je udržován web s otevřenou zdrojovou dokumentací pro vestavěné filtry Core Image .
Viz také
- Clona
- Základní obrázek Fun House
- Křemenný skladatel
- LiveQuartz
- Pixelmator
- improvizovaný
- GEGL , programovací knihovna používaná GIMP
- Windows Imaging Component , součást Windows s podobným designem API, ale s menším počtem podporovaných operací s obrázky.
Reference
externí odkazy
- Průvodce programováním Core Image - Knihovna vývojářů pro Mac OS X.
- Apple Preview Mac OS X „Tiger“ - oznámení Mac OS X 10.4, včetně Core Image
- Filterpedia - open source aplikace Swift předvádějící téměř všechny dostupné vestavěné filtry CoreImage a vlastní filtry založené na GLSL a Metal od Simona Gladmana.