ReadMe.txt 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. v0.5.9.2 增加了图片保存,自动定期删除功能;增加了histogram生成时,增加权重。
  2. v0.5.9.3 压叶切割点识别结果,不能用于切割,将切割点改成分叉点间,靠近右侧三分之一位置
  3. v0.5.9.4 去掉切后重识别相关的代码;增加识别结果的图片;修改stem_x0,stem_x1的识别方法;分叉中点作为切割点;适用于不压叶的情况
  4. v0.5.9.5 砧木切割点识别中,有的叶子较大且下垂,识别中将叶子识别成茎,造成错误,修改茎识别方法get_stem_x_range()
  5. v0.5.9.6 1)修改旋转叶展识别方法,改用最大叶宽的图像分叉y值;
  6. 2)配置文件中
  7. 增加
  8. rs_min_hist_value: 5
  9. 修改
  10. oa_min_hist_value: 5
  11. oa_stem_x_padding: 40
  12. 3)大叶下垂识别茎位置,增加中心点定位,在中心点的优选,然后计算var选择var大的
  13. 4)返回结果中增加 double rs_cut_lpoint_x;//砧木下切割点x位置,毫米
  14. double rs_cut_lpoint_y;//砧木下切割点y位置,毫米
  15. double sc_cut_lpoint_x;//穗苗切割下点x位置,毫米
  16. double sc_cut_lpoint_y;//穗苗切割下点y位置,毫米
  17. 去除曲线长度
  18. v0.5.9.7 修改保存图片的位置,翻转,填充后的图片保存
  19. v0.5.9.8
  20. 1)修改最优角度识别中单调情况的算法,采用最大点的角度(原来3点二次差值会出现较大误差)
  21. 2)去掉最优角度识别,人工上料保证叶展方向,拍照一次识别分叉点y高度(目前代码没有改动)
  22. 3)最优角度识别infer函数增加输出日志:分叉点和根点y的像素值和毫米值
  23. v0.5.9.9 最优角度识别,append方法,返回当时的分叉点y坐标,最低点y坐标
  24. 实现一次图像识别返回结果(适用于人工上料,不自动旋转的情况),调用流程不变,只是调用次数为1
  25. 增加返回参数 double rs_oa_stem_y_fork;//茎分叉点y,毫米
  26. double rs_oa_clamp_y_end;//茎可视下端y,毫米
  27. v0.5.9.10 增加砧木切割点间连线
  28. v0.5.9.11 增加接口调用进入、离开的日志信息; 改rs_stem_dia_mp: 9.6e-001
  29. v0.5.9.12 穗苗上切割点识别修改,改用中值法取茎粗,达到茎粗(或95百分位)位置为上切割点
  30. v0.5.9.13 1)穗苗切割点有识别不到的情况(因为苗倾斜角度过大),修改(扩大)识别范围
  31. 2)砧木分叉点检测方法(通过滑动平均),不稳定,可能出现不能检测到分叉点的情况
  32. 砧木准确的上切割点识别方法
  33. v0.5.9.14 修改测试中穗苗切割点检测出现bug,vector越界问题
  34. 修改 sc_stem_ymax_padding: 200
  35. v0.5.9.15 针对砧木旋转工位分叉点识别,修改util.cpp中的get_stem_x_range()
  36. 修改参数 rs_morph_radius: 2
  37. rs_morph_iteration: 5
  38. 修改砧木图像分割方法为直接二值化,然后close方法,用上述新参数,实现去毛刺
  39. 砧木col方向的histogram,通过中值滤波再次去毛刺
  40. 砧木下切割点位置换算bug修改
  41. v0.5.9.16 砧木切割工位切割点检测分2步
  42. 0)砧木分叉点检测方法,旋转工位和切割工位函数分开
  43. 1)原来的方法检测分叉点y坐标get_stem_y_fork_rs(),通过直径变化系数和直径(已知直径)偏差系数确定分叉点,
  44. 并限定在茎根部和茎最宽位置(通过x0和x1限定)找出最大指定的方法确定分叉y值
  45. 2)在1)的基础上增加get_stem_y_fork_rs_update()函数,基于1)中的结果,
  46. 实现茎中心线检测;
  47. 带角度的x方向padding图像区域剪裁;
  48. 找出外边缘,计算中心线到边缘的最小距离;
  49. 找出中线上点最大距离的点作为分叉参考点
  50. 3)修改参数 rs_row_th_ratio: 1.1999999999999999e+000
  51. 4) 用到flann,增加opencv_flann2410d.lib
  52. v0.5.9.17 增加砧木切割工位切割点偏移参数
  53. rs_cut_point_offset_ratio: 5.0000000000000000e-001
  54. v0.5.9.18 怀疑内存泄露,检测优化
  55. 1)高速连续加载砧木图片测试出现中途退出,1秒内图片id重复造成存储异常退出
  56. 修改图片id,增加序列值(00-99)
  57. 2)imginfo2mat()中构建mat矩阵,自己申请的内存(new),指针赋值给mat对象,mat对象
  58. 析构是不负责释放,造成内存泄露,已修改
  59. v0.5.9.19 增加配置参数写入日志功能:启动-初始化,或认为设置参数后将最新配置参数写入日志文件
  60. 增加版本号日志
  61. 增加宽大真叶的情况的处理
  62. v0.5.9.20 增加砧木分叉点检测优化,增加fork_rs.h,cpp(还没有全面测试)
  63. 修改砧木roi最大点识别,将比例参数1.5调整至2.0(utils.cpp)
  64. 修改砧木茎中心最大内接园半径的方法,不采用flann查找(出现误差较大),改用pointPolygonTest()
  65. 去掉opencv_flann2410d.lib
  66. 按测试,修改rs_cut_point_offset_ratio: 9.0000000000000000e-001
  67. 修改穗苗识别方法(用于标定位置的夹子被遮挡)
  68. v0.6.0 修改旋转角度识别算法,采用顶部拍照,一次识别旋转角度
  69. v0.6.1 移植到vs2015平台(vc14),选用OpenCV v4.55
  70. v0.6.2 增加上苗点云识别夹取位置接口及功能
  71. v0.6.3 增加茄科切后识别接口及功能(同一个接口支持砧木和穗苗)
  72. v0.6.4 增加算法参数读取文件进行更新的接口
  73. v0.6.5 修改代码,得到最左侧一株
  74. v0.6.6 增加剪裁后没有点的异常处理
  75. v0.6.7 修改点云显示代码,显示抓取点xy方向,及z平面上的xoy坐标系
  76. v0.6.8 增加穗苗的inbox定义,增加最优茎高的定义;修改vector随机读取[]为at方法;增加接口参数用于定义抓取苗是砧木还是穗苗;修改了接口函数名称