CIDetector Class Reference
Overview
A CIDetector
object uses image processing to look for features (i.e., faces) in a picture. You might also want to use the CIFaceFeature
class, which can find eye and mouth positions in faces that are detected with CIDetector
.
This class can maintain many state variables that can impact performance. So for best performance, reuse CIDetector
instances instead of creating new ones.
Class Methods
detectorOfType:context:options:
Creates and returns a configured detector.
Parameters
-
type
-
A string indicating the kind of detector you are interested in. See
“Detector Types”
.
context
-
A Core Image context that the detector can use when analyzing an image.
options
-
A dictionary containing details on how you want the detector to be configured. See
“Detector Configuration Keys”
.
Return Value
A configured detector.
Discussion
A CIDetector
object can potentially create and hold a significant amount of resources. Where possible, reuse the same CIDetector
instance. Also, when processing CIImages
with a detector object, your application performs better if the CIContext
used to initialize the detector is the same context used to process the CIImage
objects it will process.
Availability
- Available in iOS 5.0 and later.
Declared In
CIDetector.h
Instance Methods
featuresInImage:
Searches for features in an image.
Parameters
-
image
-
The image you want to examine.
Return Value
An array of CIFeature
objects. Each object represents a feature detected in the image.
Availability
- Available in iOS 5.0 and later.
Declared In
CIDetector.h
featuresInImage:options:
Searches for features in an image based on the specified image orientation.
Parameters
-
image
-
The image you want to examine.
options
-
A dictionary that specifies face detection options. See
“Feature Detection Keys”
for allowed keys and their possible values.
Return Value
An array of CIFeature
objects. Each object represents a feature detected in the image.
Discussion
The options dictionary should contain a value for the key CIDetectorImageOrientation
, and may contain other values specifying optional face-recognition features.
Availability
- Available in iOS 5.0 and later.
Declared In
CIDetector.h
Constants
Detector Types
Strings used to declare the detector for which you are interested.
NSString* const CIDetectorTypeFace
Constants
-
A detector that searches for faces in a photograph.
Available in iOS 5.0 and later.
Declared in
CIDetector.h
.
CIDetectorTypeFace
Detector Configuration Keys
Keys used in the options dictionary to configure a detector.
NSString* const CIDetectorAccuracy;
Constants
-
A key used to specify the desired accuracy for the detector.
The value associated with the key should be one of the values found in
“Detector Accuracy Options”
.Available in iOS 5.0 and later.
Declared in
CIDetector.h
. -
A key used to enable or disable face tracking for the detector. Use this option when you want to track faces across frames in a video.
Available in iOS 6.0 and later.
Declared in
CIDetector.h
. -
A key used to specify the minimum size that the detector will recognize as a feature.
The value for this key is an
NSNumber
object ranging from 0.0 through 1.0 that represents a fraction of the minor dimension of the image.Available in iOS 6.0 and later.
Declared in
CIDetector.h
.
CIDetectorAccuracy
CIDetectorTracking
CIDetectorMinFeatureSize
Detector Accuracy Options
Value options used to specify the desired accuracy of the detector.
NSString* const CIDetectorAccuracyLow; NSString* const CIDetectorAccuracyHigh;
Constants
-
Indicates that the detector should choose techniques that are lower in accuracy, but can be processed more quickly.
Available in iOS 5.0 and later.
Declared in
CIDetector.h
. -
Indicates that the detector should choose techniques that are higher in accuracy, even if it requires more processing time.
Available in iOS 5.0 and later.
Declared in
CIDetector.h
.
CIDetectorAccuracyLow
CIDetectorAccuracyHigh
Feature Detection Keys
Keys used in the options dictionary for featuresInImage:options:
.
NSString* const CIDetectorImageOrientation; NSString* const CIDetectorEyeBlink; NSString* const CIDetectorSmile;
Constants
-
An option for the display orientation of the image whose features you want to detect.
The value of this key is an
NSNumber
object whose value is an integer between1
and8
. The TIFF and EXIF specifications define these values to indicate where the pixel coordinate origin (0,0) of the image should appear when it is displayed. The default value is1
, indicating that the origin is in the top left corner of the image. For further details, seekCGImagePropertyOrientation
.Core Image only detects faces whose orientation matches that of the image. You should provide a value for this key if you want to detect faces in a different orientation.
Available in iOS 5.0 and later.
Declared in
CIDetector.h
. -
An option for whether Core Image will perform additional processing to recognize closed eyes in detected faces.
Available in iOS 7.0 and later.
Declared in
CIDetector.h
. -
An option for whether Core Image will perform additional processing to recognize smiles in detected faces.
Available in iOS 7.0 and later.
Declared in
CIDetector.h
.
CIDetectorImageOrientation
CIDetectorEyeBlink
CIDetectorSmile