opencv之sift双目测距

本文分享了双目视觉测距的工作进展,包括源码下载、硬件配置、匹配效果、关键算法、基本参数及实际测量结果。通过详细阐述焦距拟合公式和距离测量方法,展示了如何利用OpenCV实现双目立体视觉测距。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

一、源码下载:http://download.youkuaiyun.com/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.youkuaiyun.com/detail/renshengrumenglibing/3791149
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值