文章目录

  • 概述
  • 传感器​分辨率
  • 传感器​尺寸
  • 传感器​规格
  • 焦距
  • 畸变处理
  • 相机主点(principal point)
  • 小孔成像
  • 相机参数

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之间存在如下关系:
xc∗F∗xd=0xc*F*xd =0xc∗F∗xd=0

其中F称为径向畸变基础矩阵(fundamental matrix for radial distortion),等于畸变中心点e=[cc1,cc2,1]′e=[cc1,cc2,1]'e=[cc1,cc2,1]′叉乘H,如下:
F=e×HF = e × HF=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%),以及成本受限的情况下,单目测距依然是首选方案,何况其实现起来也十分简单。

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

  1. 相机标定——张正友棋盘格标定法

    目录 为什么需要相机标定? 相机标定可以做什么? 相机标定后可以得到什么? 什么情况下需要借助相机标定的方法? 相机标定的原理 实现相机标定的方法 为什么需要相机标定? 一个是由于每个镜头的在生产和组 ...

  2. 利用python语言进行相机标定

    利用python语言进行相机标定 目录 利用python语言进行相机标定 一.相机标定相关原理 1.相机标定简介 2.坐标映射 2.1图像坐标系 1)图像坐标系(Pixel coordinate sy ...

  3. 张正友相机标定(全流程,含畸变,matlab源代码解析)

    张正友标定的具体原理很多文章已经介绍,这里主要结合源代码对其中的基本原理及本人遇到的问题进行介绍.(仅介绍基本原理供本人复习,同时方便他人,如有问题,请及时指正勿喷) 1. 标定基本思路介绍 相机标定 ...

  4. 一文详解双目相机标定理论

    01 前言 双目相机标定,从广义上讲,其实它包含两个部分内容: 两台相机各自误差的标定(单目标定) 两台相机之间相互位置的标定(狭义,双目标定) 在这里我们所说的双目标定是狭义的,讲解理论的时候仅指两 ...

  5. halcon相机标定

    一.相机标定的目的: 1.摄像头拍出来的原始图片是存在畸变的,我们需要通过标定来矫正这种畸变. 2.相机坐标系 到 世界坐标系 的转化,需要知道图片上像素点的距离转化到实际中代表多长. 3.标定分为内 ...

  6. 非常详细的相机标定原理、步骤(一)

    目录 一.什么是相机标定 二.坐标系 1.世界坐标系(word Coordinate) 2.相机坐标系(camera coordinate) 3.世界坐标系到相机坐标系转换 三.总结: 非常详细的相机 ...

  7. 【传感器融合】相机标定(理论推导+具体实现)

    目录 为什么进行相机标定 相机标定原理推导 坐标系的转换 世界坐标系->相机坐标系 相机坐标系->图像坐标系 图像坐标系->像素坐标系 为什么使用齐次坐标系 图像畸变和畸变矫正 径向 ...

  8. 元旦特惠!无人机/ROS2/三维重建点云/SLAM/多传感器/相机标定/深度估计等重磅干货教程...

    随着AI技术的大规模落地,国内外资本对AI视觉兴趣只增不减,自动驾驶.工业视觉.AR/VR.测量测绘.移动机器人等领域涌现了大量独角兽公司,相关产品更是受到重点关注. AI领域的热度和资本涌入持续增长 ...

  9. [毕设系列] 一、张正友相机标定

    张正友相机标定 预备知识 0.1 刚体.仿射.线性.旋转变换 0.2 什么是标定? 0.3 为什么要进行标定? 0.4 什么是畸变? 一.张正友标定法 1.1 简介 1.2 流程 1.3 畸变公式 二 ...

最新文章

  1. python爬虫代码1000行-Python爬虫教程(16行代码爬百度)
  2. Mysql并发时经典常见的死锁原因及解决方法
  3. JAVA程序测试时用到的与内存测试有关的东西
  4. 2021Q1美妆行业季度观察报告
  5. Android手机安全性测试手段
  6. csv 逗号数量不一样_lexin_common系列之CSV
  7. 小白_Unity引擎_Console控制台
  8. centos7.4下的KVM虚拟机安装使用
  9. 挑战程序设计竞赛是c语言编写的嘛,POJ 2115 C Looooops 题解《挑战程序设计竞赛》...
  10. 总结了 110+ 公开专业数据集
  11. HTB_Dancing 靶机之 smb 协议简介
  12. AMOLED 结构及显示原理
  13. python 负数变正数_numpy正数相乘变负数的解决办法
  14. 图片云存储服务商在阿里云和又拍云之间如何选择?
  15. 拟合程度的评估--判定系数
  16. JavaScript画星星
  17. 软件测试应该何时介入项目?
  18. java代码实现短信接受验证码
  19. [回归初作]——edge浏览器的小游戏
  20. sqoop导入时候显示ERROR

热门文章

  1. 2023牛寒5--小沙の赌气
  2. 楚留香获取服务器信息未响应,楚留香手游后期输出乏力解决方法分享
  3. C语言10道入门题集
  4. MATLAB数据导入
  5. group by 与 order by的用法
  6. 【自用向】【新手向】PHP入门学习(不断更新)
  7. 太火爆了!这一款小游戏火到把服务器搞瘫痪,合成大西瓜
  8. eslint报“Extra semicolon“错误的解决
  9. 基于matlab的双目摄像头标定
  10. 常用测试工具和框架归类