bef_effect_ai_c1.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef ANDROIDDEMO_BEF_EFFECT_AI_C1_H
  2. #define ANDROIDDEMO_BEF_EFFECT_AI_C1_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 BEF_AI_C1_NUM_CLASSES 22
  8. typedef unsigned long long bef_ai_c1_handle;
  9. /*
  10. * @brief 模型枚举
  11. **/
  12. typedef enum {
  13. BEF_AI_C1_MODEL_SMALL = 0x00000001,
  14. BEF_AI_C1_MODEL_LARGE = 0x00000002
  15. } bef_ai_c1_model_type;
  16. typedef enum {
  17. BEF_AI_C1_USE_VIDEO_MODE = 1, //默认值为1,表示视频模式, 0:图像模式
  18. BEF_AI_C1_USE_MultiLabels = 2, //默认为0, 表示不用多标签模式,1:多标签模式
  19. } bef_ai_c1_param_type;
  20. typedef struct {
  21. float prob; // 置信度
  22. bool satisfied; // 是否检测到
  23. } bef_ai_c1_category;
  24. typedef struct {
  25. bef_ai_c1_category items[BEF_AI_C1_NUM_CLASSES];
  26. } bef_ai_c1_output;
  27. BEF_SDK_API
  28. bef_effect_result_t bef_effect_ai_c1_create(bef_ai_c1_handle *handle, bef_ai_c1_model_type modelType, const char *modelPath);
  29. BEF_SDK_API
  30. bef_effect_result_t bef_effect_ai_c1_check_license(bef_ai_c1_handle handle, const char *licensePath);
  31. BEF_SDK_API
  32. bef_effect_result_t bef_effect_ai_c1_check_onine_license(bef_ai_c1_handle handle, const char *licensePath);
  33. BEF_SDK_API
  34. bef_effect_result_t bef_effect_ai_c1_detect(bef_ai_c1_handle handle,
  35. const unsigned char *image,
  36. bef_ai_pixel_format pixelFormat,
  37. int imageWidth,
  38. int imageHeight,
  39. int imageStride,
  40. bef_ai_rotate_type rotation,
  41. bef_ai_c1_output *result);
  42. BEF_SDK_API
  43. bef_effect_result_t bef_effect_ai_c1_set_param(bef_ai_c1_handle handle, bef_ai_c1_param_type type, float value);
  44. BEF_SDK_API
  45. bef_effect_result_t bef_effect_ai_c1_release(bef_ai_c1_handle handle);
  46. #endif //ANDROIDDEMO_BEF_EFFECT_AI_C1_H