data_def_api.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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;
  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. // rootstock grab based points cloud
  21. double rs_grab_xmin;
  22. double rs_grab_xmax;
  23. double rs_grab_ymin;
  24. double rs_grab_ymax;
  25. double rs_grab_zmin;
  26. double rs_grab_zmax;
  27. double rs_grab_stem_diameter;
  28. double rs_grab_seedling_dist;
  29. int rs_grab_stem_min_pts;
  30. int rs_grab_seedling_min_pts;
  31. double rs_grab_ror_ratio;
  32. double rs_grab_fork_ratio;
  33. double rs_grab_offset;
  34. double rs_grab_fork_yup; //茎节高度上限
  35. double rs_grab_fork_ybt; //茎节高度下限, 不在范围内,按下限
  36. int rs_grab_holes_number; //单排穴孔数量
  37. // scion grab based points cloud
  38. double sc_grab_xmin;//单排穴孔外沿
  39. double sc_grab_xmax;//单排穴孔外沿
  40. double sc_grab_ymin;
  41. double sc_grab_ymax;
  42. double sc_grab_zmin;
  43. double sc_grab_zmax;
  44. double sc_grab_stem_diameter;
  45. double sc_grab_seedling_dist;
  46. int sc_grab_stem_min_pts;
  47. int sc_grab_seedling_min_pts;
  48. double sc_grab_ror_ratio;
  49. double sc_grab_fork_ratio;
  50. double sc_grab_offset_nofork; //无茎节的偏移量
  51. double sc_grab_offset_up; //茎节在yup以上的偏移量
  52. double sc_grab_offset_bt; //茎节在ybt以下的偏移量
  53. double sc_grab_offset_normal; //茎节在ybt以上yup以下的偏移量
  54. double sc_grab_fork_yup; //茎节高度上限
  55. double sc_grab_fork_ybt; //茎节高度下限, 不在范围内,按下限
  56. int sc_grab_holes_number; //单排穴孔数量
  57. } ConfigParam;
  58. typedef struct
  59. {
  60. //以下涉及到位置均为实际位置,毫米
  61. double rs_grab_x;//砧木上苗抓取位置x,毫米
  62. double rs_grab_y;//砧木上苗抓取位置y,毫米
  63. double rs_grab_z;//砧木上苗抓取位置z,毫米
  64. double rs_fork_y1;//砧木上苗茎节1的y坐标,毫米, 等于-1000表示不存在
  65. double rs_fork_y2;//砧木上苗茎节2的y坐标,毫米, 等于-1000表示不存在
  66. double rs_fork_y3;//砧木上苗茎节2的y坐标,毫米, 等于-1000表示不存在
  67. double rs_width; //茎的宽度(直径),毫米
  68. double rs_tortuosity; //弯曲度,离茎中心轴线最大距离,毫米
  69. double rs_count; //当前第一排共有多少株
  70. double sc_grab_x;//穗苗上苗抓取位置x,毫米
  71. double sc_grab_y;//穗苗上苗抓取位置y,毫米
  72. double sc_grab_z;//穗苗上苗抓取位置z,毫米
  73. double sc_width; //茎的宽度(直径),毫米
  74. double sc_tortuosity; //弯曲度,离茎中心轴线最大距离,毫米
  75. double sc_count; //当前第一排共有多少株
  76. ImgInfo* pp_images[5];//参考图片,只读,从前向后,没有的会被置零
  77. }PositionInfo;
  78. };