单目摄像头标定与测距

news/2024/12/2 14:51:47/

单目摄像头标定与测距

一、 标定

  首先要对摄像头做标定,具体的公式推导在learning opencv中有详细的解释,这里顺带提一句,这本书虽然确实老,但有些理论、算法类的东西里面还是讲的很不错的,必要的时候可以去看看。

1.单目摄像头标定

标定的目的是为了消除畸变以及得到内外参数矩阵,内参数矩阵可以理解为焦距相关,它是一个从平面到像素的转换,焦距不变它就不变,所以确定以后就可以重复使用,而外参数矩阵反映的是摄像机坐标系与世界坐标系的转换,至于畸变参数,一般也包含在内参数矩阵中。从作用上来看,内参数矩阵是为了得到镜头的信息,并消除畸变,使得到的图像更为准确,外参数矩阵是为了得到相机相对于世界坐标的联系,是为了最终的测距。

关于畸变,大家可以看到自己摄像头的拍摄的画面,在看矩形物体的时候,边角处会有明显的畸变现象,而矫正的目的就是修复这个。

知道双目测距的时候两个相机需要平行放置,但事实上这个是很难做到的,所以就需要立体校正得到两个相机之间的旋转平移矩阵,也就是外参数矩阵。

2.如何做摄像头的在线标定?
在这里插入图片描述
在这里插入图片描述

二.单目测距原理

将使用相似三角形来计算相机到一个已知的物体或者目标的距离。 相似三角形就是

这么一回事:假设有一个宽度为 W 的目标或者物体。然后将这个目标放在距离

的相机为 D 的位置。用相机对物体进行拍照并且测量物体的像素宽度 P 。这样就得

出了相机焦距的公式:F = (P x D) / W

举个例子,假设我在离相机距离 D = 24 英寸的地方放一张标准的 8.5 x 11 英寸 A4 纸

(横着放;W = 11)并且拍下一张照片。我测量出照片中 A4
纸的像素宽度为 P = 249 像素。 因此我的焦距 F 是: F = (248px x 24in) / 11in = 543.45

当我继续将我的相机移动靠近或者离远物体或者目标时,我可以用相似三角形来计算出物体离相机的距离:D’
= (W x F) / P 从以上的解释中,可以看到,要想得到距离,就要知道摄像头的焦距和目标物体的大小,这两个已知条件根据公式:D’ = (W x F) / P

得出目标到摄像机的距离D,其中P是指像素距离,W是A4纸的宽度,F是摄像机焦距。


http://www.ppmy.cn/news/614436.html

相关文章

Java动态代理和静态代理区别

静态代理 package staticproxy;/*** 接口* author newtouch**/ public interface IHello {public void sayHello();public String doSomethong(String s);}package staticproxy;/*** 实现类* author newtouch**/ public class Hello implements IHello{Overridepublic void say…

L4自动驾驶技术

L4自动驾驶技术 一.SAE的五个级别分别是: L0:驾驶员完全掌控车辆,无任何自动化能力。 L1:自动系统有时能够辅助驾驶员完成某些驾驶任务。比如高速自动巡航(自动认知所在车道),和一…

php mms,PHP代码示例_PHP账号余额查询接口 | 微米-中国领先的短信彩信接口平台服务商...

PHP余额查询接口代码示例请求$ch curl_init();curl_setopt($ch, CURLOPT_URL, "http://api.weimi.cc/2/account/balance.html");curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_POST, TRUE);/*设定微米账号的接口UID和接口密码*/curl_se…

工作经验:Java 系统记录调用日志,并且记录错误堆栈

前言:现在有一个系统,主要是为了给其他系统提供数据查询接口的,这个系统上线不会轻易更新,更不会跟随业务系统的更新而更新(这也是有一个数据查询接口系统的原因,解耦)。这时,这个系…

ASML光刻机PK 原子弹,难度?

ASML光刻机PK 原子弹,难度? 一. 物理世界和网络世界的交汇点:光刻机 光刻机的技术有多高级,看看这个知乎提问,可以感受一下: 有人这样形容光刻机:这是一种集合了数学、光学、流体力学、高分子…

uniapp 封装 navbar tabbar

最近换了一家公司工作 因为上家公司老板给的钱不多 还特别会压榨员工 好了好了,不扯皮了 1、封装navbar: 首先需要在pages.json中将对应页面的原生navbar给取消 举例: {"pages": [{"path" : "pages/home/inde…

shell访问php文件夹,Shell获取某目录下所有文件夹的名称

Shell获取某目录下所有文件夹的名称以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Shell获取某目录下所有文件夹的名称, 已知目录D:/temp,获取temp下所有文件夹的名称并输出,She…

深度学习与传统图像识别

深度学习与传统图像识别 概述 传统方法中特征提取主要依赖人工设计的提取器,需要有专业知识及复杂的调参过程,同时每个方法都是针对具体应用,泛化能力及鲁棒性较差。 深度学习主要是数据驱动进行特征提取,根据大量样本的学习能…