bef_effect_ai_car_detect.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef ANDROIDDEMO_BEF_EFFECT_AI_CAR_DETECT_H
  2. #define ANDROIDDEMO_BEF_EFFECT_AI_CAR_DETECT_H
  3. #include "bef_effect_ai_public_define.h"
  4. #define BEF_AI_MAX_CAR_NUM 16
  5. #define BEF_AI_MAX_BRAND_NUM 10
  6. #define BEF_AI_BRAND_LEN 10
  7. typedef unsigned long long bef_ai_car_handle;
  8. typedef enum {
  9. BEF_AI_CarDetct = 1,
  10. BEF_AI_BrandRec = 2,
  11. } bef_ai_car_param_type;
  12. typedef enum {
  13. BEF_AI_CarDetectModel = 1, // 车辆检测/方向
  14. BEF_AI_BrandDetectModel = 2, // 车牌检测/关键点
  15. BEF_AI_BrandOcrModel = 3, // 车牌 ocr
  16. BEF_AI_CarTrackModel = 4,
  17. } bef_ai_car_model_type;
  18. typedef struct {
  19. bef_ai_fpoint points_array[4]; //车牌关键点数组
  20. int brand_id; //车牌id
  21. int brand_vi[BEF_AI_BRAND_LEN]; //车牌ocr
  22. int brand_vi_len;
  23. } bef_ai_car_brand_info;
  24. typedef struct {
  25. int x0;
  26. int y0;
  27. int x1;
  28. int y1;
  29. int orient; // 方向
  30. } bef_ai_car_bounding_box;
  31. typedef struct {
  32. int car_count; // 检到的车辆数
  33. int brand_count; //检测到的车牌数量
  34. bef_ai_car_bounding_box car_boxes[BEF_AI_MAX_CAR_NUM]; // 车辆 bbox 数组
  35. bef_ai_car_brand_info base_infos[BEF_AI_MAX_BRAND_NUM]; //检测到的车牌信息,包括关键点、id
  36. double gray_score;
  37. double blur_score;
  38. } bef_ai_car_ret;
  39. BEF_SDK_API
  40. bef_effect_result_t
  41. bef_effect_ai_car_detect_create_handle(bef_ai_car_handle* handle);
  42. BEF_SDK_API
  43. bef_effect_result_t
  44. bef_effect_ai_car_detect_init_model(bef_ai_car_handle handle,
  45. bef_ai_car_model_type modelType,
  46. const char* modelPath);
  47. BEF_SDK_API
  48. bef_effect_result_t
  49. bef_effect_ai_car_detect_set_paramf(bef_ai_car_handle handle,
  50. bef_ai_car_param_type type,
  51. float value);
  52. BEF_SDK_API
  53. bef_effect_result_t
  54. bef_effect_ai_car_detect_detect(bef_ai_car_handle handle,
  55. const unsigned char* image,
  56. bef_ai_pixel_format pixel_format,
  57. int image_width,
  58. int image_height,
  59. int image_stride,
  60. bef_ai_rotate_type orientation,
  61. bef_ai_car_ret* car_info);
  62. BEF_SDK_API
  63. bef_effect_result_t bef_effect_ai_car_detect_destroy(bef_ai_car_handle handle);
  64. BEF_SDK_API
  65. bef_effect_result_t bef_effect_ai_car_detect_check_license(bef_ai_car_handle handle, const char* licensePath);
  66. BEF_SDK_API
  67. bef_effect_result_t bef_effect_ai_car_detect_check_online_license(bef_ai_car_handle handle, const char* licensePath);
  68. #endif //ANDROIDDEMO_BEF_EFFECT_AI_CAR_DETECT_H