Core Image Flashcards
CIDetector
The CIDetector class is used for processing images to detect faces, rectangles, barcodes, and text.
CIImage
CIImage is Core Image’s own data type, which contains all an image’s information
A CIImage is a lightweight object, in the sense that applying any filters to it doesn’t render any image. It just adds the filter to the recipe of instructions for how the final image will be generated.
CIContext
CIContext is a processing environment where image rendering and analysis actually take place. It’s a drawing destination where the filters are compiled in order to generate the output image.
A CIContext takes the CIImage with the applied filters and creates the output image.
CIFilter
CIFilter is a mutable object that’s responsible for creating the final CIImage based on the input image and the range of attributes specified.
Additionally, the CIFilter class provides methods for querying built-in filters by categories and returning a list of inputKeys and outputKeys available for the given filter.
CIKernel
At the heart of every Core Image filter is a kernel function that’s managed by the CIKernel class. The kernel function tells the filter how to transform each pixel of the input image.
Essentially, there are three different types of kernels: color kernels, warp kernels, and blend kernels. A custom color kernel requires either creating an instance of CIColorKernel and passing the kernel code, or leveraging the Metal Shader library.