输入图像,算法输出代表图像中物体显著性的Mask。Mask值为0~255,值越高代表显著性越高
本算法为V4.5.2版本新增算法
规格 | 说明 |
---|---|
支持平台 | Android、iOS |
支持图像格式 | BGRA888、RGBA8888、BRG888、RGB888 |
详细接口说明查看头文件:bef_effect_ai_saliency_matting.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_saliency_matting_create(bef_ai_saliency_matting_handle *handle);
函数说明:创建算法句柄
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_ai_saliency_matting_handle* | 输出的算法句柄 |
返回值说明:
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_saliency_matting_check_license(bef_ai_saliency_matting_handle handle, const char* licensePath);
函数说明:检查license是否合法
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_ai_saliency_matting_handle | 进行license校验的句柄 |
licensePath | const char* | license存储文件路径 |
返回值说明:
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
typedef enum{ BEF_SALIENCY_MATTING_SMALL_MODEL = 0, BEF_SALIENCY_MATTING_MEDIUM_MODEL = 1, BEF_SALIENCY_MATTING_LARGE_MODEL = 2, }bef_ai_saliency_matting_model_type; BEF_SDK_API bef_effect_result_t bef_effect_ai_saliency_matting_set_model(bef_ai_saliency_matting_handle handle, bef_ai_saliency_matting_model_type type, const char *modelPath);
函数说明:根据给定模型类型加载模型,会检查是否有
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_ai_saliency_matting_handle | 进行模型初始化的句柄 |
type | bef_ai_saliency_matting_model_type | 使用的模型类型 |
modelPath | const char* | 模型文件路径 |
返回值说明:
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_saliency_matting_detect(bef_ai_saliency_matting_handle handle, const unsigned char *image, bef_ai_pixel_format pixelFormat, int width, int height, int stride, bef_ai_rotate_type rotation, bef_ai_saliency_matting_ret *result);
函数说明:进行算法处理
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_ai_saliency_matting_handle | 已初始化的句柄 |
image | unsigned char* | 输入图像二进制数据地址 |
pixelFormat | bef_ai_pixel_format | 图像格式 |
width | int | 输入图像宽度 |
height | int | 输入图像高度 |
stride | int | 图像数据中每行占用字节数 |
rotation | bef_ai_rotate_type | 图像旋转方向,通常认为头朝上为旋转角度为0 |
result | bef_ai_saliency_matting_ret* | 算法输出结果 |
result
中mask
成员指向一个大小为:width
* height
* sizeof(unsigned char)
的内存空间。如果bef_ai_saliency_matting_ret
结构中的mask
成员为NULL,则将为算法分配适当大小的内存空间并将结果写入其中。 使用方将负责释放这个空间。 如果结构中的mask
成员不为空,则假定使用方已经分配了适当的内存空间并直接将结果写入到mask
成员指向的内存空间中。
返回值说明:
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_saliency_matting_release(bef_ai_saliency_matting_handle handle);
函数说明:释放算法句柄
参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_ai_saliency_matting_handle | 要释放的算法句柄 |
返回值说明:
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
函数声明:
public int init()
返回值说明:
成功返回 0,失败返回相应错误码,具体请参考 bef_effect_ai_public_define.h
函数声明:
public int checkLicense(String licensePath)
函数参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
licensePath | String | 许可证文件的路径 |
返回值说明:
成功返回 0,失败返回相应错误码,具体请参考 bef_effect_ai_public_define.h
根据算法模型的类型,从路径加载模型
函数声明:
public int setModel(String modelPath, EffectsSDKEffectConstants.SaliencyMattingModelType modleType)
函数参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
modelPath | String | 模型文件的路径 |
modleType | SaliencyMattingModelType | 模型的类型,分为大、中、小三种 |
返回值说明:
成功返回 0,失败返回相应错误码,具体请参考 bef_effect_ai_public_define.h
根据图片数据执行算法
函数声明:
public MattingMask process(ByteBuffer imgdata, EffectsSDKEffectConstants.PixlFormat pixelformat, int width, int height, int stride, EffectsSDKEffectConstants.Rotation orientation)
函数参数说明:
参数名 | 参数类型 | 参数说明 |
---|---|---|
imgdata | ByteBuffer | 图片数据 |
pixelformat | PixlFormat | 像素格式 |
width | int | 图片宽度 |
height | int | 图片高度 |
stride | int | 图片数据中每行像素的数据大小 |
orientation | Rotation | 图片方向,通常认为地面在下,头朝上时Rotation为0 |
返回值说明:
成功返回 MattingMask,失败返回相应错误码,具体请参考 bef_effect_ai_public_define.h
释放算法资源
函数声明:
public int release()
返回值说明:
成功返回 0,失败返回相应错误码,具体请参考 bef_effect_ai_public_define.h
该类为 SaliencyMatting 类的内部类,用于存储算法结果的Mask。
属性名 | 类型 | 说明 |
---|---|---|
width | int | 宽度 |
height | int | 高度 |
buffer | byte[] | Mask二进制数据 |
答:建议首先查看以下tag输出Error类型的日志:
bef_effect_ai 和SMASH_E_LOG 以及 EffectSDK
错误码请参考错误码表