123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #pragma once
- #include <string>
- namespace graft_cv{
- typedef unsigned char byte;
- typedef struct
- {
- int channel;
- int width;
- int height;
- byte *data;
- }ImgInfo;
- typedef struct{
- // 调试控制 (2)
- bool image_show;//true--显示处理过程中的中间图片,需要人工回车才能继续执行; false--无图片显示
- bool image_return;//true--返回结果positoninfo中添加返回的图片; false--无图片返回
- //image storage parameters(3)
- bool image_save;//是否保存图像
- std::string image_depository;//保存图像目录
- int image_backup_days;//保存图像天数,过期删除
-
- // rootstock grab based points cloud
- double rs_grab_xmin;
- double rs_grab_xmax;
- double rs_grab_ymin;
- double rs_grab_ymax;
- double rs_grab_zmin;
- double rs_grab_zmax;
- double rs_grab_zcent;
- double rs_grab_stem_diameter;
- double rs_grab_seedling_dist;
- int rs_grab_stem_min_pts;
- int rs_grab_seedling_min_pts;
- double rs_grab_ror_ratio;
- double rs_grab_fork_ratio;
- double rs_grab_offset;
- double rs_grab_fork_yup; //茎节高度上限
- double rs_grab_fork_ybt; //茎节高度下限, 不在范围内,按下限
- double rs_grab_offset_cut; // 在ybt、yup中间点进行偏移,在这个位置计算茎粗
- double rs_grab_fork_height; //茎节高度(最小值),毫米,小于此值不被识别
- int rs_grab_holes_number; //单排穴孔数量
- double rs_grab_valid_stem_ratio; //茎长度在视野高度上的占比阈值,小于此阈值,不被识别成茎
- double rs_grab_valid_occlusion_ratio;//遮挡物在视野高度上的占比阈值,小于此阈值,不被识别成遮挡物
- double rs_grab_valid_overall_ratio;//茎+叶子在视野高度上的占比阈值,小于此阈值,不被识别
- // scion grab based points cloud
- double sc_grab_xmin;//单排穴孔外沿
- double sc_grab_xmax;//单排穴孔外沿
- double sc_grab_ymin;
- double sc_grab_ymax;
- double sc_grab_zmin;
- double sc_grab_zmax;
- double sc_grab_zcent;
- double sc_grab_stem_diameter;
- double sc_grab_seedling_dist;
- int sc_grab_stem_min_pts;
- int sc_grab_seedling_min_pts;
- double sc_grab_ror_ratio;
- double sc_grab_fork_ratio;
- double sc_grab_offset_nofork; //无茎节的偏移量
- double sc_grab_offset_up; //茎节在yup以上的偏移量
- double sc_grab_offset_bt; //茎节在ybt以下的偏移量
- double sc_grab_offset_normal; //茎节在ybt以上yup以下的偏移量
- double sc_grab_fork_yup; //茎节高度上限
- double sc_grab_fork_ybt; //茎节高度下限, 不在范围内,按下限
- double sc_grab_offset_cut; // 在ybt、yup中间点进行偏移,在这个位置计算茎粗
- double sc_grab_fork_height; //茎节高度(最小值),毫米,小于此值不被识别
- int sc_grab_holes_number; //单排穴孔数量
- double sc_grab_valid_stem_ratio;
- double sc_grab_valid_occlusion_ratio;
- double sc_grab_valid_overall_ratio;//茎+叶子在视野高度上的占比阈值,小于此阈值,不被识别
- } ConfigParam;
- typedef struct
- {
- //以下涉及到位置均为实际位置,毫米
- double rs_grab_x;//砧木上苗抓取位置x,毫米
- double rs_grab_y;//砧木上苗抓取位置y,毫米
- double rs_grab_z;//砧木上苗抓取位置z,毫米
- double rs_fork_y1;//砧木上苗茎节1的y坐标,毫米, 等于-1000表示不存在
- double rs_fork_y2;//砧木上苗茎节2的y坐标,毫米, 等于-1000表示不存在
- double rs_fork_y3;//砧木上苗茎节2的y坐标,毫米, 等于-1000表示不存在
- double rs_width; //茎的宽度(直径),毫米
- double rs_tortuosity; //弯曲度,离茎中心轴线最大距离,毫米
- double rs_count; //当前第一排共有多少株
- double sc_grab_x;//穗苗上苗抓取位置x,毫米
- double sc_grab_y;//穗苗上苗抓取位置y,毫米
- double sc_grab_z;//穗苗上苗抓取位置z,毫米
- double sc_width; //茎的宽度(直径),毫米
- double sc_tortuosity; //弯曲度,离茎中心轴线最大距离,毫米
- double sc_count; //当前第一排共有多少株
- ImgInfo* pp_images[5];//参考图片,只读,从前向后,没有的会被置零
-
- }PositionInfo;
- };
|