MediaPipeTasksVision Framework Reference

MPPImage


@interface MPPImage : NSObject

An image used in on-device machine learning using MediaPipe Task library.

  • Width of the image in pixels.

    Declaration

    Objective-C

    @property (nonatomic, readonly) CGFloat width;
  • Height of the image in pixels.

    Declaration

    Objective-C

    @property (nonatomic, readonly) CGFloat height;
  • The display orientation of the image. If imageSourceType is .image, the default value is image.imageOrientation; otherwise the default value is UIImage.Orientation.up. If the MPImage is being used as input for any MediaPipe vision tasks and is set to any orientation other than UIImage.Orientation.up, inference will be performed on a rotated copy of the image according to the orientation.

    Declaration

    Objective-C

    @property (nonatomic, readonly) UIImageOrientation orientation;
  • The type of the image source.

    Declaration

    Objective-C

    @property (nonatomic, readonly) MPPImageSourceType imageSourceType;
  • The source image. nil if imageSourceType is not .image.

    Declaration

    Objective-C

    @property (nonatomic, readonly, nullable) UIImage *image;
  • The source pixel buffer. nil if imageSourceType is not .pixelBuffer.

    Declaration

    Objective-C

    @property (nonatomic, readonly, nullable) CVPixelBufferRef pixelBuffer;
  • The source sample buffer. nil if imageSourceType is not .sampleBuffer.

    Declaration

    Objective-C

    @property (nonatomic, readonly, nullable) CMSampleBufferRef sampleBuffer;
  • Initializes an MPImage object with the given UIImage.

    The orientation of the newly created MPImage will be equal to the imageOrientation of UIImage and when sent to the vision tasks for inference, rotation will be applied accordingly. To create an MPImage with an orientation different from its imageOrientation, please use MPImage(uiImage:orientation:)s.

    Declaration

    Objective-C

    - (nullable instancetype)initWithUIImage:(nonnull UIImage *)image
                                       error:(NSError *_Nullable *_Nullable)error;

    Parameters

    image

    The image to use as the source. Its CGImage property must not be NULL.

    error

    An optional error parameter populated when there is an error in initializing the MPImage.

    Return Value

    A new MPImage instance with the given image as the source. nil if the given image is nil or invalid.

  • Initializes an MPImage object with the given UIImage and orientation.

    The given orientation will be used to calculate the rotation to be applied to the UIImage before inference is performed on it by the vision tasks. The imageOrientation stored in the UIImage is ignored when MPImage objects created by this method are sent to the vision tasks for inference. Use MPImage(uiImage:) to initialize images with the imageOrientation of UIImage.

    If the newly created MPImage is used as input for any MediaPipe vision tasks, inference will be performed on a copy of the image rotated according to the orientation.

    Declaration

    Objective-C

    - (nullable instancetype)initWithUIImage:(nonnull UIImage *)image
                                 orientation:(UIImageOrientation)orientation
                                       error:(NSError *_Nullable *_Nullable)error;

    Parameters

    image

    The image to use as the source. Its CGImage property must not be NULL.

    orientation

    The display orientation of the image. This will be stored in the property orientation MPImage and will override the imageOrientation of the passed in UIImage.

    error

    An optional error parameter populated when there is an error in initializing the MPImage.

    Return Value

    A new MPImage instance with the given image as the source. nil if the given image is nil or invalid.

  • Initializes an MPImage object with the given pixel buffer.

    The orientation of the newly created MPImage will be UIImageOrientationUp. Hence, if this image is used as input for any MediaPipe vision tasks, inference will be performed on the it without any rotation. To create an MPImage with a different orientation, please use MPImage(pixelBuffer:orientation:).

    Declaration

    Objective-C

    - (nullable instancetype)
        initWithPixelBuffer:(nonnull CVPixelBufferRef)pixelBuffer
                      error:(NSError *_Nullable *_Nullable)error;

    Parameters

    pixelBuffer

    The pixel buffer to use as the source. It will be retained by the new MPImage instance for the duration of its lifecycle.

    error

    An optional error parameter populated when there is an error in initializing the MPImage.

    Return Value

    A new MPImage instance with the given pixel buffer as the source. nil if the given pixel buffer is nil or invalid.

  • Initializes an MPImage object with the given pixel buffer and orientation.

    If the newly created MPImage is used as input for any MediaPipe vision tasks, inference will be performed on a copy of the image rotated according to the orientation.

    Declaration

    Objective-C

    - (nullable instancetype)
        initWithPixelBuffer:(nonnull CVPixelBufferRef)pixelBuffer
                orientation:(UIImageOrientation)orientation
                      error:(NSError *_Nullable *_Nullable)error;

    Parameters

    pixelBuffer

    The pixel buffer to use as the source. It will be retained by the new MPImage instance for the duration of its lifecycle.

    orientation

    The display orientation of the image.

    error

    An optional error parameter populated when there is an error in initializing the MPImage.

    Return Value

    A new MPImage instance with the given orientation and pixel buffer as the source. nil if the given pixel buffer is nil or invalid.