bef_effect_ai_c2.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //
  2. //
  3. #ifndef ANDROIDDEMO_BEF_EFFECT_AI_C2_H
  4. #define ANDROIDDEMO_BEF_EFFECT_AI_C2_H
  5. #if defined(__ANDROID__) || defined(TARGET_OS_ANDROID)
  6. #include <jni.h>
  7. #endif
  8. #include "bef_effect_ai_public_define.h"
  9. typedef unsigned long long bef_ai_c2_handle;
  10. #define C3_NUM_CLASS 208
  11. typedef struct {
  12. int id; // id
  13. float confidence; // 置信度
  14. bool satisfied; // 是否检测到
  15. float thresh;
  16. } bef_ai_c2_category_item;
  17. /**
  18. * @brief 模型参数类型
  19. *
  20. */
  21. typedef enum {
  22. BEF_AI_C2_USE_EDGE_MODE, //默认值为1,表示视频模式, 0:图像模式
  23. } bef_ai_c2_param_type;
  24. /**
  25. * @brief 模型枚举,有些模块可能有多个模型
  26. *
  27. */
  28. typedef enum {
  29. BEF_AI_kC2Model1 = 1,
  30. } bef_ai_c2_model_type;
  31. /**
  32. * @brief 封装预测接口的返回值
  33. */
  34. typedef struct {
  35. bef_ai_c2_category_item items[C3_NUM_CLASS]; // 类别信息
  36. int n_classes; // 数量
  37. } bef_ai_c2_ret;
  38. BEF_SDK_API
  39. bef_effect_result_t bef_effect_ai_c2_create(bef_ai_c2_handle *handle);
  40. BEF_SDK_API
  41. bef_effect_result_t bef_effect_ai_c2_check_license(bef_ai_c2_handle handle, const char *licensePath);
  42. BEF_SDK_API
  43. bef_effect_result_t bef_effect_ai_c2_check_online_license(bef_ai_c2_handle handle, const char* licensePath);
  44. BEF_SDK_API
  45. bef_effect_result_t bef_effect_ai_c2_detect(bef_ai_c2_handle handle,
  46. const unsigned char *image,
  47. bef_ai_pixel_format pixelFormat,
  48. int imageWidth,
  49. int imageHeight,
  50. int imageStride,
  51. bef_ai_rotate_type rotation,
  52. bef_ai_c2_ret *result);
  53. BEF_SDK_API
  54. bef_effect_result_t bef_effect_ai_c2_set_model(bef_ai_c2_handle handle, bef_ai_c2_model_type type, const char *modelPath);
  55. BEF_SDK_API
  56. bef_effect_result_t bef_effect_ai_c2_set_paramF(bef_ai_c2_handle handle, bef_ai_c2_param_type type, float value);
  57. BEF_SDK_API
  58. bef_effect_result_t bef_effect_ai_c2_set_paramS(bef_ai_c2_handle handle, bef_ai_c2_param_type type, char *value);
  59. BEF_SDK_API
  60. bef_effect_result_t bef_effect_ai_c2_release(bef_ai_c2_handle handle);
  61. #endif //ANDROIDDEMO_BEF_EFFECT_AI_C2_H