模板匹配求圆柱的半径和长度

效果图

基于模板匹配的方法,用双目相机测量圆柱体的两端距离,示意图:

重建模板点云:

依赖环境:

1
2
3
4
5
6
ubuntu 18.04
opencv 3.4.3
opencv_contrib 3.4.3 (为了使用sift)
eigen 3.2.10
ceres-solover 1.13.0
pcl-1.9.1

流程

  1. 读取双目相机标定参数,完成图像去畸变

  2. 模板图片与图片中的模板用sift提取特征,匹配,得到图像中模板所在的区域

  3. 对左右图进行特征提取和匹配,只保留在模板区域内的特征。

  4. 对这些匹配的特征点三角化,在pcl中拟合出圆柱参数,完成半径拟合。

  5. 对3中的匹配特征对,在模板中找到它的位置,记录它的(x,y)坐标,筛选一些在左右模板尽可能在y坐标上接近的点云对,计算它的距离,利用圆柱的几何信息,计算它沿着圆柱高的分量的长度。

  6. 该分量加上模板中的(x,y)信息,即为左右模板两端的实际距离,完成测距。

updatedupdated2020-07-152020-07-15