我修完产假回来上班了,被分到了割草机项目组,机遇与挑战并存,我啥也不会,但是这次扛下来也许就蜕变了呢,也许我是想多了,管他呢,有问题咱就解决,有活咱就干,态度摆端正,结果就不会太差。上班第一天开会安排任务,有个双目测距的任务,领导问我之前做过吗,我心想,我在SLAM里用过双目,这算做过吗?现在想想,当时应该说没做过,但是我可以做好。同事有双目测距SGBM代码,是自己根据双目立体匹配原理重新实现的,还有SIMD加速版本的,还有,,我运行起来调整一下参数,再交叉编译搞到板子上去,应该不成问题。
领导问我双目出深度的精度,我想着等我这个同事周一回来了再跟他讨论,不过问题貌似比较急,我不得不给我这同事打电话吗,他说这个精度跟很多因素有关系的,得实际测的,我想我这怎么跟领导汇报来,只能靠自己了,我就在网上搜索相关的资料,就是如何计算双目测距的精度问题,我就找到了下面这篇文章
双目视觉误差与距离关系_双目fov计算_这个不开车的老司机的博客-CSDN博客
我马上查阅了我们使用相机的资料,把参数都填上去,计算了一下,给领导一个直观的反馈。
B = 60; %mm,两个相机之间的距离,也叫基线
fs = 1.6; %mm,相机的物理焦距
ss = 1.968; %mm ,芯片的宽 %1.968
wid = 640; %pix,相机的分辨率 宽
pp = ss/wid %um 像元尺寸
dd = 0.25; %pix,视差的精度,检测的精度,亚像素
f = fs/(pp);
minZ = 1000; %离相机最近的距离
maxZ = 3000; %最远距离
theta = atan((wid/2)/f);
fov = 2*theta *180/pi
minDepth = 0.5*B/((wid/2)/f)
vdD = [];
for D = minZ:maxZ
d = B*f/D;
dD = B*f*(1/d - 1/(d+dd));
vdD = [vdD;dD];
end
plot([minZ:maxZ],vdD);grid on;
xlabel("距离(毫米)");
ylabel("精确度(毫米");
心无杂念,一心工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)