对图片执行人脸特征点检测。
此 API 需要预训练的人脸特征点模型资源包。请参阅
- 输入图片
MPImage
- 运行人脸特征点检测的图片。
- 输出
FaceLandmarkerResult
- 包含人脸特征点的 FaceSitelinkerResult。
嵌套类
类别 | FaceLandmarker.FaceLandmarkerOptions | 用于设置 FaceLandmarker 的选项。 |
字段
public static final Set<Connection> | FACE_LANDMARKS_CONNECTORS | |
public static final Set<Connection> | FACE_LANDMARKS_FACE_OVAL | |
public static final Set<Connection> | FACE_LANDMARKS_LEFT_EYE | |
public static final Set<Connection> | FACE_LANDMARKS_LEFT_EYE_BROW | |
public static final Set<Connection> | FACE_LANDMARKS_LEFT_IRIS | |
public static final Set<Connection> | FACE_LANDMARKS_LIPS | |
public static final Set<Connection> | FACE_LANDMARKS_RIGHT_EYE | |
public static final Set<Connection> | FACE_LANDMARKS_RIGHT_EYE_BROW | |
public static final Set<Connection> | FACE_LANDMARKS_RIGHT_IRIS | |
public static final Set<Connection> | FACE_LANDMARKS_TESSELATION |
公共方法
静态 FaceLandmarker |
createFromBuffer(Context context, ByteBuffer modelAssetBuffer)
根据模型资源包缓冲区和默认的
FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。 |
静态 FaceLandmarker |
createFromFile(Context context, String modelAssetPath)
根据模型资源包路径和默认的
FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。 |
静态 FaceLandmarker |
createFromFile(Context context, File modelAssetFile)
根据模型资源包文件和默认的
FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。 |
静态 FaceLandmarker |
createFromOptions(Context context, FaceLandmarker.FaceLandmarkerOptionslandingerOptions)
|
FaceLandmarkerResult | |
FaceLandmarkerResult | |
void |
detectAsync(MPImage 图片、ImageProcessingOptions imageProcessingOptions、long timestampMs)
发送实时图像数据以执行人脸特征点检测,结果将通过
FaceLandmarker.FaceLandmarkerOptions 中提供的 OutputHandler.ResultListener 获取。 |
void | |
FaceLandmarkerResult |
detectForVideo(MPImage 图片、ImageProcessingOptions imageProcessingOptions、long timestampMs)
对提供的视频帧执行人脸特征点检测。
|
FaceLandmarkerResult |
继承的方法
字段
公共方法
public static FaceLandmarker createFromBuffer (Context context、ByteBuffer modelAssetBuffer)
根据模型资源包缓冲区和默认的 FaceLandmarker.FaceLandmarkerOptions
创建 FaceLandmarker
实例。
参数
context | 一个 Android ERROR(/Context) 。 |
---|---|
modelAssetBuffer |
抛出
如果 FaceLandmarker 创建过程中出错,则会发生该错误。 |
public static FaceLandmarker createFromFile (Context context, String modelAssetPath)
根据模型资源包路径和默认的 FaceLandmarker.FaceLandmarkerOptions
创建 FaceLandmarker
实例。
参数
context | 一个 Android ERROR(/Context) 。 |
---|---|
modelAssetPath | 包含资源中元数据的人脸特征点模型的路径。 |
抛出
如果 FaceLandmarker 创建过程中出错,则会发生该错误。 |
public static FaceLandmarker createFromFile (Context context, File modelAssetFile)
根据模型资源包文件和默认的 FaceLandmarker.FaceLandmarkerOptions
创建 FaceLandmarker
实例。
参数
context | 一个 Android ERROR(/Context) 。 |
---|---|
modelAssetFile | 人脸特征点模型 File 实例。 |
抛出
IOException | 如果在打开 tflite 模型文件时发生 I/O 错误,则会发生该错误。 |
---|---|
如果 FaceLandmarker 创建过程中出错,则会发生该错误。 |
public static FaceLandmarker createFromOptions (Context context, FaceLandmarker.FaceLandmarkerOptions markerOptions)
参数
context | 一个 Android ERROR(/Context) 。 |
---|---|
landmarkerOptions | 一个 FaceLandmarker.FaceLandmarkerOptions 实例。 |
抛出
如果 FaceLandmarker 创建过程中出错,则会发生该错误。 |
public FaceLandmarkerResult detect (MPImage 图片)
使用默认图片处理选项(即不应用任何旋转)对提供的单张图片执行人脸特征点检测。仅当使用 ERROR(/RunningMode.IMAGE)
创建 FaceLandmarker
时,才使用此方法。输入图片格式的 TODO 更新 Java 文档。
FaceLandmarker
支持以下颜色空间类型:
参数
图片 | 用于处理的 MediaPipe MPImage 对象。 |
---|
抛出
出现内部错误。 |
public FaceLandmarkerResult detect (MPImage image, ImageProcessingOptions imageProcessingOptions)
对提供的单张图片执行人脸特征点检测。仅当使用 ERROR(/RunningMode.IMAGE)
创建 FaceLandmarker
时,才使用此方法。输入图片格式的 TODO 更新 Java 文档。
FaceLandmarker
支持以下颜色空间类型:
参数
图片 | 用于处理的 MediaPipe MPImage 对象。 |
---|---|
imageProcessingOptions | ImageProcessingOptions ,用于指定在运行推断之前如何处理输入图片。请注意,此任务不支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。 |
抛出
IllegalArgumentException | 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。 |
---|---|
出现内部错误。 |
public void detectAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)
发送实时图像数据以执行人脸特征点检测,结果将通过 FaceLandmarker.FaceLandmarkerOptions
中提供的 OutputHandler.ResultListener
获取。只有在使用 ERROR(/RunningMode.LIVE_STREAM)
创建 FaceLandmarker
时,才应使用此方法。
必须提供时间戳(以毫秒为单位),以指明输入图片何时发送到人脸特征点。输入时间戳必须单调递增。
FaceLandmarker
支持以下颜色空间类型:
参数
图片 | 用于处理的 MediaPipe MPImage 对象。 |
---|---|
imageProcessingOptions | ImageProcessingOptions ,用于指定在运行推断之前如何处理输入图片。请注意,此任务不支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。 |
timestampMs | 输入时间戳(以毫秒为单位)。 |
抛出
IllegalArgumentException | 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。 |
---|---|
出现内部错误。 |
public void detectAsync (MPImage image, long timestampMs)
发送实时图片数据,以使用默认图片处理选项(即不应用任何旋转)执行人脸特征点检测,结果将通过 FaceLandmarker.FaceLandmarkerOptions
中提供的 OutputHandler.ResultListener
获取。仅当使用 ERROR(/RunningMode.LIVE_STREAM)
创建 FaceLandmarker
时,才使用此方法。
必须提供时间戳(以毫秒为单位),以指明输入图片何时发送到人脸特征点。输入时间戳必须单调递增。
FaceLandmarker
支持以下颜色空间类型:
参数
图片 | 用于处理的 MediaPipe MPImage 对象。 |
---|---|
timestampMs | 输入时间戳(以毫秒为单位)。 |
抛出
出现内部错误。 |
public FaceLandmarkerResult detectForVideo (MPImage image、ImageProcessingOptions imageProcessingOptions, long timestampMs)
对提供的视频帧执行人脸特征点检测。仅当使用 ERROR(/RunningMode.VIDEO)
创建 FaceLandmarker
时,才使用此方法。
必须提供视频帧的时间戳(以毫秒为单位)。输入时间戳必须单调递增。
FaceLandmarker
支持以下颜色空间类型:
参数
图片 | 用于处理的 MediaPipe MPImage 对象。 |
---|---|
imageProcessingOptions | ImageProcessingOptions ,用于指定在运行推断之前如何处理输入图片。请注意,此任务不支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。 |
timestampMs | 输入时间戳(以毫秒为单位)。 |
抛出
IllegalArgumentException | 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。 |
---|---|
出现内部错误。 |
public FaceLandmarkerResult detectForVideo (MPImage image, long timestampMs)
使用默认图片处理选项(即不应用任何旋转)对提供的视频帧执行人脸特征点检测。仅当使用 ERROR(/RunningMode.VIDEO)
创建 FaceLandmarker
时,才使用此方法。
必须提供视频帧的时间戳(以毫秒为单位)。输入时间戳必须单调递增。
FaceLandmarker
支持以下颜色空间类型:
参数
图片 | 用于处理的 MediaPipe MPImage 对象。 |
---|---|
timestampMs | 输入时间戳(以毫秒为单位)。 |
抛出
出现内部错误。 |