双目测距

sift实现的双目测距

巧了我就是萌 提交于 2020-02-01 00:19:00
最近一直在做双目测距的工作,今天终于获得一定的成果~拿出来与大家分享~ 一、源码下载: 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

双目测距项目

会有一股神秘感。 提交于 2020-01-31 23:57:14
齐次坐标 表示是计算机图形学的重要手段之一,它既能够用来明确 区分向量和点 ,同时也更易用于 进行仿射(线性)几何变换 。 有两篇相当好的博客,推荐一下: https://blog.csdn.net/wqvbjhc/article/details/600312 https://blog.csdn.net/janestar/article/details/44244849 对极约束(Epipolar Constraint) 解释超级棒的一篇博客: https://www.cnblogs.com/clarenceliang/p/6704970.html 双目测距实际操作分 4个步骤 :相机标定——双目校正——双目匹配——计算深度信息。 相机标定:摄像头由于光学透镜的特性使得成像存在着径向畸变,可由三个参数k1,k2,k3确定;由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数p1,p2确定。单个摄像头的定标主要是计算出摄像头的内参(焦距f和成像原点cx,cy、五个畸变参数(一般只需要计算出k1,k2,p1,p2,对于鱼眼镜头等径向畸变特别大的才需要计算k3))以及外参(标定物的世界坐标)。而双目摄像头定标不仅要得出每个摄像头的内部参数,还需要通过标定来测量两个摄像头之间的相对位置(即右摄像头相对于左摄像头的旋转矩阵R、平移向量t)。 双目校正

使用opencv标定双目摄像头

喜夏-厌秋 提交于 2019-12-03 07:11:21
0.前言 接触双目相机标定有一段时间了,这里将自己的学习进行一下小结。双目标定的目的是用于后面的双目测距,不过有关双目测距的内容这里先只介绍双目测距的原理,不涉及双目测距算法。 1.三角测量 这一部分内容《学习opencv》中文版的p452-p454有了详细的论述 注意得到最后的公式是存在很多前提的,包括: (1)两台摄像机光轴平行、焦距相等, 且各自的主点具有相同的像素坐标 (2)两台摄像机成像平面共面且像素行对齐 不过我们拿到的双摄设备往往不能达到这种要求,所以需要标定这一步骤来进行相关的校正 2.双目标定 opencv已经提供了一个demo(samples\cpp\stereo_calib.cpp)实现了标定流程。在此之前按照《学习opencv》相关内容进行不同角度棋盘格图像的采集,选取包含较多位置、角度变化的10-20对图像作为待处理数据。 自己使用vs2015+opencv310,调用stereo_calib.cpp封装好的函数进行了标定,目测效果还可以。这里将附有注释的代码附上来 stereo_calib.h #ifndef _STEREO_CALIB_H_ #define _STEREO_CALIB_H_ #include <io.h> #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/imgcodecs

opencv stereo 解析

匿名 (未验证) 提交于 2019-12-03 00:30:01
双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标 https://blog.csdn.net/chenyusiyuan/article/details/5961769 双目测距与三维重建的OpenCV实现问题集锦(二)双目定标与双目校正 https://blog.csdn.net/chenyusiyuan/article/details/5963256 双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算 https://blog.csdn.net/chenyusiyuan/article/details/5967291 双目测距与三维重建的OpenCV实现问题集锦(四)三维重建与OpenGL显示 https://blog.csdn.net/chenyusiyuan/article/details/5970799 opencv双目预处理算法模块分析 https://cloud.tencent.com/developer/article/1065819 文章来源: opencv stereo 解析

ZED双目测距~Windows

匿名 (未验证) 提交于 2019-12-03 00:02:01
其与主动的kinect等流行的深度图像原理不同,该深度相机的深度计算是通过双目原理得到的, 其计算是发生在计算机上的GPU与CPU,而并非在该传感器本身,该传感器本身只是能过同步获取双目图像,之后在计算机上通过其对应的SDK进行深度计算 。其主要优势在于其高分辨率,最高可以达到15f/s的4416X1242的像素图像的深度图像生成,并且检测距离可以达到20m。 来源:51CTO 作者: 在路上@Amos 链接:https://blog.csdn.net/qq_33835307/article/details/100700307

《计算机双目立体视觉》学习笔记01:光学测量方法概述

时光怂恿深爱的人放手 提交于 2019-11-27 12:08:13
光学测量的分类如下图所示: 1. 主动测距和被动测距 主动测距和被动测距,主要在于照明方式不同。 主动测距使用专门的光源装置提供目标物体周围的照明 被动测距由物体周围的光线提供照明 主动测距技术 结构光法 分类:光点式、光条式、光面式 仪器:光条发生器+相机 优点:计算简单,测量精度高 缺点:对设备和外界光线要求较高,造价昂贵,主要应用于室内。 2. 飞行时间法 分类:脉冲激光测距(超声、激光)、连续波激光测距(相位激光测距和调频激光测距) 优点:定位精度高,测量速度快,直接利用光和声波的传播特性,不需要进行灰度图像的获取与分析,不受物体表面性质的影响 缺点:需要较为复杂的光电设备,造价昂贵 3. 三角测距法(主动三角形法) 仪器:激光光源+CCD相机(检测器) 优点:测量速度快,准确度高(精度可达到1μm) 缺点:测量精度随入射角的增加而降低 被动测距技术 优点 :不需人为设置辐射源,适应性强,实现手段灵活,造价低 缺点 :计算复杂 分类 :单目视觉、双目视觉和多目视觉 2. 单目视觉、双目视觉和三(多)目视觉 单目视觉: 仅使用一台相机拍摄一张照片来进行测量 分类: 1. 聚焦法——难点在于寻求精确的聚焦位置 2. 离焦法——难点在于离焦模型的准确标定 双目视觉: 从两个视点观察同一景物,以获取在不同视角下的感知图像,然后通过三角测量原理计算图像像素间的位置偏差(视差