You need to enable JavaScript to run this app.
导航
拍摄智感高清
最近更新时间:2025.03.17 14:05:39首次发布时间:2025.03.17 14:05:39
我的收藏
有用
有用
无用
无用
简介

拍摄智感高清算法在检测场景类别的基础上,对图像进行画质增强。
注意:iOS11以下机器,不支持除插帧外的画质模块算法。
IOS端模型依赖:vhdr.bundle

技术规格
支持平台Android、iOS
支持输入格式RGBA8888、BGRA8888
内存占用<41M (测试设备OPPO R11)
检测速度<25ms(测试设备OPPO R11)
C接口说明

详细接口说明查看头文件:bef_ai_image_quality_enhancement_onekey_enhance.h

1.创建智感高清算法句柄

BEF_SDK_API bef_effect_result_t
bef_ai_image_quality_enhancement_onekey_enchance_create(bef_image_quality_enhancement_handle* handle, const bef_ai_onekey_enhancement_config* config);

// 版本V4.4.3新增算法参数结构体,版本4.4.3之前均无此结构体
typedef struct bef_ai_onekey_enhancement_algParamStream {
    int luminance_target_int0;
    int luminance_target_int1;
    float contrast_factor_float;
    float saturation_factor_float;
    float amount_float;
    float ratio_float;
    float noise_factor_float;
    float current_pixel_weight_float;
    int hdr_version_int;
    float luma_trigger_float;
    float over_trigger_float;
    float under_trigger_float;
    int asf_scene_mode_int;
}bef_ai_onekey_enhancement_algParamStream;


typedef struct bef_ai_onekey_enhancement_config {
    int width;  // 输入宽
    int height; // 输入高
    const char* kernelBinPath; // 可读写的路径
    bool disableHdr; //打开HDR
    bool oneKeyRecordHdrV2; //选择hdr v1,v2算法
    bool asnycProcess; //算法异步执行开关
    bool disableNightScene; //算法白天隔离夜晚
    bool disableDayScene; //算法夜晚隔离白天
    bool disableAsf; //打开锐化
    bef_ai_lens_power_level level; //iOS端无需设置
    bef_one_key_scene_strategy_mode sceneMode; // 目前 sceneMode 只支持 BEF_SCENE_MODE_MOBILE_RECORDE
    bef_ai_onekey_enhancement_algParamStream algParamStream;
}bef_ai_onekey_enhancement_config;

参数说明

参数名参数类型参数说明
handlebef_image_quality_enhancement_handle*创建的智感高清算法句柄
configbef_ai_onekey_enhancement_config*算法初始化时的配置参数

返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h

2.智感高清算法执行

BEF_SDK_API bef_effect_result_t
bef_ai_image_quality_enhancement_onekey_enchance_process(bef_image_quality_enhancement_handle handle,
                                                         const bef_ai_onekey_process_config* config,
                                                         const bef_ai_lens_data* input,
                                                         bef_ai_lens_data *output);

typedef struct bef_ai_onekey_process_config {
    bef_ai_onekey_detect_config detectConfig;
    int width;
    int height;
    bool isFirstFrame;
    int initDecayFrames; //动态场景切换用淡入淡出效果来过度(默认值30)
    bool isProtectFace;
    int faceNum;
    bef_ai_rect* faceList;
    bef_ai_onekey_enhancement_algParamStream algParamStream; // 版本V4.4.3新增算法参数结构体,版本4.4.3之前均无此结构体
}bef_ai_onekey_process_config;

typedef union bef_ai_lens_data{
    int texture[2]; // 如果是纹理,这里纹理的index, ios 的纹理目前只支持metal的纹理, android 需要oes 纹理,且纹理放在0 位置
    void* buffer;   // 如果是数据输入,iOS 传入pixelBuffer的指针
}bef_ai_lens_data;

参数说明

参数名参数类型参数说明
handlebef_image_quality_enhancement_handle智感高清算法句柄
configconst bef_ai_onekey_process_config*算法初始化时的配置参数
inputbef_ai_lens_data*智感高清算法输入
outputbef_ai_lens_data*智感高清算法输出

返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h

3.释放句柄

BEF_SDK_API bef_effect_result_t
bef_ai_image_quality_enhancement_onekey_enchance_destroy(bef_image_quality_enhancement_handle handle);

参数说明

参数名参数类型参数说明
handlebef_image_quality_enhancement_handle智感高清算法的句柄

返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h

4.智感高清算法授权

// 离线license检测方式
BEF_SDK_API bef_effect_result_t
bef_ai_image_quality_enhancement_onekey_enchance_check_license(
    bef_image_quality_enhancement_handle handle, 
    const char* license_path);

// 在线license检测方式
BEF_SDK_API bef_effect_result_t
bef_ai_image_quality_enhancement_onekey_enchance_check_online_license(
    bef_image_quality_enhancement_handle handle, 
    const char* license_path);

参数说明

参数名参数类型参数说明
handlebef_image_quality_enhancement_handle智感高清算法句柄
licensePathconst char *授权文件字符串

返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h

Java 接口说明

接口说明
详细接口说明查看文件:com.bytedance.labcv.effectsdk.OneKeyEnhance.java

1.初始化智感高清句柄

public int create(
    String licensePath, 
    boolean onlineLicense, 
    AlgParamStream algParamStream, // 版本V4.4.3新增算法参数结构体,版本4.4.3之前均无此结构体
    InitConfig config)

参数说明

参数名参数类型参数说明
licensePathString授权文件绝对路径
onlineLicenseboolean授权类型
algParamStreamAlgParamStream算法额外参数
configInitConfig初始化配置参数

注意
初始化的时候config参数中的mode只支持 SCENE_MODE_MOBILE_RECORDE, 不然会报错。
返回值
成功返回BEF_RESULT_SUC,否则返回对应的错误码
备注
关于AlgParamStream和InitConfig可参考com.bytedance.labcv.effectsdk.OneKeyEnhance.java,并且其定义与C接口bef_ai_image_quality_enhancement_public_define保持一致。

2.智感高清算法处理

public int process(
    int textureId, 
    AlgParamStream algParamStream, // 版本V4.4.3新增算法参数结构体,版本4.4.3之前均无此结构体
    ProcessConfig processConfig)

参数说明

参数名参数类型参数说明
textureIdint输入纹理号
algParamStreamAlgParamStream算法额外参数
processConfigProcessConfig质感高清处理配置参数

备注
关于版本4.4.3开始新增的算法额外参数AlgParamStream所有版本均有的算法配置参数ProcessConfig可参考com.bytedance.labcv.effectsdk.OneKeyEnhance.java(版本4.4.3后为com.effectsar.labcv.effectsdk.OneKeyEnhance.java),并且其定义与C接口bef_ai_image_quality_enhancement_public_define保持一致。

3.释放智感高清句柄

public void release()
FAQ

1.如果出现任何异常,请查看是否有以下类型日志

答:建议首先查看以下tag输出Error类型的日志:
bef_effect_ai 和SMASH_E_LOG 以及 EffectSDK

错误码

错误码请参考错误码表