Základní obrázek - Core Image

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

Image
Logo Wikipedia s použitými obrazovými jednotkami „Barevný černobílý“, „Rovnoběžníková dlaždice“ a „Pinch Distortion“

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é

Reference

externí odkazy