FaceStylizer

公共最终类 FaceStylizer

对图片执行人脸风格化。

请注意,除了标准样式化 API stylize(MPImage)ERROR(/#stylizeForVideo)(可获取输入图片并返回输出,但涉及返回值的深层副本)之外,FaceStylizer 还支持回调 API stylizeWithResultListener(MPImage)ERROR(/#stylizeForVideoWithResultListener),它们允许您在结果监听器的持续时间内通过零副本访问输出。

回调 API 适用于 FaceStylizer 中的所有 RunningMode。在 FaceStylizer.FaceStylizerOptions 中正确设置 OutputHandler.ResultListener 以使用回调 API。

API 需要具有 TFLite 模型元数据的 TFLite 模型。

  • 输入图片 MPImage
    • 运行人脸样式器的图片。
  • 输出 MPImage MPImage
    • 包含风格化人脸的 MPImage。

嵌套类

类别 FaceStylizer.FaceStylizerOptions 用于设置 FaceStylizer 的选项。 

公共方法

静态 FaceStylizer
createFromOptions(Context context, FaceStylizer.FaceStylizerOptions stylizerOptions)
FaceStylizerResult
stylizeMPImage 图片、ImageProcessingOptions imageProcessingOptions)
对提供的单张图片执行人脸风格化。
FaceStylizerResult
stylizeMPImage 图片)
使用默认的图片处理选项(即
void
stylizeWithResultListenerMPImage 图片)
使用默认的图片处理选项(即
void
stylizeWithResultListenerMPImage 图片、ImageProcessingOptions imageProcessingOptions)
对提供的单张图片执行人脸风格化,并通过 FaceStylizer.FaceStylizerOptions 中的 OutputHandler.ResultListener 提供零复制的结果。

继承的方法

公共方法

public static FaceStylizer createFromOptions (Context context, FaceStylizer.FaceStylizerOptions stylizerOptions)

参数
context 一个 Android ERROR(/Context)
stylizerOptions 一个 FaceStylizer.FaceStylizerOptions 实例。
抛出
如果 FaceStylizer 创建过程中出错,则会发生该错误。

public FaceStylizerResult stylize MPImage 图片、ImageProcessingOptions imageProcessingOptions)

对提供的单张图片执行人脸风格化。仅当使用 RunningMode.IMAGE 创建 FaceStylizer 时,才使用此方法。

FaceStylizer 支持以下颜色空间类型:

输入图片可以是任意尺寸。输出图片是人脸最明显的风格化图片。风格化的输出图像大小与模型输出大小相同。如果在输入图片上未检测到人脸,则返回 Optional.empty()

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。或者,如果使用 OutputHandler.ResultListener 创建了 FaceStylizer

public FaceStylizerResult stylize MPImage 图片)

使用默认的图片处理选项(即不应用任何旋转)对提供的单张图片执行人脸风格化。仅当使用 RunningMode.IMAGE 创建 FaceStylizer 时,才使用此方法。

FaceStylizer 支持以下颜色空间类型:

输入图片可以是任意尺寸。输出图片是人脸最明显的风格化图片。风格化的输出图像大小与模型输出大小相同。如果在输入图片上未检测到人脸,则返回 Optional.empty()

参数
图片 用于处理的 MediaPipe MPImage 对象。
抛出
出现内部错误。或者,如果使用 OutputHandler.ResultListener 创建了 FaceStylizer

public void stylizeWithResultListener MPImage 图片)

使用默认图片处理选项(即不应用任何旋转)对提供的单张图片执行人脸风格化,并通过 FaceStylizer.FaceStylizerOptions 中的 OutputHandler.ResultListener 提供零复制的结果。仅在使用 RunningMode.IMAGE 创建 FaceStylizer 时使用此方法。

FaceStylizer 支持以下颜色空间类型:

输入图片可以是任意尺寸。输出图片是人脸最明显的风格化图片。风格化的输出图像大小与模型输出大小相同。如果在输入图片上未检测到人脸,则返回 Optional.empty()

参数
图片 用于处理的 MediaPipe MPImage 对象。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。或者,如果未在 FaceStylizer.FaceStylizerOptions 中设置 OutputHandler.ResultListener 的情况下创建 FaceStylizer

public void stylizeWithResultListener MPImage 图片、ImageProcessingOptions imageProcessingOptions)

对提供的单张图片执行人脸风格化,并通过 FaceStylizer.FaceStylizerOptions 中的 OutputHandler.ResultListener 提供零复制的结果。仅当使用 RunningMode.IMAGE 创建 FaceStylizer 时,才使用此方法。

FaceStylizer 支持以下颜色空间类型:

输入图片可以是任意尺寸。输出图片是人脸最明显的风格化图片。风格化的输出图像大小与模型输出大小相同。如果在输入图片上未检测到人脸,则返回 Optional.empty()

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。或者,如果未在 FaceStylizer.FaceStylizerOptions 中设置 OutputHandler.ResultListener 的情况下创建 FaceStylizer