opencv之sift双目测距

双目视觉之摄像头标定:  基于OpenCV的双目立体视觉测距_摄像机标定    http://www.lunwenf.com/kejixiaolunwen/9546.html

opencv之sift双目测距:  http://blog.csdn.net/renshengrumenglibing/article/details/6966720

最近一直在做双目测距的工作,今天终于获得一定的成果~拿出来与大家分享~

一、源码下载:http://download.csdn.net/detail/renshengrumenglibing/3791149

 二、硬件:

三、匹配效果:


四、基本算法 参见学习opencv中关于双目测距的算法

最关键的Z = fx*T/(x2 - x1)


五、基本参数:

摄像头间距:T = 187mm
由于在实际测量过程中,发现摄像机的焦距并非固定不变的,在标定

的时候会发现,随着距离的变大,测量的焦距逐渐变大,于是采用测量多



组的的数据拟合 出摄像头的焦距公式
求取焦距与实际距离的拟合公式:fx = g(distance)
实际距离 像差 反推的焦距 
413 398 879
519 321 890.9
618 279 922
727 245 952.5
835 217 969.0
930 200 994.65
1075 179 1029
1211 187 1068.5
1345 152 1093
1496 142 1136


焦距拟合公式(matlab计算)
fx*T = k*dis +b
k  = 44.97
b = 14454.17732 
T为两个摄像头间的距离,为定值187mm。
知道焦距的拟合公式以后,再测出两张照片的匹配点的像差,可以测出


距离
由方程组:
fx * T = k*dis +b
Z = fx*T/(x2 - x1)
x2 - x1 为两张照片的匹配点的像差
Z该匹配点的实际距离。




得出距离测量公式Z = b/(x2 -x1 - k)


六、实际测量值比较:

重现拍摄几组图片,求取实际距离
下面给出求解结果以及误差分析:单位mm
实际距离 测量距离 误差
1472 1460 -12
1059 1054 -5
921 920.48 -0.52
804 798.4 -5.6
644 642.3 -1.7
516 510.69 -5.31
源码下载网址:
http://download.csdn.net/detail/renshengrumenglibing/3791149
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值