当我们用OpenCV相机标定函数去标定相机时,我们能得到一个相机的内部参数,简称“内参”。内参是一个\(3 \times 3\) 的矩阵,

\[A=\begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix}\]

其中\(c_x\)和\(c_y\)很容易理解,它们表示相机光轴在图像坐标系中的偏移量,以像素为单位。但对于焦距\(f_x\)和\(f_y\)就不是很直观了。为什么一个相机会出现两个焦距呢?在我们习惯使用的相机针孔模型中,一个透镜的焦距通常只有一个。然而我们不能用针孔模型去解释这两个内参中的焦距。但我们可以从透视规律来解释这两个焦距。

由相机拍摄得到的图像是遵从线性透视规律的。也就是说,一个物体的的宽和高会随着这个物体与相机间的距离增加而按比例变小。而对于一张矩形的图片,一个物体的宽和高则会根据物体与相机的距离按不同的比例变小。而这个比例,就是根据相机的焦距得到的。现在我们再利用针孔模型推导出这个比例关系,

\[\frac{f} {d} = \frac{x} {w} = \frac{y} {h}\]

以上是当图像是正方形时的关系,就是当\(f_x=f_y\)时的情况。其中f是相机的焦距,以像素为单位;d为物体到相机的距离,单位为米;x是物体在图像中的宽度,w为物体的实际宽度;y是物体在图像中的高度,而h是物体的实际高度。而对于一张矩形的图像,则有

\[\frac{f_x} {d} = \frac{x} {w} \]

\[\frac{f_y} {d} = \frac{y} {h} \]

这就是相机内参有两个焦距的原因了。

相机的内参会改变吗_关于相机内参中的焦距fx和fy相关推荐

  1. 关于相机内参中的焦距fx和fy

    当我们用OpenCV相机标定函数去标定相机时,我们能得到一个相机的内部参数,简称"内参".内参是一个3×3 的矩阵, 其中cx和cy很容易理解,它们表示相机光轴在图像坐标系中的偏移 ...

  2. 相机的内参会改变吗_相机内参外参及成像过程

    前段时间有人问我怎么由点的世界坐标计算计算对应的像素坐标,我详细的推导了下,现在把整个过程写篇博客.虽然网上有很多相关的文章,但是我可能会写的更详细些. 一.小孔成像模型 1.基本概念及公式 如图所示 ...

  3. Unity判断一个物体是否在相机范围内

    Unity判断一个物体是否在相机范围内 思路 代码 注意点 思路 先说下思路,先把物体从世界坐标转到该相机的视口坐标viewPos, 如果满足这两个条件: 0<viewPos.x < 1 ...

  4. 5.2 叙述相机内参的物理意义。如果一部相机的分辨率变为原来的两倍,而其他地方不发生变化,它的内参会如何变化?

    常见的相机的内参有焦距.主点.径向畸变和切向畸变. 焦距(Focal Length):投影中心(光心)到物理成像平面的距离,即f 主点(Principal Point ):主光轴在物理成像平面上的角点 ...

  5. code epi 光场_光场相机视觉测量误差分析

    0 引言 光场相机[作为一种新型相机,将计算和成像相结合,在它的主透镜和传感器之间放置微透镜阵列,相对于传统相机可以通过单次曝光就能同时获取光辐射的空间信息和角度信息.光场相机具有重聚焦.多视角等特点 ...

  6. matlab 工业相机 曝光时间_实战 | 相机标定

    知乎的公式格式有点问题,请看原文链接: 实战 | 相机标定​mp.weixin.qq.com 什么是相机标定?我们为什么需要相机标定? 相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系 ...

  7. arnold如何设置鱼眼相机_华为相机实用技巧——如何调整相机设置?(2)

    上一篇提到了,相机的基础功能,这一篇来讲一下相机的基础设置,如何调整相机的设置,让相机更高效率的工作. 打开 相机,点击 设置,进入相机设置界面,您可以: 调整相机分辨率:在相机设置界面,点击分辨率, ...

  8. 获取相机视口内物体在视线范围内某点的方法

    我们在做HUD时经常使用物体的位置作为世界坐标点, 这在小物体的情况下没有问题, 但是在对于大型物体就有点麻烦, 因为我们的视角不一定能看到该点, 比如大楼, 大桥甚至公路等, 希望能在物体进入视线范 ...

  9. 返回值是内置类型 不能更改_选择通过更改内容类型返回的详细程度,第二部分...

    返回值是内置类型 不能更改 在上一篇文章中 ,我们研究了如何使用MOXy的功能来控制特定实体的数据输出级别. 这篇文章着眼于Jersey 2.x提供的抽象,它允许您定义一组自定义的批注以具有相同的效果 ...

最新文章

  1. 剑指offer_第3题_从尾到头打印链表
  2. 测试几款STC下载电路
  3. *HDU 2108 计算几何
  4. 动态语言,静态类型,强类型定义语言,弱类型定义语言,
  5. java面试宝典 之 物流配送路径优化问题分析与算法解读
  6. html 行内超出隐藏,css如何设置文字不换行超出隐藏?
  7. 【tyvj1520】 树的直径
  8. 华为腾讯众安微众360大咖齐聚,2019中国区块链开发者大会首批议程曝光!
  9. python PIP包管理工具安装
  10. hihoCoder 1369 网络流一·Ford-Fulkerson算法 (网络流学习#1 记录)
  11. Oracle管理监控之如何对数据库进行监控检查
  12. Intouch通过ODBC连接MySQL
  13. 《网络流量分类》部分插图
  14. java中block标签_[Java教程]Clouda开发随笔之block标签
  15. 【Harmony OS】【ArkUI】ets开发 基础页面布局与数据连接
  16. 启明创投投资企业神州细胞成功登陆科创板
  17. 修改服务器上tomcat的默认端口号
  18. 怎么把HTML网页重构为VUE,基于vue cli重构多页面脚手架过程详解
  19. 关于本地时间和网络时间校验
  20. 【图像处理】图像拼接——图像配准、图像融合

热门文章

  1. 【数学】 隐函数求导法则
  2. android 交互什么意思,知乎安卓客户端交互设计分析
  3. 【工具分享】任意坐标系CAD范围线多点配准及准确导入导入LSV
  4. python自动输入文字_Python自动输入【新手必学】
  5. bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)...
  6. 关于7z各种不能用的操作解决办法 7za 7z x Error: Can not open file as archive there is no such archive
  7. 蓝拓扑便携式分析仪驱动程序_拔出便携式USB硬盘驱动器会损坏计算机吗?
  8. 网站SEO其实很简单,新手必看!!!
  9. 不浪费原料的汉堡制作方案--贪心算法
  10. ORA-12154 另一种解决方式,IIS发布后出现的---解决思路---终极方案