Core Image provides GPU-accelerated image processing and analysis on iOS, macOS, tvOS, and visionOS. You represent images with CIImage, apply built-in or custom processing with CIFilter and kernels such as CIColorKernel, CIWarpKernel, and CIBlendKernel, and render results through a CIContext into a CIRenderDestination. The framework also handles RAW processing with CIRAWFilter and feature and barcode detection through CIDetector, producing results like CIFaceFeature, CIRectangleFeature, and CIQRCodeFeature alongside descriptors such as CIQRCodeDescriptor and CIAztecCodeDescriptor.
Images and Color 5
The core value types that represent image data, colors, and geometric vectors for processing.
- ClCIImagemacOS 10.4+A representation of an image to be processed or produced by Core Image filters.
- ClCIColormacOS 10.4+The Core Image class that defines a color object.
- ClCIVectormacOS 10.4+The Core Image class that defines a vector object.
- ClCIImageAccumulatormacOS 10.4+An object that manages feedback-based image processing across successive render passes.
- ClCISamplermacOS 10.4+An object that retrieves pixel samples from a source image for use by a kernel.
Rendering 5
Types that evaluate the image pipeline and render results to a destination.
- ClCIContextmacOS 10.4+The Core Image context class provides an evaluation context for Core Image processing with Metal, OpenGL, or OpenCL.
- ClCIRenderDestinationmacOS 10.13+A target, such as a buffer, texture, or surface, into which a context renders an image.
- ClCIRenderTaskmacOS 10.13+An object representing a render operation queued for execution by a context.
- ClCIRenderInfomacOS 10.13+An object that reports timing and resource details about a completed render task.
- EnCIRenderDestinationAlphaModeConstants that specify how alpha is interpreted when rendering to a destination.
Filters 6
Objects and protocols for applying built-in and custom image filters.
- ClCIFiltermacOS 10.4+CIFilter are filter objects for Core Image that encapsulate the filter with its attributes
- PrCIFilterProtocolA protocol adopted by strongly typed filter classes exposing typed input and output properties.
- PrCIFilterConstructorA protocol that creates filter instances by name for registered filter providers.
- ClCIFilterGeneratormacOS 10.5+The goal is to CIFilters to be connected and form a single CIFilter for ease of reusability.
- ClCIFilterShapemacOS 10.4+A description of the rectangular region a filter affects during processing.
- ClCIRAWFiltermacOS 12.0+A filter that decodes and adjusts camera RAW image data into a processed image.
Custom Kernels and Processors 7
Programmable kernels and processor hooks for writing custom GPU image operations.
- ClCIKernelmacOS 10.4+A compiled Core Image kernel routine that performs a per-pixel image computation.
- ClCIColorKernelmacOS 10.11+A kernel that computes output pixel colors independently of pixel position.
- ClCIWarpKernelmacOS 10.11+A kernel that computes output pixel positions to warp or remap an image.
- ClCIBlendKernelmacOS 10.13+A kernel that combines two images using a custom blending computation.
- ClCIImageProcessorKernelmacOS 10.12+The abstract class you extend to create custom image processors that can integrate with Core Image workflows.
- PrCIImageProcessorInputmacOS 10.12+Your app does not define classes that adopt this protocol; Core Image provides an object of this type
- PrCIImageProcessorOutputmacOS 10.12+Your app does not define classes that adopt this protocol; Core Image provides an object of this type
Feature Detection 6
The detector and feature objects that locate faces, rectangles, text, and barcodes in images.
- ClCIDetectormacOS 10.7+Detects features in images.
- ClCIFeaturemacOS 10.7+The abstract superclass for objects representing notable features detected in an image.
- ClCIFaceFeaturemacOS 10.7+Information about a face detected in a still or video image.
- ClCIRectangleFeaturemacOS 10.10+Information about a rectangular region detected in a still or video image.
- ClCIQRCodeFeaturemacOS 10.10+Information about a Quick Response code detected in a still or video image.
- ClCITextFeaturemacOS 10.11+Information about a text that was detected in a still or video image.
Barcode Descriptors 5
Classes that describe the structure and payload of detected machine-readable codes.
- ClCIBarcodeDescriptormacOS 10.13+An abstract base class that represents a machine-readable code's attributes.
- ClCIQRCodeDescriptormacOS 10.13+A concrete subclass of the Core Image Barcode Descriptor that represents a square QR code symbol.
- ClCIAztecCodeDescriptormacOS 10.13+A concrete subclass the Core Image Barcode Descriptor that represents an Aztec code symbol.
- ClCIPDF417CodeDescriptormacOS 10.13+A concrete subclass of Core Image Barcode Descriptor that represents a PDF417 symbol.
- ClCIDataMatrixCodeDescriptormacOS 10.13+A concrete subclass the Core Image Barcode Descriptor that represents an Data Matrix code symbol.
Plug-ins 2
Types for loading and registering third-party filter plug-ins.
- ClCIPlugInmacOS 10.4+The CIPlugIn class is responsible for loading Image Units.
- PrCIPlugInRegistration@protocol CIPlugInRegistration
Options and Formats 8
Option keys, pixel formats, and enumerations that configure contexts, images, and RAW decoding.
- StCIContextOptionAn enum string type that your code can use to select different options when creating a Core Image context.
- StCIImageOptionConstants that specify options used when creating an image from source data.
- StCIImageRepresentationOptionAn enum string type that your code can use to select different options when saving to image representations such as JPEG and HEIF.
- StCIImageAutoAdjustmentOptionConstants that specify options for computing automatic image enhancement filters.
- StCIDynamicRangeOptionAn enum string type that your code can use to select different System Tone Mapping modes.
- StCIFormatConstants that identify the pixel data format used by image buffers and render destinations.
- StCIRAWDecoderVersionConstants that identify the version of the RAW decoder used to process camera data.
- StCIRAWFilterOptionConstants that specify keys for configuring RAW image decoding and adjustment.
Type Aliases 1
- TyCIKernelROICallback