【相机标定系列】相机sensor传感器尺寸,CMOS靶面尺寸,分辨​率​和​镜头​焦距,畸变处理效果,相机主点

【相机标定系列】相机sensor传感器尺寸,CMOS靶面尺寸,分辨​率​和​镜头​焦距,畸变处理效果,相机主点https://blog.csdn.net/j_shui/article/details/77262947相机标定是进行视觉测量和定位的基础工作之一,标定参数准确与否直接关系到整个系统的精度,为此根据自己项目中的经验及参考相关的商用视觉软件的做法将相机标定过程中标定图片的获取过程中需要注意的问题总结如下:标定板拍摄的张数要能覆盖整个测量空间及整个测量视场,把相机图像分成四个象限(如图1所示),应保证拍摄的标定板图像均匀分布在四个象限中,且在每个象限中建议进行不同方向的两次倾斜,图2是一组推荐摆放方式图片

大家好,又见面了,我是你们的朋友全栈君。

https://blog.csdn.net/j_shui/article/details/77262947

https://www.ni.com/zh-cn/support/documentation/supplemental/18/calculating-camera-sensor-resolution-and-lens-focal-length.html#section-489585536

相机标定是进行视觉测量和定位的基础工作之一

概述

首先,​定义​基本​术语。

视野 (FOV):​摄像​头​的​采集​图片​的​区域
最小​特征:​要​在​图片​中​检测​到​最小​特征​的​大小
工作​距离 (WD):​镜头​前端​至​被​检​物体​之间​的​距离

请​参考​下​图:

在这里插入图片描述

在这里插入图片描述
按照​下列​两​个​步骤​为​应用​场景​选择​摄像​头​最低​分辨​率​以及​合适​的​焦距。

计算​最低​传感器​分辨​率:了解​视野​和​要​检测​的​最小​特征。
选择​摄像​头:选定​摄像​头​之后,​可​使用​传感器​大小​计算​得到​焦距。

传感器​分辨率

图像​的​分辨​率​就是​单位​面积​内​像​素​点​的​数量。​分辨​率​有​两​个​维​度,​例如,​640X480。​可以​单独​计算​每​个​维​度。​简单​起​见,​通常​只​计算​一个​维​度。

如​要​对​图片​进行​精确​测量,​最小​特征​必须​要有​两​个​以上​的​像​素。​计算​最低​传感器​分辨​率:​视野​的​大小​(实际​单位)​乘​以​2(或​每​个​最小​特征​的​像​素数),​除以​最小​特征​的​大小,​如​下列​公式​所​示:

在这里插入图片描述

计算​传感器​分辨​率:

例​1: 视野​为​100mm,​最小​特征​为​1mm。​根据​公式,​所需​的​最低​传感器​分辨​率​为​200​像​素。​可​选择​分辨​率​为​640x480​的​相机,​因为​两​个​维​度​均​大于​最低​200​像​素​的​要求。
例​2: 视野​为​500mmX600mm,​最小​特征​为​2mm。​假设​最小​特征​是​直径​为​2mm​的​圆形​区域。​根据​公式,​所需​的​最低​传感器​分辨​率​为​500X600​像​素。​在​该​情况​下,​640X480​的​传感器​不​适用。​在​这种​情况​下,​可​选择​分辨​率​为​1024X768 或者 1280X1024​的​摄像​头。

只要​已知​三​个​变量,​就​可​使用​该​公式​求得​其他​变量​的​值。

传感器​尺寸

传感器​尺寸​是​指​传感器​的​实际​大小。​产品​规范​上​通常​不会​注明​该​值。​将​像​素​大小​乘​以​分辨​率,​即可​得到​传感器​尺寸。

计算​传感器​大小:

例​3:Basler acA1300-30um​的​像​素​大小​为​3.75 x 3.75um,​分辨​率​为​1296 x 966​像​素。​传感器​尺寸​为​(3.75um x 1296) x (3.75um x 966) = 4.86 x 3.62mm。

传感器​规格

传感器​规格​是​指​传感器​的​实际​大小。​传感器​规格​跟​像​素​大小​不​相关。​该​参数​用于​判断​摄像​头​适用​的​镜头。​为了​使​镜头​与​摄像​头​兼容,​镜头​的​规格​需要​大于​或​等于​传感器​规格。​如果​使用​较​小​规格​的​镜头,​则​图像​会​出现​渐​晕​现象,​导致​在​镜头​规格​区域​之外​的​传感器​区域​变​暗。

在这里插入图片描述
在这里插入图片描述

焦距

一般​情况​下,​镜头​为​定​焦​镜头。​但是,​工作​距离​是​灵活​可变​的。​简便​起​见,​计算​工作​距离​和​焦距​的​比值。​这样​有助​于​使用​特定​的​镜头​焦距​判断​所需​的​工作​距离。​如果​工作​距离​是​有限​的,​通过​该​比率​计算​可​得到​该​工作​距离​下​适用​的​镜头​焦距。​这样​有助​于​使用​一个​范围​的​工具​距离​获得​镜头​焦距​的​范围。​选择​了​镜头​之后,​即可​重新​计算​所需​的​精确​工作​距离。

计算​公式​如下:
在这里插入图片描述
计算​镜头​焦距:

例4(使用​灵活​的​工作​距离):​视野​为​508mm  x 381mm,​传感器​大小​为​8.47mm(对角线)。​工作​距离​与​焦距​的​比例​为​381mm / 8.47mm = 45:1。​所以,​如​选择​25mm​的​焦距​(约​1"),​则​需要​大约​1140mm (45")​的​工作​距离。​如​最大​工作​距离​为​889mm (35"),​通过​比例​(1:45)​倒​推​得到​最大​焦距​为​35/45 = 19.76mm (7/9")。​16mm​焦距​的​摄像​头​适用,​重新​计算​得到​工作​距离​为​711.2mm (28")。
例5 (使用​固定​工作​距离):​视野​为​609.6mm x 609.6mm,​传感器​规格​为​12.7mm(对角线),​工作​距离​为​1016mm。​为了​精确​地​得到​焦距,​需要​知道​传感器​的​长​宽​比。​如果​没有​长​宽​比,​对角线​也​可。​根据​上述​焦距​公式,​得到​焦距​为​(12.7X1016)/​609.6 = 21.2mm。​这​不是​一个​常见​的​焦距,​所以​需要​调整​工作​距离​或者​使用​可变​焦​的​非​标准​镜头。

定​焦​镜头​的​焦距​通常​为​固定​的​几个​值。​常见​的​镜头​焦距​包括​6​毫米、​8​毫米、​12.5​毫米、​25​毫米、​50​毫米。​一旦​您​选择​焦距​与​图像​采集​系统​所需​焦距​最​接近​的​镜头,​需​调整​工具​距离,​将​被​摄​物体​放在​焦点​位置。

注:短​焦​镜头​(小​于​12​毫米)​拍摄​的​图片​会​有​较大​的​扭曲​和​失真。​如​应用​场景​对​图像​失真​敏感,​请​尝试​增加​工作​距离​或​使用​较大​焦距​的​镜头。​如​无法​改变​工作​距离,​会​影响​您​可​选择​的​镜头​范围。

畸变处理

畸变前

在这里插入图片描述
畸变矫正

在这里插入图片描述

焦距:1.074097234609696e+03,1.071753430673165e+03

尺寸:1080,1920

内参矩阵
1.074097234609696e+03,0,0;
0,1.071753430673165e+03,0;
9.553145178698927e+02,5.794196521896478e+02,1

主点,主轴与像平面相交的点
9.553145178698927e+02,5.794196521896478e+02

畸变
-0.3751,-0.1204

相机主点(principal point)

相机主点(principal point),即相机畸变中心的基础矩阵估计方法

设相机前方一平面标定板的坐标为xc=[x,y,1]’,其所成的像的坐标为xd=[u,v,1]’,畸变矫正的坐标为xu,则xc与xd之间存在如下关系:
x c ∗ F ∗ x d = 0 xc*F*xd =0 xcFxd=0

其中F称为径向畸变基础矩阵(fundamental matrix for radial distortion),等于畸变中心点 e = [ c c 1 , c c 2 , 1 ] ′ e=[cc1,cc2,1]’ e=[cc1,cc2,1]叉乘H,如下:
F = e × H F = e × H F=e×H

其中H为标定板坐标系到相面的单应性矩阵。

理论上一张图片即可估计出principal point。首先通过标定板坐标xc和标定板所成相的像素坐标xd的匹配点对,通过八点算法估计出F矩阵,然后求出F矩阵的左零空间,并把该左零空间向量的第三个元素化为1,该向量的第一二个元素即为相机的principal point。如果有多张图片,即是所有F矩阵共同的左零空间。

小孔成像

在这里插入图片描述

在这里插入图片描述

这里要说明下,这是一个典型的小孔成像模型,与单目相机的成像原理类似。

中间通过红蓝的垂线是相机的主光轴,d是被测物体至镜头的距离,f为相机镜头的焦距,w为被测物体的实际宽度(高度),w’为物体在成像平面(感光元件)上的宽度(高度)。

根据相似三角形公式可得:f / d = w’ / w

由于f(相机镜头焦距)一般都是已知参数(买相机的时候总要选镜头焦距吧…),即使不清楚也可以通过计算得出,这里就不具体说了,w(实际物体宽或高)则是可以实际测得的常量。

相机参数

重点说下怎么通过计算得出w’(物像宽或高)。

举个栗子,假设你手上的相机是200w像素捕获画面尺寸为1920*1080,感光元件尺寸为1/2.7’’,宽高分别为5.3mm和4mm(估值),被测物体在画面上的像素宽高都为600 pixel,那么w’(x) = (5.3 / 1920 * 600)(mm),同样的,w’(y) = (4 / 1080 * 600)(mm)。关于感光元件尺寸和画面尺寸可以通过查看相机参数手册获得,而感光元件的宽和高可以通过其尺寸计算出来,这里直接扔张感光元件靶面尺寸表作为参考,图来源自网络:
在这里插入图片描述

这样,得知了 f,w,w’ ,就可以根据上文提到的相似三角形公式计算得出d啦。

不过以上考虑的的是理想情况,前提是保证物像光线通过主光轴,相机是完全无畸变的,且被测物体平面要与相机成像平面保持平行状态。在这里我使用的相机是无畸变工业相机(低程度畸变,完全没畸变的相机是不存在的…),如果是较为廉价的相机或者是广角镜头相机都会存在较大程度的画面畸变,可以通过软件进行校正。准确来说这些情况都属于无法完全消除的偏差,只能通过后期软件来尽量减少这种偏差。

以上也就是为什么单目测距的精度要比双目测距差的多的原因,但是在所需测量精度不需要很精确的情况(偏差 < 10% ~ 15%),以及成本受限的情况下,单目测距依然是首选方案,何况其实现起来也十分简单。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135450.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea配置lombok.jar(idea安装离线插件)

    项目中经常使用bean,entity等类,绝大部分数据类类中都需要get、set、toString、equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担。而使用了lombok则不一样,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHas

  • importerror cannot import name_cannot resolve plugin org.apache

    importerror cannot import name_cannot resolve plugin org.apache今天测试一款轻量级的爬虫库:[RoboBrowser]。(https://github.com/jmcarp/robobrowser)github上的介绍是这样的:结合使用了Requests和BeautifulSoup,具体就不介绍了,这里主要是提一下碰到的问题:cannotimportname‘cached_property’from‘werkzeug’(C:\Users\79229\AppData\Local\Programs\Python\Python38\lib\site

  • python画图函数

    python画图函数python画图函数

  • MySQL详解--锁

    MySQL详解--锁锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL

  • pycharm开启自动补全_python代码补全插件

    pycharm开启自动补全_python代码补全插件在使用python时候我们可能更倾向于能够使用到自动补全代码的功能在一段时间的找寻和使用过程中,发现了几种能补全代码的插件和方法吧pycharm中TabNine插件 这个我感觉还能用吧~啧百度kite官网下载kite插件百度aiXcoder插件下载aiXcoder插件GitHub开源项目1.首先第一个TabNine的插件 亲测了一段时间,感觉很一般 如果想体验一下也不是不行 安装插件过程如下: pycharm编译器->File->Settings

  • 图片搜索引擎大合集

    图片搜索引擎大合集转自:bbs.service.alibaba.com/bbs/read.php?tid=2768相似图片搜索网站(以图搜图)如何凭着一张现有图片找出它的原始图片,或者是凭着一张小的缩略图找出原始大图?下面的搜索引擎可以帮你实现、以图找图、以图搜图。  以图搜图是颠覆性的搜索方式,基于图片的搜索模式自09年以来在全球各大权威评选中,都被公认为未来几年互联网最有前

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号