对图片执行人脸风格化。
请注意,除了标准样式化 API stylize(MPImage) 和 ERROR(/#stylizeForVideo)(可获取输入图片并返回输出,但涉及返回值的深层副本)之外,FaceStylizer 还支持回调 API stylizeWithResultListener(MPImage) 和 ERROR(/#stylizeForVideoWithResultListener),它们允许您在结果监听器的持续时间内通过零副本访问输出。
回调 API 适用于 FaceStylizer 中的所有 RunningMode。在 FaceStylizer.FaceStylizerOptions 中正确设置 OutputHandler.ResultListener 以使用回调 API。
API 需要具有 TFLite 模型元数据的 TFLite 模型。
嵌套类
| 类别 | FaceStylizer.FaceStylizerOptions | 用于设置 FaceStylizer 的选项。 |
|
公共方法
| 静态 FaceStylizer |
createFromOptions(Context context, FaceStylizer.FaceStylizerOptions stylizerOptions)
基于
FaceStylizer.FaceStylizerOptions 创建 FaceStylizer 实例。 |
| FaceStylizerResult | |
| FaceStylizerResult | |
| void | |
| void |
stylizeWithResultListener(MPImage 图片、ImageProcessingOptions imageProcessingOptions)
对提供的单张图片执行人脸风格化,并通过
FaceStylizer.FaceStylizerOptions 中的 OutputHandler.ResultListener 提供零复制的结果。 |
继承的方法
公共方法
public static FaceStylizer createFromOptions (Context context, FaceStylizer.FaceStylizerOptions stylizerOptions)
基于 FaceStylizer.FaceStylizerOptions 创建 FaceStylizer 实例。
参数
| 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。
|