导航:首页 > 源码编译 > 摄像头测距的算法

摄像头测距的算法

发布时间:2023-08-31 14:14:18

① 手机怎么测距

以苹果手机为例,用手机测量距离的方法是:1、打开iPhone的【测距仪】,此时会出现摄像头界面,可以看到中间位置有一个小圆点;将这个点对准想要测量距离的物体的一端,点击底部【+】图标,这个点将作为测量的起点;2、沿着需要测量的物体移动,屏幕上会有一条黄色虚线显示移动路线,以及目前为止的长度;3、当将小圆点移动到物体另一端后,再次点击【+】图标来设置测量的终点;4、这样测量的物体的完整长度就会显示在屏幕中了;测距仪还可以自动检测矩形物体的尺寸,不过测矩形时要使标点的位置重合(两点重合时手机会发出震动提示)。5、标点完成后点击【+】添加矩形,就可以查看矩形面积;点击右下角【白色圆点】可以拍照,方便记忆;另外,这个功能适用于测量近处的物体,如果某个物体距离比较远,那就无法通过【测量仪】测量它的长度了。
以苹果手机为例,用手机测量距离的方法是:
1、打开iPhone的【测距仪】,此时会出现摄像头界面,可以看到中间位置有一个小圆点;将这个点对准想要测量距离的物体的一端,点击底部【+】图标,这个点将作为测量的起点;
2、沿着需要测量的物体移动,屏幕上会有一条黄色虚线显示移动路线,以及目前为止的长度;
3、当将小圆点移动到物体另一端后,再次点击【+】图标来设置测量的终点;
4、这样测量的物体的完整长度就会显示在屏幕中了;测距仪还可以自动检测矩形物体的尺寸,不过测矩形时要使标点的位置重合(两点重合时手机会发出震动提示)。
5、标点完成后点击【+】添加矩形,就可以查看矩形面积;点击右下角【白色圆点】可以拍照,方便记忆;另外,这个功能适用于测量近处的物体,如果某个物体距离比较远,那就无法通过【测量仪】测量它的长度了。

② 双目视觉测距原理

单目测距原理:

先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人,是货车、SUV还是小轿车。准确识别是准确估算距离的第一步。要做到这一点,就需要建立并不断维护一个庞大的样本特征数据库,保证这个数据库包含待识别目标的全部特征数据。比如在一些特殊地区,为了专门检测大型动物,必须先行建立大型动物的数据库;而对于另外某些区域存在一些非常规车型,也要先将这些车型的特征数据加入到数据库中。如果缺乏待识别目标的特征数据,就会导致系统无法对这些车型、物体、障碍物进行识别,从而也就无法准确估算这些目标的距离。

单/双目方案的优点与难点

从上面的介绍,单目系统的优势在于成本较低,对计算资源的要求不高,系统结构相对简单;缺点是:(1)需要不断更新和维护一个庞大的样本数据库,才能保证系统达到较高的识别率;(2)无法对非标准障碍物进行判断;(3)距离并非真正意义上的测量,准确度较低。

双目检测原理:

通过对两幅图像视差的计算,直接对前方景物(图像所拍摄到的范围)进行距离测量,而无需判断前方出现的是什么类型的障碍物。所以对于任何类型的障碍物,都能根据距离信息的变化,进行必要的预警或制动。双目摄像头的原理与人眼相似。人眼能够感知物体的远近,是由于两只眼睛对同一个物体呈现的图像存在差异,也称“视差”。物体距离越远,视差越小;反之,视差越大。视差的大小对应着物体与眼睛之间距离的远近,这也是3D电影能够使人有立体层次感知的原因。

上图中的人和椰子树,人在前,椰子树在后,最下方是双目相机中的成像。其中,右侧相机成像中人在树的左侧,左侧相机成像中人在树的右侧,这是因为双目的角度不一样。再通过对比两幅图像就可以知道人眼观察树的时候视差小,而观察人时视差大。因为树的距离远,人的距离近。这就是双目三角测距的原理。双目系统对目标物体距离感知是一种绝对的测量,而非估算。

理想双目相机成像模型

根据三角形相似定律:

根据上述推导,要求得空间点P离相机的距离(深度)z,必须知道:
1、相机焦距f,左右相机基线b(可以通过先验信息或者相机标定得到)。
2、视差 :,即左相机像素点(xl, yl)和右相机中对应点(xr, yr)的关系,这是双目视觉的核心问题。

重点来看一下视差(disparity),视差是同一个空间点在两个相机成像中对应的x坐标的差值,它可以通过编码成灰度图来反映出距离的远近,离镜头越近的灰度越亮;

极线约束

对于左图中的一个像素点,如何确定该点在右图中的位置?需要在整个图像中地毯式搜索吗?当然不用,此时需要用到极线约束。

如上图所示。O1,O2是两个相机,P是空间中的一个点,P和两个相机中心点O1、O2形成了三维空间中的一个平面PO1O2,称为极平面(Epipolar plane)。极平面和两幅图像相交于两条直线,这两条直线称为极线(Epipolar line)。

P在相机O1中的成像点是P1,在相机O2中的成像点是P2,但是P的位置是未知的。我们的目标是:对于左图的P1点,寻找它在右图中的对应点P2,这样就能确定P点的空间位置。

极线约束(Epipolar Constraint)是指当空间点在两幅图像上分别成像时,已知左图投影点p1,那么对应右图投影点p2一定在相对于p1的极线上,这样可以极大的缩小匹配范围。即P2一定在对应极线上,所以只需要沿着极线搜索便可以找到P1的对应点P2。

③ matlab双目测距中怎样把摄像机标定后的内外参数和视差图结合起来计算深度距离

你用的是双面立体相机配置吗?如果是,你需要标定左右两个相机的内部参数,即焦距,像素物理尺寸,还有两个相机间的三维平移,旋转量。如果你不做三维重建的话,就不需要得到外部参数。得到相机内部参数,就可以矫正左右两幅图像对,然后使用立体匹配算法得到目标的视差图像,然后用你得到的,fc,cc参数,用三角法则计算出目标点到相机平面的距离。三角法则:z=f*b/d。f是焦距,b是两相机间的横向距离,d是立体匹配得到的视差值,即目标像素点在左右两相机平面x方向的坐标差值。

与摄像头测距的算法相关的资料

热点内容
手机版我的世界玩服务器太卡怎么办 浏览:573
flashtopdf 浏览:971
phpfaq系统 浏览:635
编译原理统计终结符与非终结符 浏览:796
为什么会显示获取服务器失败 浏览:889
ic验证用什么编译工具 浏览:723
php获取微信code 浏览:573
pdf切割页 浏览:257
小学音乐教案app哪个软件好 浏览:46
aix创建vg命令 浏览:936
程序员五年多少行代码 浏览:862
unix环境高级编程第三版pdf中文 浏览:644
找项目部包杂工用什么app 浏览:381
数控洗床圆弧编程举例 浏览:412
途观压缩机继电器 浏览:164
linuxnslookup安装 浏览:845
java回文数编程 浏览:638
无刷电机控制算法 浏览:744
查看gcc是否编译成功 浏览:898
单片机软件测试 浏览:959