bef_effect_ai_license_cake.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #ifndef ANDROIDDEMO_BEF_EFFECT_AI_license_cake_H
  2. #define ANDROIDDEMO_BEF_EFFECT_AI_license_cake_H
  3. #if defined(__ANDROID__) || defined(TARGET_OS_ANDROID)
  4. #include <jni.h>
  5. #endif
  6. #include "bef_effect_ai_public_define.h"
  7. #define LICENSECAKE_DEDETECTION_MAX_DETECTED_NUM 2
  8. /**
  9. * @brief 模型参数类型
  10. */
  11. typedef enum {
  12. ALGORITHM_PARAMS_KEY_LICENSEFACE_DEDETECTION_DETECT_INTERVAL = 0, // 定义执行检测算法帧率,例如每隔n帧执行一次检测算法
  13. ALGORITHM_PARAMS_KEY_LICENSEFACE_DEDETECTION_SIDE_MODEL_LEN = 1, // 定义执行检测算法的输入分辨率
  14. ALGORITHM_PARAMS_KEY_LICENSEFACE_DEDETECTION_DETECT_USE_REGRESSOR = 2, // 定义是否执行跟踪(回归)算法,暂未ready
  15. ALGORITHM_PARAMS_KEY_LICENSEFACE_DEDETECTION_DETECT_USE_TRACKER = 3, // 定义是否执行跟踪(卡尔曼滤波)算法,暂未ready
  16. } bef_ai_license_cake_param_type;
  17. /**
  18. * @brief 封装预测接口的返回值
  19. *
  20. * @note 不同的算法,可以在这里添加自己的自定义数据
  21. */
  22. typedef struct {
  23. int id; //返回当前检测目标的实例ID
  24. int label; //返回当前检测目标的类别
  25. float det_score;//返回当前检测目标的置信度
  26. bef_ai_rect rect; //返回当前检测目标的bbox位置
  27. } bef_ai_license_cake_info;
  28. /*
  29. * @brief 检测结果
  30. *@ */
  31. typedef struct {
  32. int Licensecake_count; /**< 检测到的Licensecake数目, p_Licensecakes数组中, 只有前Licensecake_count个结果是有效的, 后面的是无效 */
  33. bef_ai_license_cake_info p_Licensecakes[LICENSECAKE_DEDETECTION_MAX_DETECTED_NUM]; /**< 检测到的Licensecake信息 */
  34. } bef_ai_license_cake_ret;
  35. bef_effect_result_t LicenseCake_ReleaseHandle(bef_effect_handle_t handle);
  36. BEF_SDK_API
  37. bef_effect_result_t bef_effect_ai_license_cake_create(bef_effect_handle_t *handle);
  38. BEF_SDK_API
  39. bef_effect_result_t bef_effect_ai_license_cake_init(bef_effect_handle_t handle, const char *modelPath);
  40. BEF_SDK_API
  41. bef_effect_result_t bef_effect_ai_license_cake_detect(bef_effect_handle_t handle,
  42. const unsigned char *image,
  43. bef_ai_pixel_format pixel_format,
  44. int image_width,
  45. int image_height,
  46. int image_stride,
  47. bef_ai_rotate_type orientation,
  48. int *gesture_info_num,
  49. bef_ai_license_cake_info **gesture_info);
  50. BEF_SDK_API
  51. bef_effect_result_t bef_effect_ai_license_cake_set_paramS(bef_effect_handle_t handle, bef_ai_license_cake_param_type type, const char *value);
  52. BEF_SDK_API
  53. bef_effect_result_t bef_effect_ai_license_cake_set_paramF(bef_effect_handle_t handle, bef_ai_license_cake_param_type type, float value);
  54. BEF_SDK_API
  55. bef_effect_result_t bef_effect_ai_license_cake_set_paramI(bef_effect_handle_t handle, bef_ai_license_cake_param_type type, int value);
  56. BEF_SDK_API
  57. bef_effect_result_t bef_effect_ai_license_cake_release(bef_effect_handle_t handle);
  58. /**
  59. * @brief 动态手势授权
  60. * @param [in] handle Created dynamic gesture handle
  61. * 已创建的动态手势句柄
  62. * @param [in] license 授权文件字符串
  63. * @param [in] length 授权文件字符串长度
  64. * @return If succeed return BEF_RESULT_SUC, other value please refer bef_effect_ai_public_define.h
  65. * 成功返回 BEF_RESULT_SUC, 授权码非法返回 BEF_RESULT_INVALID_LICENSE ,其它失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
  66. */
  67. BEF_SDK_API
  68. bef_effect_result_t bef_effect_ai_license_cake_check_license(bef_effect_handle_t handle, const char *licensePath);
  69. BEF_SDK_API
  70. bef_effect_result_t bef_effect_ai_license_cake_check_online_license(bef_effect_handle_t handle, const char *licensePath);
  71. #endif //ANDROIDDEMO_BEF_EFFECT_AI_license_cake_H