data_def_api.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include <string>
  3. namespace graft_cv{
  4. typedef unsigned char byte;
  5. typedef struct
  6. {
  7. int channel;
  8. int width;
  9. int height;
  10. byte *data; // 长度:width * height * channel
  11. }ImgInfo;
  12. typedef struct{
  13. // 调试控制 (2)
  14. bool image_show;//true--显示处理过程中的中间图片,需要人工回车才能继续执行; false--无图片显示
  15. bool image_return;//true--返回结果positoninfo中添加返回的图片; false--无图片返回
  16. //image storage parameters(3)
  17. bool image_save;//是否保存图像
  18. std::string image_depository;//保存图像目录
  19. int image_backup_days;//保存图像天数,过期删除
  20. std::string model_path_grab;
  21. float object_threshold_grab;
  22. float nms_threshold_grab;
  23. int grid_row_grab;
  24. int grid_col_grab;
  25. int grid_padding_grab;
  26. int offset_grab; //抓取点相对参考点(标注的点5)的偏移像素数
  27. std::string model_path_cut;
  28. float object_threshold_cut;
  29. float nms_threshold_cut;
  30. int grid_row_cut;
  31. int grid_col_cut;
  32. int grid_padding_cut;
  33. } ConfigParam;
  34. typedef struct
  35. {
  36. //以下涉及到位置均为实际位置
  37. double tea_grab_x1; //第一株茶叶抓取位置x1,//以下为tcd
  38. double tea_grab_y1; //第一株茶叶抓取位置y1,
  39. double tea_grab_angle1; //第一株茶叶抓取角度r1,
  40. double tea_grab_x2; //第二株茶叶抓取位置x2,
  41. double tea_grab_y2; //第二株茶叶抓取位置y2,
  42. double tea_grab_angle2; //第二株茶叶抓取角度r2,
  43. double tea_cut_x1; //第一株茶叶切割位置x1,
  44. double tea_cut_y1; //第一株茶叶切割位置y1,
  45. double tea_cut_angle1; //第一株茶叶切割角度r1,
  46. double tea_cut_x2; //第二株茶叶切割位置x2,
  47. double tea_cut_y2; //第二株茶叶切割位置y2,
  48. double tea_cut_angle2; //第二株茶叶切割角度r2,
  49. ImgInfo* pp_images[5];//参考图片,只读,从前向后,没有的会被置零
  50. }PositionInfo;
  51. };