Share via


CoreImage Namespace

The CoreImage namespace provides hardware-accelerated image processing.

Classes

Name Description
CIAccordionFoldTransition

Animates a transition by creating an accordion-fold effect on the source image.

CIAdditionCompositing

The CIAdditionCompositing CoreImage filter.

CIAffineClamp

A CIAffineFilter that extends the border pixels to the post-transform boundaries.

CIAffineFilter

An abstract class that defines a CIFilter that performs an affine transform on an image and then performs a filtering operation on the transformed image.

CIAffineTile

A CIAffineFilter that tiles the transformed image.

CIAffineTransform

Performs an affine transform on an image.

CIAreaAverage

Produces a single-pixel image. The pixel is the average color of the input extent.

CIAreaAverageMaximumRed
CIAreaBoundsRed
CIAreaHistogram

Creates histogram data for a given image and rectangle of interest.

CIAreaLogarithmicHistogram
CIAreaMaximum

Produces a single-pixel image. The pixel's components are set to the maximum of that component within the input extent.

CIAreaMaximumAlpha

Returns a single-pixel image. The color is that of the pixel in the input extent with the greatest alpha value.

CIAreaMinimum

Returns a single-pixel image. The pixel's components are set to the minimum of that component within the input extent.

CIAreaMinimumAlpha

Returns a single-pixel image. The color is that of the pixel in the input extent with the lowest alpha value.

CIAreaMinMax
CIAreaMinMaxRed
CIAttributedTextImageGenerator

A CIImageGenerator that generates an image from attributed text.

CIAttributedTextImageGeneratorProtocol_Extensions

Extension methods to the ICIAttributedTextImageGeneratorProtocol interface to support all the methods from the CIAttributedTextImageGenerator protocol.

CIAutoAdjustmentFilterOptions

When passed to GetAutoAdjustmentFilters(CIAutoAdjustmentFilterOptions), limits the results.

CIAztecCodeDescriptor

A CIBarcodeDescriptor for the Aztec barcode scheme.

CIAztecCodeGenerator

Generates an Aztec code for the specified Message.

CIBarcodeDescriptor

Base class for barcode descriptions. Subclasses for specific schemes define relevant properties.

CIBarcodeGenerator

A CIFilter that generates barcodes.

CIBarsSwipeTransition

A CITransitionFilter that animates a transition by moving a bar over the source image.

CIBicubicScaleTransform
CIBlendFilter

An abstract CIFilter that combines a background and foreground image.

CIBlendKernel

A CIColorKernel that blends images using the GPU.

CIBlendWithAlphaMask

A CIBlendWithMask that uses a mask image to blend foreground and background images.

CIBlendWithBlueMask
CIBlendWithMask

A CIBlendFilter that uses a grayscale mask to blends its foreground and background images.

CIBlendWithRedMask
CIBloom

A CIFilter that creates an edge-flow effect.

CIBlurredRectangleGenerator
CIBlurredRoundedRectangleGenerator
CIBokehBlur

A blur simulating the the unfocused background of a larger-aperture camera with an iris shutter.

CIBoxBlur

Applies a blur created with a box-shaped convolution kernel.

CIBumpDistortion

A CIDistortionFilter that creates a bump at the specified center point.

CIBumpDistortionLinear

A filter that distorts the image around a convex or concave line.

CICameraCalibrationLensCorrection
CICannyEdgeDetector
CICheckerboardGenerator

The CICheckerboardGenerator CoreImage filter

CICircleSplashDistortion

Makes the pixels at the circumference of a circle spread out to the boundaries of the image.

CICircularScreen

A CIScreenFilter that creates a circular bulls-eye-style halftone screen.

CICircularWrap

Distorts the input image so that it appears as if wrapped around a transparent circle.

CIClamp
CICmykHalftone

Produce a color half-tone image built from cyan, magenta, yellow, and black 'inks'.

CICode128BarcodeGenerator

Generates a Code 128 barcode.

CICodeGenerator

Base class for code generators.

CIColor

A Core Image color, including both color values and a reference to a color space.

CIColorAbsoluteDifference
CIColorBlendMode

The CIColorBlendMode CoreImage filter

CIColorBurnBlendMode

The CIColorBurnBlendMode CoreImage filter

CIColorClamp

A filter that constrains the color values between the range specified.

CIColorControls

The CIColorControls CoreImage filter

CIColorCrossPolynomial

A filter that modifies the source pixels by applying a set of polynomial cross-products.

CIColorCube

The CIColorCube CoreImage filter

CIColorCubeProtocol_Extensions

Extension methods to the ICIColorCubeProtocol interface to support all the methods from the CIColorCube protocol.

CIColorCubesMixedWithMask
CIColorCubesMixedWithMaskProtocol_Extensions

Extension methods to the ICIColorCubesMixedWithMaskProtocol interface to support all the methods from the CIColorCubesMixedWithMask protocol.

CIColorCubeWithColorSpace

A filter that modifies the source pixels using a 3D color-table and then maps the result to a color space.

CIColorCubeWithColorSpaceProtocol_Extensions

Extension methods to the ICIColorCubeWithColorSpaceProtocol interface to support all the methods from the CIColorCubeWithColorSpace protocol.

CIColorCurves
CIColorDodgeBlendMode

The CIColorDodgeBlendMode CoreImage filter

CIColorInvert

The CIColorInvert CoreImage filter

CIColorKernel

Kernel for a GPU process that only operates on color data.

CIColorMap

Changes colors based on an input gradient image's mapping.

CIColorMatrix

The CIColorMatrix CoreImage filter.

CIColorMonochrome

The CIColorMonochrome CoreImage filter

CIColorPolynomial

A filter that modifies the source pixels by applying a set of cubic polynomials.

CIColorPosterize

Reduces the number of levels for each color component.

CIColorThreshold
CIColorThresholdOtsu
CIColumnAverage

Returns a 1-pixel high image with the same width as the input image. Every pixel is the average color of the corresponding column in the input image.

CIComicEffect

Produces an image with outlined edges and a color halftone effect.

CICompositingFilter

An abstract CIFilter that composites two images.

CIConstantColorGenerator

Generates a solid color.

CIContext

Orchestrates the rendering of a CIFilter pipeline.

CIContext_CIDepthBlurEffect
CIContext_CIRenderDestination
CIContext_ImageRepresentation

Extension methods for CIContext that can generate common image formats.

CIContextOptions

Use to configure the CIContext rendering pipeline.

CIConvolution3X3

A filter that performs a custom 3x3 matrix convolution.

CIConvolution5X5

A filter that performs a custom 5x5 matrix convolution.

CIConvolution7X7

A filter that performs a custom 7x7 matrix convolution.

CIConvolution9Horizontal

A filter that performs a horizontal convolution of 9 elements.

CIConvolution9Vertical

A filter that performs a vertical convolution of 9 elements.

CIConvolutionCore

An abstract class that is the base for convolution filters.

CIConvolutionRGB3X3
CIConvolutionRGB5X5
CIConvolutionRGB7X7
CIConvolutionRGB9Horizontal
CIConvolutionRGB9Vertical
CICopyMachineTransition

A CITransitionFilter that mimics the effect of a photocopier.

CICoreMLModelFilter
CICrop

The CICrop CoreImage filter

CICrystallize

Creates irregular blocks of average color from the source image.

CIDarkenBlendMode

The CIDarkenBlendMode CoreImage filter

CIDataMatrixCodeDescriptor

A CIBarcodeDescriptor for the Data Matrix barcode scheme.

CIDepthBlurEffect
CIDepthDisparityConverter
CIDepthOfField

Simulates a blurred depth of field and applies a saturation effect to the 'in-focus' region.

CIDepthToDisparity
CIDetector

Image analysis class for face detection.

CIDetectorOptions

Options for use with face detection. Used with CreateFaceDetector(CIContext, Nullable<FaceDetectorAccuracy>, Nullable<Single>, Nullable<Boolean>).

CIDifferenceBlendMode

The CIDifferenceBlendMode CoreImage filter

CIDiscBlur

Applies a blur created with a disc-shaped convolution kernel.

CIDisintegrateWithMaskTransition

A CITransitionFilter that uses a mask to define the transition.

CIDisparityToDepth
CIDisplacementDistortion

Textures the input image by the grayscale value of the corresponding pixels in the displacement image.

CIDissolveTransition

A CITransitionFilter that performs a cross-dissolve.

CIDistanceGradientFromRedMask
CIDistortionFilter

An abstract CIFilter for distortions.

CIDither
CIDivideBlendMode

A CIBlendFilter that divides the color values of its InputImage and BackgroundImage.

CIDocumentEnhancer
CIDotScreen

A CIScreenFilter that screens with a halftone dot pattern.

CIDroste

Creates a series of increasingly smaller boxes repeating a portion of the image.

CIDynamicRangeOptionExtensions

Extension methods for the CIDynamicRangeOption enumeration.

CIEdgePreserveUpsampleFilter
CIEdges

Creates a colorized edge-detection effect.

CIEdgeWork

Creates a black and white woodblock effect.

CIEightfoldReflectedTile

A CITileFilter that applies 8-way reflected symmetry.

CIExclusionBlendMode

The CIExclusionBlendMode CoreImage filter

CIExposureAdjust

The CIExposureAdjust CoreImage filter

CIFaceBalance

The CIFaceBalance CoreImage filter

CIFaceFeature

Locations of the eyes and mouths in a detected face. In video sequences, attempts to maintain a consistent TrackingId.

CIFalseColor

The CIFalseColor CoreImage filter

CIFeature

An area of an image in which a CIDetector has detected a match.

CIFilter

CoreImage image filter.

CIFilterApply
CIFilterAttributes

Constants used for CIFilter's attributes

CIFilterCategory

Constants used for CIFilter filtering facilities to find filters by category.

CIFilterGenerator
CIFilterInputKey

Keys that can be used to configure the CIFilter input values.

CIFilterOutputKey

Keys that can be used to get output results out of a CIFilter.

CIFilterShape

Masks filter operations to areas composed of the intersections, unions, and affine transformations of rectangles and other similarly constructed filter shapes.

CIFlashTransition

A CITransitionFilter that presents a starburst-like flash.

CIFormatExtensions

Extension methods for the CIFormat enumeration.

CIFourfoldReflectedTile

A CITileFilter that applies 4-way reflected symmetry.

CIFourfoldRotatedTile

A CITileFilter that rotates the source image in 90-degree increments.

CIFourfoldTranslatedTile

A CITileFilter that applies four translations to the source image.

CIGaborGradients
CIGammaAdjust

The CIGammaAdjust CoreImage filter

CIGaussianBlur

Applies a Gaussian blur.

CIGaussianGradient

Generates a gradient that fades via a 2D Gaussian distribution

CIGlassDistortion

Distorts the input image so that it appears viewed through glass blocks whose geometry corresponds to the Texture image.

CIGlassLozenge

Creates an effect as if a lozenge-shaped lens were placed on the input image.

CIGlideReflectedTile

A CITileFilter that translates and smears the source image.

CIGloom

A CIFilter that dulls the highlights of the source image.

CIGuidedFilter
CIHardLightBlendMode

The CIHardLightBlendMode CoreImage filter

CIHatchedScreen

A CIScreenFilter that filters via a hatched halftone pattern.

CIHeightFieldFromMask

Creates a continuous height field from a grayscale mask. Use with CIShadedMaterial to create realistic dropshadows.

CIHexagonalPixellate

Pixellates the image with hexagonals based on the average color of pixels within the hexagon.

CIHighlightShadowAdjust

The CIHighlightShadowAdjust CoreImage filter

CIHistogramDisplayFilter

Renders a one-dimensional InputImage histogram as a typical two-dimensional histogram.

CIHoleDistortion

A CIDistortionFilter that distorts pixels around a circular area.

CIHueAdjust

The CIHueAdjust CoreImage filter

CIHueBlendMode

The CIHueBlendMode CoreImage filter

CIHueSaturationValueGradient

Creates a gradient specified using HSV.

CIImage

Represents a set of instructions to create an image for use by CoreImage.

CIImageAccumulator

A feedback image processor.

CIImageGenerator

A CIFilter that generates images.

CIImageInitializationOptions

Options that can be used when initializing a new CIImage.

CIImageInitializationOptionsWithMetadata

A type of CIImageInitializationOptions that has additional metadata properties.

CIImageProcessorInput_Extensions

Extension methods to the ICIImageProcessorInput interface to support all the methods from the CIImageProcessorInput protocol.

CIImageProcessorKernel

Base class for image-processing classes whose processing can be inserted into the CoreImage processing pipeline.

CIImageProcessorOutput_Extensions

Extension methods to the ICIImageProcessorOutput interface to support all the methods from the CIImageProcessorOutput protocol.

CIImageProvider_Extensions

Extension methods to the ICIImageProvider interface to support all the methods from the CIImageProvider protocol.

CIImageProviderOptions

Options used in various calls to CIImage involving ICIImageProvider objects.

CIImageRepresentationOptions
CIKaleidoscope

Produces a kaleidoscopic, 12-way-symmetrical, image.

CIKernel

A kernel for filters that use custom GPU steps.

CIKeystoneCorrection
CIKeystoneCorrectionCombined
CIKeystoneCorrectionHorizontal
CIKeystoneCorrectionVertical
CIKMeans
CILabDeltaE
CILanczosScaleTransform

A scaling transform that uses Lanczos resampling.

CILenticularHaloGenerator

Creates an artificial lens-flare.

CILightenBlendMode

The CILightenBlendMode CoreImage filter

CILightTunnel

A CIFilter that creates a spiraling effect.

CILinearBlur
CILinearBurnBlendMode

Darkens the image based on the colors of the background image.

CILinearDodgeBlendMode

Darkens the image based on the colors of the background image.

CILinearGradient

A gradient that fades one color linearly into another.

CILinearLightBlendMode
CILinearToSRGBToneCurve

A filter that maps color intensity from a linear gamma curve to the sRGB color space.

CILineOverlay

Produces a black-and-white sketch-like image via edge detection.

CILineScreen

A CIScreenFilter that simulates a halftone made of lines.

CILuminosityBlendMode

The CILuminosityBlendMode CoreImage filter

CIMaskedVariableBlur

A CIFilter that blurs based on a black-and-white mask.

CIMaskToAlpha

A CIFilter that converts a grayscale image to an alpha mask.

CIMaximumComponent

A CIFilter that creates a grayscale image from the maximum value of the RGB color values.

CIMaximumCompositing

The CIMaximumCompositing CoreImage filter

CIMaximumScaleTransform
CIMedianFilter

Replaces pixel values with the median of neighboring pixel values, thus reducing noise in the input image.

CIMeshGenerator
CIMinimumComponent

A CIFilter that creates a grayscale image from the minimum component of the RGB values.

CIMinimumCompositing

The CIMinimumCompositing CoreImage filter

CIMix
CIModTransition

A CITransitionFilter that reveals the background image via a series of irregularly shaped holes.

CIMorphology
CIMorphologyGradient
CIMorphologyMaximum
CIMorphologyMinimum
CIMorphologyRectangle
CIMorphologyRectangleMaximum
CIMorphologyRectangleMinimum
CIMotionBlur

Applies a blur that simulates the motion of a camera during capture.

CIMultiplyBlendMode

The CIMultiplyBlendMode CoreImage filter

CIMultiplyCompositing

The CIMultiplyCompositing CoreImage filter

CINinePartStretched
CINinePartTiled
CINoiseReduction

Reduces noise by detecting luminance variations. Small luminance variations are locally blurred, large variations are locally sharpened.

CIOpTile

Creates an 'op art' effect by tiling, scaling, and rotating regions of the image.

CIOverlayBlendMode

The CIOverlayBlendMode CoreImage filter

CIPageCurlTransition

Animates a page curl transition between images.

CIPageCurlWithShadowTransition

Animates a page curl transition, with a shadow, between images.

CIPaletteCentroid
CIPalettize
CIParallelogramTile

Warps an image into a parallelogram and then tiles the result.

CIPdf417BarcodeGenerator

Generator for 2-dimensional PDF417 bar codes.

CIPdf417CodeDescriptor

A CIBarcodeDescriptor for the CIPDF417 barcode scheme.

CIPersonSegmentation
CIPerspectiveCorrection

A CIPerspectiveTransform that is cropped according to the perspective control points, but whose pixels are not transformed.

CIPerspectiveRotate
CIPerspectiveTile

A CIFilter that applies a perspective transform and then tiles the result.

CIPerspectiveTransform

A CIFilter that applies a transform the simulates perspective.

CIPerspectiveTransformWithExtent

A filter that alters a portion of the total image based on a perspective transform.

CIPhotoEffect

The base class for photo effect filters.

CIPhotoEffectChrome

A filter that exaggerates color of the image producing a vintage look.

CIPhotoEffectFade

A filter that reduces color of the image producing a vintage look.

CIPhotoEffectInstant

A filter that that distorts colors in a style reminiscent of instant film.

CIPhotoEffectMono

A filter that produces a low-contrast black-and-white image.

CIPhotoEffectNoir

A filter that produces a high-contrast black-and-white image.

CIPhotoEffectProcess

A filter that produces a vintage look with exagerrated cool colors.

CIPhotoEffectProtocol_Extensions

Extension methods to the ICIPhotoEffectProtocol interface to support all the methods from the CIPhotoEffect protocol.

CIPhotoEffectTonal

A filter that produces a black-and-white image with minimal contrast changes.

CIPhotoEffectTransfer

A filter that produces a vintage look with exagerrated warm colors.

CIPinchDistortion

A CIDistortionFilter that pinches pixels towards a rectangular area.

CIPinLightBlendMode

Replaces image colors with the bright colors from the background image.

CIPixellate

A CIFilter that pixelates the original image.

CIPlugIn
CIPointillize

Creates an effect mimicking artistic pointillization.

CIQRCodeDescriptor

A CIBarcodeDescriptor for QR codes.

CIQRCodeFeature

A detected QR code.

CIQRCodeGenerator

Generates a QR code.

CIRadialGradient

Generates a gradient between two colors as if reflected on a sphere.

CIRandomGenerator

A CIFilter whose pixels are randomly colored.

CIRawDecoderVersionExtensions

Extension methods for the CIRawDecoderVersion enumeration.

CIRawFilter
CIRawFilterOptions

Settings for use with CreateRawFilter(CVPixelBuffer, NSDictionary, NSDictionary).

CIRectangleFeature

A CIFeature an image space rectange that contains a detected physical rectangle.

CIReductionFilter
CIRenderDestination
CIRenderInfo

Holds information about a render pass, including timing information and number of pixels processed.

CIRenderTask
CIRippleTransition

Animates a ripple transition between images.

CIRoundedQRCodeGenerator
CIRoundedRectangleGenerator
CIRoundedRectangleStrokeGenerator
CIRowAverage

Returns a 1-pixel-high image, the pixels of which are the average color for the corresponding row in the input image.

CISaliencyMapFilter
CISampleNearest
CISampler

Samples images for processing by a CISampler.

CISamplerOptions

Options to conrol sampler operations for CISampler objects.

CISaturationBlendMode

The CISaturationBlendMode CoreImage filter

CIScreenBlendMode

The CIScreenBlendMode CoreImage filter

CIScreenFilter

A CIFilter that mimics halftone screens.

CISepiaTone

The CISepiaTone CoreImage filter

CIShadedMaterial

Produces a shaded image from a height field, such as that produced by CIHeightFieldFromMask.

CISharpenLuminance

A CIFilter that sharpens the image.

CISignedDistanceGradientFromRedMask
CISixfoldReflectedTile

A CITileFilter that applies 6-way reflected symmetry.

CISixfoldRotatedTile

A CITileFilter that rotates the image in 60-degree increments.

CISmoothLinearGradient

A filter that produces a gradient along a linear axis between two endpoints.

CISobelGradients
CISoftLightBlendMode

The CISoftLightBlendMode CoreImage filter

CISourceAtopCompositing

The CISourceAtopCompositing CoreImage filter

CISourceInCompositing

The CISourceInCompositing CoreImage filter

CISourceOutCompositing

The CISourceOutCompositing CoreImage filter

CISourceOverCompositing

The CISourceOverCompositing CoreImage filter

CISpotColor

Replaces color ranges with specified replacement colors.

CISpotLight

Produces an effect mimicking that of a directional spotlight.

CISRGBToneCurveToLinear

A filter that adjusts tone response in sRGB color space and then maps it to a linear gamma curve.

CIStarShineGenerator

A CIFilter that simulates lens flare.

CIStraightenFilter

The CIStraightenFilter CoreImage filter

CIStretchCrop

Stretches and crops an image.

CIStripesGenerator

Generates hard-edged strips of alternating colors.

CISubtractBlendMode

Subtracts the background image pixels from those in the InputImage.

CISunbeamsGenerator

Creates an artificial sun and light-ray effect.

CISwipeTransition

A CITransitionFilter that swipes from one image to the other.

CISystemToneMap
CITemperatureAndTint

The CITemperatureAndTint CoreImage filter

CITextFeature

A detected text feature.

CITextImageGenerator

A CIImageGenerator that generates an image from text.

CITextImageGeneratorProtocol_Extensions

Extension methods to the ICITextImageGeneratorProtocol interface to support all the methods from the CITextImageGenerator protocol.

CIThermal
CITileFilter

A CIFilter that applies a filter and then tiles the results.

CIToneCurve

The CIToneCurve CoreImage filter

CIToneMapHeadroom
CITorusLensDistortion

Produces an effect as if a toroidal lens were placed on the input image.

CITransitionFilter

A CITransitionFilter that animates a transition between two images.

CITriangleKaleidoscope

A CIFilter that creates a kaleidoscopic effect.

CITriangleTile

Tiles the image with a triangular region of the input image.

CITwelvefoldReflectedTile

A CITileFilter that applies 12-way reflected symmetry.

CITwirlDistortion

A CIDistortionFilter that rotates pixels around a point.

CIUIParameterSet

Contains options for core image filter user interfaces.

CIUnsharpMask

A CIFilter that increases the contrast of edges in the image.

CIVector

A vector for use with Core Image objects such as CIFilter.

CIVibrance

The CIVibrance CoreImage filter

CIVignette

The CIVignette CoreImage filter

CIVignetteEffect

A filter that modifies the brightness of the outside of an image.

CIVividLightBlendMode
CIVortexDistortion

A CIDistortionFilter that creates a tight spiraling distortion suggestive of a vortex.

CIWarpKernel

A kernel for GPU transforms that operate only on geometry.

CIWhitePointAdjust

The CIWhitePointAdjust CoreImage filter

CIXRay
CIZoomBlur

Applies a blur that simulates a camera zoom during capture.

NSObject_CIImageProvider

Interface defining an image provider.

Interfaces

Name Description
ICIAccordionFoldTransitionProtocol

This interface represents the Objective-C protocol CIAccordionFoldTransition.

ICIAffineClampProtocol

This interface represents the Objective-C protocol CIAffineClamp.

ICIAffineTileProtocol

This interface represents the Objective-C protocol CIAffineTile.

ICIAreaAverageMaximumRedProtocol

This interface represents the Objective-C protocol CIAreaAverageMaximumRed.

ICIAreaAverageProtocol

This interface represents the Objective-C protocol CIAreaAverage.

ICIAreaBoundsRedProtocol

This interface represents the Objective-C protocol CIAreaBoundsRed.

ICIAreaHistogramProtocol

This interface represents the Objective-C protocol CIAreaHistogram.

ICIAreaLogarithmicHistogramProtocol

This interface represents the Objective-C protocol CIAreaLogarithmicHistogram.

ICIAreaMaximumAlphaProtocol

This interface represents the Objective-C protocol CIAreaMaximumAlpha.

ICIAreaMaximumProtocol

This interface represents the Objective-C protocol CIAreaMaximum.

ICIAreaMinimumAlphaProtocol

This interface represents the Objective-C protocol CIAreaMinimumAlpha.

ICIAreaMinimumProtocol

This interface represents the Objective-C protocol CIAreaMinimum.

ICIAreaMinMaxProtocol

This interface represents the Objective-C protocol CIAreaMinMax.

ICIAreaMinMaxRedProtocol

This interface represents the Objective-C protocol CIAreaMinMaxRed.

ICIAreaReductionFilterProtocol

This interface represents the Objective-C protocol CIAreaReductionFilter.

ICIAttributedTextImageGeneratorProtocol

This interface represents the Objective-C protocol CIAttributedTextImageGenerator.

ICIAztecCodeGeneratorProtocol

This interface represents the Objective-C protocol CIAztecCodeGenerator.

ICIBarcodeGeneratorProtocol

This interface represents the Objective-C protocol CIBarcodeGenerator.

ICIBarsSwipeTransitionProtocol

This interface represents the Objective-C protocol CIBarsSwipeTransition.

ICIBicubicScaleTransformProtocol

This interface represents the Objective-C protocol CIBicubicScaleTransform.

ICIBlendWithMaskProtocol

This interface represents the Objective-C protocol CIBlendWithMask.

ICIBloomProtocol

This interface represents the Objective-C protocol CIBloom.

ICIBlurredRectangleGeneratorProtocol

This interface represents the Objective-C protocol CIBlurredRectangleGenerator.

ICIBlurredRoundedRectangleGeneratorProtocol

This interface represents the Objective-C protocol CIBlurredRoundedRectangleGenerator.

ICIBokehBlurProtocol

This interface represents the Objective-C protocol CIBokehBlur.

ICIBoxBlurProtocol

This interface represents the Objective-C protocol CIBoxBlur.

ICIBumpDistortionLinearProtocol

This interface represents the Objective-C protocol CIBumpDistortionLinear.

ICIBumpDistortionProtocol

This interface represents the Objective-C protocol CIBumpDistortion.

ICICannyEdgeDetectorProtocol

This interface represents the Objective-C protocol CICannyEdgeDetector.

ICICheckerboardGeneratorProtocol

This interface represents the Objective-C protocol CICheckerboardGenerator.

ICICircleSplashDistortionProtocol

This interface represents the Objective-C protocol CICircleSplashDistortion.

ICICircularScreenProtocol

This interface represents the Objective-C protocol CICircularScreen.

ICICircularWrapProtocol

This interface represents the Objective-C protocol CICircularWrap.

ICICmykHalftoneProtocol

This interface represents the Objective-C protocol CICMYKHalftone.

ICICode128BarcodeGeneratorProtocol

This interface represents the Objective-C protocol CICode128BarcodeGenerator.

ICIColorAbsoluteDifferenceProtocol

This interface represents the Objective-C protocol CIColorAbsoluteDifference.

ICIColorClampProtocol

This interface represents the Objective-C protocol CIColorClamp.

ICIColorControlsProtocol

This interface represents the Objective-C protocol CIColorControls.

ICIColorCrossPolynomialProtocol

This interface represents the Objective-C protocol CIColorCrossPolynomial.

ICIColorCubeProtocol

This interface represents the Objective-C protocol CIColorCube.

ICIColorCubesMixedWithMaskProtocol

This interface represents the Objective-C protocol CIColorCubesMixedWithMask.

ICIColorCubeWithColorSpaceProtocol

This interface represents the Objective-C protocol CIColorCubeWithColorSpace.

ICIColorCurvesProtocol

This interface represents the Objective-C protocol CIColorCurves.

ICIColorInvertProtocol

This interface represents the Objective-C protocol CIColorInvert.

ICIColorMapProtocol

This interface represents the Objective-C protocol CIColorMap.

ICIColorMatrixProtocol

This interface represents the Objective-C protocol CIColorMatrix.

ICIColorMonochromeProtocol

This interface represents the Objective-C protocol CIColorMonochrome.

ICIColorPolynomialProtocol

This interface represents the Objective-C protocol CIColorPolynomial.

ICIColorPosterizeProtocol

This interface represents the Objective-C protocol CIColorPosterize.

ICIColorThresholdOtsuProtocol

This interface represents the Objective-C protocol CIColorThresholdOtsu.

ICIColorThresholdProtocol

This interface represents the Objective-C protocol CIColorThreshold.

ICIColumnAverageProtocol

This interface represents the Objective-C protocol CIColumnAverage.

ICIComicEffectProtocol

This interface represents the Objective-C protocol CIComicEffect.

ICICompositeOperationProtocol

This interface represents the Objective-C protocol CICompositeOperation.

ICIConvertLabProtocol

This interface represents the Objective-C protocol CIConvertLab.

ICIConvolutionProtocol

This interface represents the Objective-C protocol CIConvolution.

ICICopyMachineTransitionProtocol

This interface represents the Objective-C protocol CICopyMachineTransition.

ICICoreMLModelProtocol

This interface represents the Objective-C protocol CICoreMLModel.

ICICrystallizeProtocol

This interface represents the Objective-C protocol CICrystallize.

ICIDepthOfFieldProtocol

This interface represents the Objective-C protocol CIDepthOfField.

ICIDepthToDisparityProtocol

This interface represents the Objective-C protocol CIDepthToDisparity.

ICIDiscBlurProtocol

This interface represents the Objective-C protocol CIDiscBlur.

ICIDisintegrateWithMaskTransitionProtocol

This interface represents the Objective-C protocol CIDisintegrateWithMaskTransition.

ICIDisparityToDepthProtocol

This interface represents the Objective-C protocol CIDisparityToDepth.

ICIDisplacementDistortionProtocol

This interface represents the Objective-C protocol CIDisplacementDistortion.

ICIDissolveTransitionProtocol

This interface represents the Objective-C protocol CIDissolveTransition.

ICIDistanceGradientFromRedMaskProtocol

This interface represents the Objective-C protocol CIDistanceGradientFromRedMask.

ICIDitherProtocol

This interface represents the Objective-C protocol CIDither.

ICIDocumentEnhancerProtocol

This interface represents the Objective-C protocol CIDocumentEnhancer.

ICIDotScreenProtocol

This interface represents the Objective-C protocol CIDotScreen.

ICIDrosteProtocol

This interface represents the Objective-C protocol CIDroste.

ICIEdgePreserveUpsampleProtocol

This interface represents the Objective-C protocol CIEdgePreserveUpsample.

ICIEdgesProtocol

This interface represents the Objective-C protocol CIEdges.

ICIEdgeWorkProtocol

This interface represents the Objective-C protocol CIEdgeWork.

ICIEightfoldReflectedTileProtocol

This interface represents the Objective-C protocol CIEightfoldReflectedTile.

ICIExposureAdjustProtocol

This interface represents the Objective-C protocol CIExposureAdjust.

ICIFalseColorProtocol

This interface represents the Objective-C protocol CIFalseColor.

ICIFilterConstructor

Interface for classes that create named filters.

ICIFilterProtocol

This interface represents the Objective-C protocol CIFilter.

ICIFlashTransitionProtocol

This interface represents the Objective-C protocol CIFlashTransition.

ICIFourCoordinateGeometryFilterProtocol

This interface represents the Objective-C protocol CIFourCoordinateGeometryFilter.

ICIFourfoldReflectedTileProtocol

This interface represents the Objective-C protocol CIFourfoldReflectedTile.

ICIFourfoldRotatedTileProtocol

This interface represents the Objective-C protocol CIFourfoldRotatedTile.

ICIFourfoldTranslatedTileProtocol

This interface represents the Objective-C protocol CIFourfoldTranslatedTile.

ICIGaborGradientsProtocol

This interface represents the Objective-C protocol CIGaborGradients.

ICIGammaAdjustProtocol

This interface represents the Objective-C protocol CIGammaAdjust.

ICIGaussianBlurProtocol

This interface represents the Objective-C protocol CIGaussianBlur.

ICIGaussianGradientProtocol

This interface represents the Objective-C protocol CIGaussianGradient.

ICIGlassDistortionProtocol

This interface represents the Objective-C protocol CIGlassDistortion.

ICIGlassLozengeProtocol

This interface represents the Objective-C protocol CIGlassLozenge.

ICIGlideReflectedTileProtocol

This interface represents the Objective-C protocol CIGlideReflectedTile.

ICIGloomProtocol

This interface represents the Objective-C protocol CIGloom.

ICIHatchedScreenProtocol

This interface represents the Objective-C protocol CIHatchedScreen.

ICIHeightFieldFromMaskProtocol

This interface represents the Objective-C protocol CIHeightFieldFromMask.

ICIHexagonalPixellateProtocol

This interface represents the Objective-C protocol CIHexagonalPixellate.

ICIHighlightShadowAdjustProtocol

This interface represents the Objective-C protocol CIHighlightShadowAdjust.

ICIHistogramDisplayProtocol

This interface represents the Objective-C protocol CIHistogramDisplay.

ICIHoleDistortionProtocol

This interface represents the Objective-C protocol CIHoleDistortion.

ICIHueAdjustProtocol

This interface represents the Objective-C protocol CIHueAdjust.

ICIHueSaturationValueGradientProtocol

This interface represents the Objective-C protocol CIHueSaturationValueGradient.

ICIImageProcessorInput

The input to a CIImageProcessorKernel.

ICIImageProcessorOutput

The output of a CIImageProcessorKernel.

ICIImageProvider

Interface defining an image provider.

ICIKaleidoscopeProtocol

This interface represents the Objective-C protocol CIKaleidoscope.

ICIKeystoneCorrectionCombinedProtocol

This interface represents the Objective-C protocol CIKeystoneCorrectionCombined.

ICIKeystoneCorrectionHorizontalProtocol

This interface represents the Objective-C protocol CIKeystoneCorrectionHorizontal.

ICIKeystoneCorrectionVerticalProtocol

This interface represents the Objective-C protocol CIKeystoneCorrectionVertical.

ICIKMeansProtocol

This interface represents the Objective-C protocol CIKMeans.

ICILabDeltaEProtocol

This interface represents the Objective-C protocol CILabDeltaE.

ICILanczosScaleTransformProtocol

This interface represents the Objective-C protocol CILanczosScaleTransform.

ICILenticularHaloGeneratorProtocol

This interface represents the Objective-C protocol CILenticularHaloGenerator.

ICILightTunnelProtocol

This interface represents the Objective-C protocol CILightTunnel.

ICILinearGradientProtocol

This interface represents the Objective-C protocol CILinearGradient.

ICILinearToSrgbToneCurveProtocol

This interface represents the Objective-C protocol CILinearToSRGBToneCurve.

ICILineOverlayProtocol

This interface represents the Objective-C protocol CILineOverlay.

ICILineScreenProtocol

This interface represents the Objective-C protocol CILineScreen.

ICIMaskedVariableBlurProtocol

This interface represents the Objective-C protocol CIMaskedVariableBlur.

ICIMaskToAlphaProtocol

This interface represents the Objective-C protocol CIMaskToAlpha.

ICIMaximumComponentProtocol

This interface represents the Objective-C protocol CIMaximumComponent.

ICIMaximumScaleTransformProtocol

This interface represents the Objective-C protocol CIMaximumScaleTransform.

ICIMedianProtocol

This interface represents the Objective-C protocol CIMedian.

ICIMeshGeneratorProtocol

This interface represents the Objective-C protocol CIMeshGenerator.

ICIMinimumComponentProtocol

This interface represents the Objective-C protocol CIMinimumComponent.

ICIMixProtocol

This interface represents the Objective-C protocol CIMix.

ICIModTransitionProtocol

This interface represents the Objective-C protocol CIModTransition.

ICIMorphologyGradientProtocol

This interface represents the Objective-C protocol CIMorphologyGradient.

ICIMorphologyMaximumProtocol

This interface represents the Objective-C protocol CIMorphologyMaximum.

ICIMorphologyMinimumProtocol

This interface represents the Objective-C protocol CIMorphologyMinimum.

ICIMorphologyRectangleMaximumProtocol

This interface represents the Objective-C protocol CIMorphologyRectangleMaximum.

ICIMorphologyRectangleMinimumProtocol

This interface represents the Objective-C protocol CIMorphologyRectangleMinimum.

ICIMotionBlurProtocol

This interface represents the Objective-C protocol CIMotionBlur.

ICINinePartStretchedProtocol

This interface represents the Objective-C protocol CINinePartStretched.

ICINinePartTiledProtocol

This interface represents the Objective-C protocol CINinePartTiled.

ICINoiseReductionProtocol

This interface represents the Objective-C protocol CINoiseReduction.

ICIOpTileProtocol

This interface represents the Objective-C protocol CIOpTile.

ICIPageCurlTransitionProtocol

This interface represents the Objective-C protocol CIPageCurlTransition.

ICIPageCurlWithShadowTransitionProtocol

This interface represents the Objective-C protocol CIPageCurlWithShadowTransition.

ICIPaletteCentroidProtocol

This interface represents the Objective-C protocol CIPaletteCentroid.

ICIPalettizeProtocol

This interface represents the Objective-C protocol CIPalettize.

ICIParallelogramTileProtocol

This interface represents the Objective-C protocol CIParallelogramTile.

ICIPdf417BarcodeGeneratorProtocol

This interface represents the Objective-C protocol CIPDF417BarcodeGenerator.

ICIPersonSegmentationProtocol

This interface represents the Objective-C protocol CIPersonSegmentation.

ICIPerspectiveCorrectionProtocol

This interface represents the Objective-C protocol CIPerspectiveCorrection.

ICIPerspectiveRotateProtocol

This interface represents the Objective-C protocol CIPerspectiveRotate.

ICIPerspectiveTileProtocol

This interface represents the Objective-C protocol CIPerspectiveTile.

ICIPerspectiveTransformProtocol

This interface represents the Objective-C protocol CIPerspectiveTransform.

ICIPerspectiveTransformWithExtentProtocol

This interface represents the Objective-C protocol CIPerspectiveTransformWithExtent.

ICIPhotoEffectProtocol

This interface represents the Objective-C protocol CIPhotoEffect.

ICIPinchDistortionProtocol

This interface represents the Objective-C protocol CIPinchDistortion.

ICIPixellateProtocol

This interface represents the Objective-C protocol CIPixellate.

ICIPointillizeProtocol

This interface represents the Objective-C protocol CIPointillize.

ICIQRCodeGeneratorProtocol

This interface represents the Objective-C protocol CIQRCodeGenerator.

ICIRadialGradientProtocol

This interface represents the Objective-C protocol CIRadialGradient.

ICIRandomGeneratorProtocol

This interface represents the Objective-C protocol CIRandomGenerator.

ICIRippleTransitionProtocol

This interface represents the Objective-C protocol CIRippleTransition.

ICIRoundedQRCodeGeneratorProtocol

This interface represents the Objective-C protocol CIRoundedQRCodeGenerator.

ICIRoundedRectangleGeneratorProtocol

This interface represents the Objective-C protocol CIRoundedRectangleGenerator.

ICIRoundedRectangleStrokeGeneratorProtocol

This interface represents the Objective-C protocol CIRoundedRectangleStrokeGenerator.

ICIRowAverageProtocol

This interface represents the Objective-C protocol CIRowAverage.

ICISaliencyMapProtocol

This interface represents the Objective-C protocol CISaliencyMap.

ICISepiaToneProtocol

This interface represents the Objective-C protocol CISepiaTone.

ICIShadedMaterialProtocol

This interface represents the Objective-C protocol CIShadedMaterial.

ICISharpenLuminanceProtocol

This interface represents the Objective-C protocol CISharpenLuminance.

ICISignedDistanceGradientFromRedMaskProtocol

This interface represents the Objective-C protocol CISignedDistanceGradientFromRedMask.

ICISixfoldReflectedTileProtocol

This interface represents the Objective-C protocol CISixfoldReflectedTile.

ICISixfoldRotatedTileProtocol

This interface represents the Objective-C protocol CISixfoldRotatedTile.

ICISmoothLinearGradientProtocol

This interface represents the Objective-C protocol CISmoothLinearGradient.

ICISobelGradientsProtocol

This interface represents the Objective-C protocol CISobelGradients.

ICISpotColorProtocol

This interface represents the Objective-C protocol CISpotColor.

ICISpotLightProtocol

This interface represents the Objective-C protocol CISpotLight.

ICISrgbToneCurveToLinearProtocol

This interface represents the Objective-C protocol CISRGBToneCurveToLinear.

ICIStarShineGeneratorProtocol

This interface represents the Objective-C protocol CIStarShineGenerator.

ICIStraightenProtocol

This interface represents the Objective-C protocol CIStraighten.

ICIStretchCropProtocol

This interface represents the Objective-C protocol CIStretchCrop.

ICIStripesGeneratorProtocol

This interface represents the Objective-C protocol CIStripesGenerator.

ICISunbeamsGeneratorProtocol

This interface represents the Objective-C protocol CISunbeamsGenerator.

ICISwipeTransitionProtocol

This interface represents the Objective-C protocol CISwipeTransition.

ICISystemToneMapProtocol

This interface represents the Objective-C protocol CISystemToneMap.

ICITemperatureAndTintProtocol

This interface represents the Objective-C protocol CITemperatureAndTint.

ICITextImageGeneratorProtocol

This interface represents the Objective-C protocol CITextImageGenerator.

ICIThermalProtocol

This interface represents the Objective-C protocol CIThermal.

ICIToneCurveProtocol

This interface represents the Objective-C protocol CIToneCurve.

ICIToneMapHeadroomProtocol

This interface represents the Objective-C protocol CIToneMapHeadroom.

ICITorusLensDistortionProtocol

This interface represents the Objective-C protocol CITorusLensDistortion.

ICITransitionFilterProtocol

This interface represents the Objective-C protocol CITransitionFilter.

ICITriangleKaleidoscopeProtocol

This interface represents the Objective-C protocol CITriangleKaleidoscope.

ICITriangleTileProtocol

This interface represents the Objective-C protocol CITriangleTile.

ICITwelvefoldReflectedTileProtocol

This interface represents the Objective-C protocol CITwelvefoldReflectedTile.

ICITwirlDistortionProtocol

This interface represents the Objective-C protocol CITwirlDistortion.

ICIUnsharpMaskProtocol

This interface represents the Objective-C protocol CIUnsharpMask.

ICIVibranceProtocol

This interface represents the Objective-C protocol CIVibrance.

ICIVignetteEffectProtocol

This interface represents the Objective-C protocol CIVignetteEffect.

ICIVignetteProtocol

This interface represents the Objective-C protocol CIVignette.

ICIVortexDistortionProtocol

This interface represents the Objective-C protocol CIVortexDistortion.

ICIWhitePointAdjustProtocol

This interface represents the Objective-C protocol CIWhitePointAdjust.

ICIXRayProtocol

This interface represents the Objective-C protocol CIXRay.

ICIZoomBlurProtocol

This interface represents the Objective-C protocol CIZoomBlur.

Enums

Name Description
CIDataMatrixCodeEccVersion

Enumerates the ECC versions for the Data Matrix barcode scheme.

CIDynamicRangeOption
CIFilterMode

Enumerates filter modes.

CIFormat

An enumeration whose values specify pixel formats.

CIImageOrientation

An enumeration whose values specify the origin of the CIImage.

CIQRCodeErrorCorrectionLevel

Enumerates the error correction levels for QR codes.

CIRawDecoderVersion
CIRenderDestinationAlphaMode
CIWrapMode

Enumerates values that control how samples from outside the source image are treated.

FaceDetectorAccuracy

An enumeration whose values specify the accuracy of face detection.

Delegates

Name Description
CIKernelRoiCallback

Completion handler for deterimining a region of interest in the source image.

Remarks

CoreImage provides a framework for processing still images and applying a set of operations on them to either produce new images or perform image analysis (like performing face detection and photography auto-enhance). The operations are hardware accelerated and provide better performance than most hand written implementations.

CoreImage can apply either one filter to an image or you can use the built-in chaining support to apply a series of filters at once to an image. For example, you could apply a Sepia Filter, followed by a Hue adjustment filter, followed by a contrast filter. The idea behind the chaining support is to avoid intermediate copies and intermediate buffers during image processing. Additionally, some of these filtering operations can be performed entirely on the GPU in a single pass, without having to copy data back and forth from the GPU to the main memory.

The CoreImage runtime sits below the CoreGraphics, CoreVideo and ImageIO stacks and provides services to all of them. Depending on the filter operations and the hardware platform, CoreImage will execute the filters in the CPU or the GPU.

To use CoreImage on iOS, you follow these steps:

  • Create a CIImage object. You can create these from multiple sources: CoreGraphics images, bitmap data, images on disk or CoreVideo image buffers. CIImage objects are immutable and represent recipes, that is, they will be computed on demand.

    :

  • Create and configure a CIFilter object. This object combines image inputs or numeric input parameters to configure the effects of the filter. The configuration is done by setting various properties using the object indexer to any of the documented values. :
  • Create a CIContext object to track the processing pipeline. This is the object through which CoreImage draws and it can be CPU or GPU bound.

    :

  • Render the filter output into a target image using one of the CIContext methods. :
// This sample turns the image into a sepia image

// Load the image using UIImage, it is convenient
var uiimage = UIImage.FromFile ("sample.jpg");

// Create the CIImage, using the UIImage's CGImage as a reference
var image = new CIImage (uiimage.CGImage);

// Create the filter
var sepia = new CISepiaTone () {
	Image = image,
	Intensity = .8f
};

// Generate the recipe.   It is important to note that at this point
// the resulting CIImage merely contains the recipe on how to create
// the image, this is important, because you can use this result as
// the input to another filter to chain filters together and only
// at the last minute, when the CIContext rendering APIs are used,
// does the actual pipeline execute.   This allows for a series of
// operations to all be performed in one step without intermediate
// buffer copies.
CIImage output = sepia.OutputImage;

// To render the results, we need to create a context, and then
// use one of the context rendering APIs, in this case, we render the
// result into a CoreGraphics image, which is merely a useful representation
//
var context = CIContext.FromOptions (null);

var cgimage = context.CreateCGImage (output, output.Extent);

// The above cgimage can be added to a screen view, for example, this
// would add it to a UIImageView on the screen:
myImageView.Image = UIImage.FromImage (cgimage);

Face detection is done with the CIDetector class by calling the CreateFaceDetector method which returns an array of CIFeature objects with any detected face features found.

Auto-adjustments are implemented by calling the GetAutoAdjustmentFilters() method. This method returns a list of suggested CIFilter which you in turn would apply to your image and render to a context.

To chain filters, all you have to do is connect the OutputImage property from a filter to the Image property of another filter. This is a modified version of the previous example showing how to chain two filters together:

var uiimage = UIImage.FromFile ("sample.jpg");
var image = new CIImage (uiimage.CGImage);

var sepia = new CISepiaTone () {
	Image = image,
	Intensity = .8f
};

// Chain the Sepia filter to a Color inversion filter, this is done
// by assigning the CIColorInvert.Input to the sepia.OutputImage
var invert = new CIColorInvert () {
	Image = sepia.OutputImage
};

CIImage output = invert.OutputImage;
var context = CIContext.FromOptions (null);
var cgimage = context.CreateCGImage (output, output.Extent);

myImageView.Image = UIImage.FromImage (cgimage);