TechnologiesGraphics, Imaging & Compositing

CoreImage

iOSmacOStvOSwatchOSvisionOS

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.

  • Cl
    CIImagemacOS 10.4+
    A representation of an image to be processed or produced by Core Image filters.
  • Cl
    CIColormacOS 10.4+
    The Core Image class that defines a color object.
  • Cl
    CIVectormacOS 10.4+
    The Core Image class that defines a vector object.
  • Cl
    CIImageAccumulatormacOS 10.4+
    An object that manages feedback-based image processing across successive render passes.
  • Cl
    CISamplermacOS 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.

  • Cl
    CIContextmacOS 10.4+
    The Core Image context class provides an evaluation context for Core Image processing with Metal, OpenGL, or OpenCL.
  • Cl
    CIRenderDestinationmacOS 10.13+
    A target, such as a buffer, texture, or surface, into which a context renders an image.
  • Cl
    CIRenderTaskmacOS 10.13+
    An object representing a render operation queued for execution by a context.
  • Cl
    CIRenderInfomacOS 10.13+
    An object that reports timing and resource details about a completed render task.
  • En
    CIRenderDestinationAlphaMode
    Constants that specify how alpha is interpreted when rendering to a destination.

Filters 6

Objects and protocols for applying built-in and custom image filters.

  • Cl
    CIFiltermacOS 10.4+
    CIFilter are filter objects for Core Image that encapsulate the filter with its attributes
  • Pr
    CIFilterProtocol
    A protocol adopted by strongly typed filter classes exposing typed input and output properties.
  • Pr
    CIFilterConstructor
    A protocol that creates filter instances by name for registered filter providers.
  • Cl
    CIFilterGeneratormacOS 10.5+
    The goal is to CIFilters to be connected and form a single CIFilter for ease of reusability.
  • Cl
    CIFilterShapemacOS 10.4+
    A description of the rectangular region a filter affects during processing.
  • Cl
    CIRAWFiltermacOS 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.

  • Cl
    CIKernelmacOS 10.4+
    A compiled Core Image kernel routine that performs a per-pixel image computation.
  • Cl
    CIColorKernelmacOS 10.11+
    A kernel that computes output pixel colors independently of pixel position.
  • Cl
    CIWarpKernelmacOS 10.11+
    A kernel that computes output pixel positions to warp or remap an image.
  • Cl
    CIBlendKernelmacOS 10.13+
    A kernel that combines two images using a custom blending computation.
  • Cl
    CIImageProcessorKernelmacOS 10.12+
    The abstract class you extend to create custom image processors that can integrate with Core Image workflows.
  • Pr
    CIImageProcessorInputmacOS 10.12+
    Your app does not define classes that adopt this protocol; Core Image provides an object of this type
  • Pr
    CIImageProcessorOutputmacOS 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.

  • Cl
    CIDetectormacOS 10.7+
    Detects features in images.
  • Cl
    CIFeaturemacOS 10.7+
    The abstract superclass for objects representing notable features detected in an image.
  • Cl
    CIFaceFeaturemacOS 10.7+
    Information about a face detected in a still or video image.
  • Cl
    CIRectangleFeaturemacOS 10.10+
    Information about a rectangular region detected in a still or video image.
  • Cl
    CIQRCodeFeaturemacOS 10.10+
    Information about a Quick Response code detected in a still or video image.
  • Cl
    CITextFeaturemacOS 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.

  • Cl
    CIBarcodeDescriptormacOS 10.13+
    An abstract base class that represents a machine-readable code's attributes.
  • Cl
    CIQRCodeDescriptormacOS 10.13+
    A concrete subclass of the Core Image Barcode Descriptor that represents a square QR code symbol.
  • Cl
    CIAztecCodeDescriptormacOS 10.13+
    A concrete subclass the Core Image Barcode Descriptor that represents an Aztec code symbol.
  • Cl
    CIPDF417CodeDescriptormacOS 10.13+
    A concrete subclass of Core Image Barcode Descriptor that represents a PDF417 symbol.
  • Cl
    CIDataMatrixCodeDescriptormacOS 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.

  • Cl
    CIPlugInmacOS 10.4+
    The CIPlugIn class is responsible for loading Image Units.
  • Pr
    CIPlugInRegistration
    @protocol CIPlugInRegistration

Options and Formats 8

Option keys, pixel formats, and enumerations that configure contexts, images, and RAW decoding.

  • St
    CIContextOption
    An enum string type that your code can use to select different options when creating a Core Image context.
  • St
    CIImageOption
    Constants that specify options used when creating an image from source data.
  • St
    CIImageRepresentationOption
    An enum string type that your code can use to select different options when saving to image representations such as JPEG and HEIF.
  • St
    CIImageAutoAdjustmentOption
    Constants that specify options for computing automatic image enhancement filters.
  • St
    CIDynamicRangeOption
    An enum string type that your code can use to select different System Tone Mapping modes.
  • St
    CIFormat
    Constants that identify the pixel data format used by image buffers and render destinations.
  • St
    CIRAWDecoderVersion
    Constants that identify the version of the RAW decoder used to process camera data.
  • St
    CIRAWFilterOption
    Constants that specify keys for configuring RAW image decoding and adjustment.

Type Aliases 1

  • Ty
    CIKernelROICallback

Extends 2

NSUserActivityNSObject
← Graphics, Imaging & Compositing