Core Image

Core Image is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of Mac OS X 10.4 and later, Core Image provides a plugin-based architecture for applying filters and effects within the Quartz graphics rendering layer.[1] The framework was later added to iOS in iOS 5.[2]

Overview

Core Image abstracts the pixel-level manipulation process required when applying a filter to an image, making it simple for applications to implement image transformation capabilities without extensive coding. In a simple implementation, Core Image applies a single Image Filter to the pixel data of a given source to produce the transformed image. Each Image Filter specifies a single transform or effect, either built into Core Image or loaded from a plugin called an Image Unit. Combined with preset or user-defined input parameters, the filter can be applied to the original pixel data without modifying it, thereby providing non-destructive image editing.[3][4]

Like Photoshop, Core Image can apply multiple filters to the same image source. Instead of applying a series of filters individually, Core Image assembles a dynamic instruction pipeline so that only one calculation needs to be applied to the pixel data to achieve a cumulative effect. Applying the pixel operations associated with multiple filters can be achieved simultaneously and without a significant increase in processing time. Regardless of the number of filters, Core Image assembles the code for this instruction pipeline with a just-in-time compiler, which is executed by either the CPU or graphics card's GPU, whichever can perform the calculation faster.[5]

Filters are written in the Core Image Kernel Language, which shares a subset of commands with OpenGL Shading Language (GLSL).[6] When a compatible GPU is available, the Core Image compiler writes the instruction pipeline using GLSL, handling buffers and states transparently. Although GPU rendering is preferred[citation needed], the compiler can operate in a CPU fallback mode, generating commands suitable for the current CPU architecture instead.[7] CPU fallback uses the vector processing capabilities of the current CPU or CPUs, and it is multi-processor aware. Thus, Core Image performance depends on the GLSL capabilities of the GPU or the processing power of the CPU. With a supported GPU, most effects can be rendered in realtime or near-realtime.[8]

History and implementation

Core Image was introduced with Mac OS X 10.4.[9] Early examples of its use can be found in the ripple effect in Dashboard, and Apple's professional digital photography application, Aperture.[10] Starting with Mac OS X 10.5, any application that implements Image Kit can utilize Core Image.[11] Preview and iPhoto are common examples.

In 2011, Apple added Core Image to iOS in iOS 5.0.[2]

The Xcode Tools include Core Image Fun House and Quartz Composer; both utilize Core Image.

The Core Image plugin architecture was inspired by that of Core Audio.[12]

Pixel accuracy

All pixel processing provided by an Image Unit is performed in a pre-multiplied alpha (RGBA) color space, storing four color channels: red, green, blue, and transparency (alpha). Each color channel is represented by a 32-bit, floating point number. This provides exceptional color depth, far greater than can be perceived by the human eye, as each pixel is represented by a 128-bit vector (four 32-bit color channels). For color spaces of lower bit-depth, the floating-point calculation model employed by Core Image provides exceptional performance, which is useful when processing multiple images or video frames.[3][13]

Supported graphics processors

Any programmable GPU that supports the required OpenGL Shader (GLSL) commands is Core Image capable. Apple has used the following graphics cards to support Core Image GPU processing in Mac OS X 10.4 and Aperture, so the following list could be considered an example of minimum requirements:[10][14]

  • ATI Mobility Radeon 9700 (Mobility Radeon 9600 is also capable)
  • ATI Radeon 9550, 9600, 9650, 9600 XT, 9600 Pro, 9700 Pro, 9800 XT, and 9800 Pro
  • ATI Radeon X600 XT, X600 Pro, X800 XT, X850 XT, X1600, X1900 XT
  • ATI Radeon HD 2400 XT, HD 2600 Pro, and HD 2600 XT
  • NVIDIA GeForce FX 5200 Ultra, FX Go 5200
  • NVIDIA GeForce 6600, 6600 LE, 6800 Ultra DDL, and 6800 GT DDL
  • NVIDIA GeForce 7300 GT, 7600 GT, and 7800 GT
  • NVIDIA GeForce 8600M GT & 8800 GT
  • NVIDIA GeForce 9400M & 9600M GT
  • NVIDIA GeForce GT 120 & GT 130
  • NVIDIA GeForce GTX 285
  • NVIDIA Quadro FX 4500 & 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, or GMA X3100
  • Intel HD Graphics 3000(Sandy Bridge)
  • Intel HD Graphics 4000(Ivy Bridge)
  • Intel HD Graphics 5000(Haswell)
  • Intel Iris 5100(Haswell)
  • Intel Iris Pro 5200(Haswell)
  • Intel HD Graphics 5300(Broadwell)
  • Intel HD Graphics 6000(Broadwell)
  • Intel Iris 6100(Broadwell)

Note that any GPU capable of handling Core Image instructions is also Quartz Extreme capable. The requirements for Core Image are greater than those of Quartz Extreme.[14]

Built-in filters

Wikipedia Logo with "Color Monochrome", "Parallelogram Tile", and "Pinch Distortion" Image Units applied

macOS includes many built-in filters, including the following ones. Mac OS X 10.4 introduced over 100 of them, and Mac OS X 10.5 added to the list.[3][15]

  • Blurs, like Median, Gaussian, Motion, and Noise
  • Color Adjustments & Effects, like Exposure, Gamma Adjust, and Sepia Tone
  • Composition Operations, like Addition and Multiply Blends, or Hard Light
  • Distortions, like Pinch, Circle Splash, and Vortex
  • Generators, like Star Shine and Lenticular Halo
  • Geometry Adjustments, such as Crop, Scale, Rotate, and Affine transformation
  • Halftone, Tile, and Posterize filters
  • Transitions, such as Dissolve and Ripple

See also

References

  1. ^ "Mac Dev Center - Introduction to Core Image Programming Guide". Retrieved September 20, 2009.
  2. ^ a b "iOS 5.0 API Diffs". Retrieved September 14, 2012.
  3. ^ a b c "Apple - Developer - Developing with Core Image". Archived from the original on October 6, 2009. Retrieved September 20, 2009.
  4. ^ "Mac Dev Center - Introduction to Core Image Programming Guide - Filter Clients and Filter Creators". Retrieved September 20, 2009.
  5. ^ "ArsTechnica - Mac OS X 10.4 Tiger - Page 15". April 28, 2005. Retrieved September 20, 2009.
  6. ^ "Mac Dev Center - Core Image Kernel Language Reference - Introduction". Retrieved September 20, 2009.
  7. ^ "Mac Dev Center - Core Image Programming Guide - Core Image Concepts - Core Image and the GPU". Retrieved September 20, 2009.
  8. ^ "ArsTechnica - Mac OS X 10.4 Tiger - Page 15". April 28, 2005. Retrieved April 17, 2007.
  9. ^ "Mac Dev Center - Core Image Programming Guide - Core Image Concepts". Retrieved September 20, 2009.
  10. ^ a b "Apple - Aperture - Tech Specs". Retrieved September 20, 2009.
  11. ^ "Mac Dev Center - Image Kit Programming Guide - Introduction to Image Kit Programming Guide". Retrieved September 20, 2009.
  12. ^ Singh 2006, p. 97.
  13. ^ "Mac Dev Center - Core Image Programming Guide - Core Image Concepts - Color Components and Premultiplied Alpha". Retrieved September 20, 2009.
  14. ^ a b "Mac OS X 10.4 - Requirements for Quartz Extreme and Core Image Graphics". Archived from the original on November 9, 2014. Retrieved September 20, 2009.
  15. ^ "Core Image Filter Reference". Archived from the original on May 19, 2024. Retrieved July 24, 2024.

Bibliography

Read other articles:

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016) لأماكن أخرى بنفس الاسم، انظر الجربة (توضيح). الجربه تقسيم إداري البلد  اليمن مديرية مديرية المفلحي الم...

 

Ca' Foscari Universitas VeniceUniversità Ca' Foscari VeneziaCa' Foscaribahasa Latin: Venetiarum universitas in domo FoscariJenisState-supportedDidirikan6 Agustus 1868 (1868-08-06)RektorMichele BugliesiJumlah mahasiswa21,000[1]LokasiVenesia, Italia45°26′04″N 12°19′35″E / 45.4345°N 12.3265°E / 45.4345; 12.3265Koordinat: 45°26′04″N 12°19′35″E / 45.4345°N 12.3265°E / 45.4345; 12.3265Situs webunive.it Univers...

 

Міхал Серсен Народився 28 грудня 1985(1985-12-28) (37 років)м. Ґелниця, ЧССР Зріст 188 см Вага 91 кг Позиція захисник Кидок лівий Клуб СЕКол. команди Слован Братислава«Квебек Ремпартс»Автомобіліст ЄкатеринбургСпарта ПрагаЛев ПрагаХК 05 Банська Бистриця Нац. збірна  Словаччина Дра...

PSR B1257+12 Vue d'artiste des planètes orbitant autour de PSR B1257+12 Données d'observation(époque J2000.0) Ascension droite 13h 00m 03,1075s[1] Déclinaison +12° 40′ 55,155″[1] Constellation Vierge[2] Localisation dans la constellation : Vierge Caractéristiques Type spectral pulsar Astrométrie Mouvement propre μα = 46,44 ± 0,08 mas/aμδ = −84,87 ± 0,32 mas/a[1] Parallaxe 1,41 ± 0,8 mas[1] Distance 710+43 ...

 

Bupati Biak NumforLambang Kabupaten Biak NumforPetahanaHerry Ario Naapsejak 19 Maret 2019KediamanRumah Dinas Bupati Biak NumforMasa jabatan5 tahun (definitif)Dibentuk1968Pejabat pertamaSukarwadi P.S.Situs webLaman Resmi Pemkab Biak Numfor Kabupaten Biak Numfor dari awal berdirinya hingga saat ini sudah pernah dipimpin oleh beberapa bupati. Saat ini Bupati Biak Numfor dijabat oleh Herry Ario Naap. Daftar Bupati Berikut ini adalah Daftar Bupati Biak Numfor dari masa ke masa. No Bupati[...

 

Canals municipio de EspañaBanderaEscudo CanalsUbicación de Canals en España. CanalsUbicación de Canals en la provincia de Valencia.País  España• Com. autónoma  Comunidad Valenciana• Provincia Valencia• Comarca La Costera• Partido judicial Játiva[1]​Ubicación 38°57′44″N 0°35′05″O / 38.962305555556, -0.58472222222222• Altitud 160 mSuperficie 21,86 km²Población 13 ...

ZoebaidaIklan koran, Medan; iklan Tarzan Finds a Son! ada di bawahnyaSutradara Njoo Cheong Seng Produser Tjan Hock Siong Ditulis olehBerdasarkanTimoerianaoleh Njoo Cheong SengPemeranFifi YoungPenata musikOriental Novelty FiveSinematograferJJW SteffensPerusahaanproduksiOriental FilmTanggal rilis 1940 (1940) (Hindia Belanda) Negara Indonesia Bahasa Indonesia Zoebaida adalah sebuah film Hindia Belanda tahun 1940 yang disutradarai Njoo Cheong Seng dan menceritakan kisah cinta di Ti...

 

نيكولاس بورديسو معلومات شخصية الاسم الكامل نيكولاس أندريس بورديسو الميلاد 12 أبريل 1981 (العمر 42 سنة)Altos de Chipión، قرطبة، الأرجنتين الطول 1.83 م (6 قدم 0 بوصة) مركز اللعب مدافع الجنسية الأرجنتين  أخوة وأخوات غويلرمو بورديسو  معلومات النادي النادي الحالي فيورنتينا (technic...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (أكتوبر 2020) أروبا فيالألعاب الأولمبيةالرمزARUاللجنةAruban Olympic Committeeالموقعwww.olympicaruba.com باللغة papالميداليات ذهبية 0 فضي...

Form of wrestling in the Province of León, Spain This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Leonese wrestling – news · newspapers · books · scholar · JSTOR (April 2016) (Learn how and when to remove this template message) Leonese wrestling (Leonese: aluche, Spanish: lucha leonesa), is a form of wrestli...

 

Artigas Acceso a la estaciónUbicaciónCoordenadas 10°29′28″N 66°56′29″O / 10.4909762, -66.9412755Sector Distrito CapitalVenezuela VenezuelaDatos de la estaciónCódigo ARTInauguración 6 de noviembre de 1988Servicios   N.º de andenes 1N.º de vías 2Operador C. A. Metro de CaracasLíneasLínea(s) Maternidad ← → La Paz [editar datos en Wikidata] Artigas es una de las estaciones de la Línea 2 del Metro de Caracas. Referencias La estación Artigas ...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada April 2016. Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2008. Ini adal...

City in Chūbu, JapanChūō 中央市CityChūō City Hall FlagSealLocation of Chūō in Yamanashi PrefectureChūō Coordinates: 35°35′58.6″N 138°38′2.1″E / 35.599611°N 138.633917°E / 35.599611; 138.633917CountryJapanRegionChūbu (Tōkai)PrefectureYamanashi PrefectureArea • Total31.69 km2 (12.24 sq mi)Population (October 1, 2020) • Total30,660 • Density970/km2 (2,500/sq mi)Time zoneUTC+9 (Japa...

 

Pembajakan Bus Manila 2010Bus yang dibajak dimana para sandera ditahanLokasiRizal Park, Manila, FilipinaKoordinat14°34′52″N 120°58′30″E / 14.58104°N 120.974922°E / 14.58104; 120.974922Koordinat: 14°34′52″N 120°58′30″E / 14.58104°N 120.974922°E / 14.58104; 120.974922Tanggal23 Agustus 2010 sekitar pukul 10.00 - 21.00 (UTC+8)SasaranTuris Hong Kong di dalam bus turisJenis seranganKrisis penyanderaanSenjataSenapan XM16E1 dan b...

 

Historic house in Connecticut, United States For the similarly named historic house in Massachusetts, see General John Glover House. United States historic placeJohn Glover HouseU.S. National Register of Historic Places Show map of ConnecticutShow map of the United StatesLocation53 Echo Valley Rd., Newtown, ConnecticutCoordinates41°26′49″N 73°18′34″W / 41.44694°N 73.30944°W / 41.44694; -73.30944Area2 acres (0.81 ha)Built1708Architectural styleColo...

この記事は英語版の対応するページを翻訳することにより充実させることができます。(2022年1月)翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。 英語版記事を日本語へ機械翻訳したバージョン(Google翻訳)。 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にし...

 

この項目には性的な表現や記述が含まれます。免責事項もお読みください。 この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったくありません。存命人物の記事は特に、検証可能性を満たしている必要があります。(2022年12月) 人物の特筆性の基準を満たしていないおそれがあります。(2022年12月)出典検索?: 小泉ゆ...

 

Bakery in Portland, Oregon, U.S. Farina BakeryThe bakery's exterior, 2022Restaurant informationStreet address1852 Southeast Hawthorne BoulevardCityPortlandCountyMultnomahStateOregonPostal/ZIP Code97214CountryUnited StatesCoordinates45°30′43″N 122°38′47″W / 45.5120°N 122.6465°W / 45.5120; -122.6465Websitefarinabakery.com Farina Bakery is a bakery and cafe in Portland, Oregon.[1] Description Interior mural Farina Bakery is a bakery and cafe on Hawthor...

CIA-led effort to eliminate the Viet Cong during the Vietnam War For other uses of Operation Phoenix, see Operation Phoenix (disambiguation). vteMilitary engagements during the Vietnam WarGuerrilla phase Laos Biên Hòa Đồng Khởi Chopper Palace Bombing Sunrise Shufly Ấp Bắc Go Cong Hiep Hoa 34A Long Dinh Kien Long Quyet Thang 202 USNS Card Nam Dong An Lao Binh Gia Camp Holloway Dương Liễu – Nhông Pass Qui Nhơn Ka Nak Sông Bé Ba Gia Dong Xoai American intervention 1965 Starl...

 

British artist For other people named Robert Streater, see Robert Streater (disambiguation). Robert Streater, self-portrait (engraving from Horace Walpole's Anecdotes of painting in England, vol. 2) Robert Streater (1621–1679)[1] (also known as Streeter), was an English landscape, history, still-life and portrait artist, architectural painter, and etcher. He was Serjeant Painter to King Charles II, and decorated the ceiling of Christopher Wren's Sheldonian Theatre in Oxford. Life an...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!