在计算机视觉和图形学中都有“摄像机内参数矩阵”这个概念,其含义大致相同,但在实际使用过程中,这两个矩阵却相差甚远。在增强现实中,为了使计算机绘制的虚拟物体和真实环境图像对其,需要令虚拟摄像机的内参数和真实摄像机的内参数相一致。因此,理解这两个内参数矩阵的详细含义和算法很重要。

在计算机视觉中,摄像机内参数矩阵可以表示为:

其中 f 为摄像机的焦距,单位一般是mm,dx,dy 为像元尺寸,u0,v0 为图像中心。由此可以计算出摄像机纵向视场角有:

h为图像的纵向像素值,相似的可以推导横向视场角。

在计算机视觉中,摄像机内参数矩阵一般也称作投影矩阵,而其数值在不同的渲染引擎中也不尽相同,本文仅对XNA中的情况加以说明。在XNA中,一般采用Matrix.CreatePerspectiveFieldOfView (floatfieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance)来生成一个投影矩阵。其中,fieldOfView为摄像机的纵向(并非横向)视场角(并非半视场角),aspectRatio为宽高比,nearPlaneDistance,farPlaneDistance分别为进、远剪切面。其生成的矩阵可表示为:

其中,

综上所述,联系两个矩阵的关键因素在于纵向视场角和宽高比。

计算机视觉和图形学中的摄像机内参数矩阵详解相关推荐

  1. python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  2. python post json参数,Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  3. python中什么是可变参数_详解Python的三种可变参数

    详解Python的三种可变参数 可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中, ...

  4. html内置时间对象,JavaScript中的常用事件,以及内置对象详解

    原标题:JavaScript中的常用事件,以及内置对象详解 今天是刘小爱自学Java的第81天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 学前端有一个非常权威的组织,也就是w3c,其有个专 ...

  5. linux修改zip中文件,Linux下修改jar、zip等文件内的文件详解

    Linux下修改jar.zip等文件内的文件详解 Linux下修改jar.zip等文件内的文件详解 看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或z ...

  6. python中fn的用法_Pytorch技巧:DataLoader的collate_fn参数使用详解

    DataLoader完整的参数表如下: class torch.utils.data.DataLoader( dataset, batch_size=1, shuffle=False, sampler ...

  7. python 函数参数self_Python类中self参数用法详解

    Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了. 首先明确的是s ...

  8. java显示参数,Java中的隐式参数和显示参数实例详解

    在学习java的过程中,我们会遇到许多的问题.下面我们就来看看什么是隐式参数和显示参数. 显式参数,就是平时见到的在方法名括号中间的参数,就是所谓能看得见的参数www.cppcns.com. 隐式参数 ...

  9. 变频器调试过程中的常用参数设置详解

    变频器调试过程中的常用参数设置详解 变频器的设定参数较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当,导致变频器不能正常工作的现象.因此,变频器调试是从正确设置变频器参数开始的.以下 ...

最新文章

  1. 电机控制应用中的电磁兼容性设计与测试标准
  2. 解决javah生成c头文件时找不到android类库的问题
  3. leetcode 101. 对称二叉树 递归解法 c语言
  4. 离线语音识别软件_6.语音板使用科大讯飞离线命令词识别
  5. python中print后面加逗号
  6. 5 月编程语言排行榜:C 重回第一,今年编程语言名人堂冠军还会是它吗? | 原力计划...
  7. 软件工程期末考试 AHNU
  8. 【软件资源】MATLAB 7.0 安装教程
  9. .NET System.Web.HttpContext.Current.Request报索引超出数组界限。
  10. 计算机网络技术专业一体化课程方案,计算机网络技术课程革新中“一体化”模式的应用研究...
  11. centos 关于logrotate的使用
  12. 一文读懂|什么是dToF激光雷达技术?
  13. react 中文文档重新翻看
  14. Win10,Ubuntu双系统,格式化Ubuntu系统分区后启动问题
  15. Python---文件写入
  16. 兼莱宝分享:表情包项目的玩法思路,轻松在家制作表情包赚钱
  17. 【Java】一次简单实验经历——社交网络图的简化实现
  18. 爬虫:爬取糗事百科数据
  19. Matrix Theory(矩阵理论)
  20. 电路布线问题(分支限界法)

热门文章

  1. 九宫格拼图 支持44 55等
  2. 开源项目管理软件禅道使用帮助下载
  3. [转] STL中map用法详解
  4. Node — 第七天 (大事件项目接口实现一)
  5. Linux中设置vim自动在运算符号两边加上空格
  6. eclipse常用快捷键——非常实用
  7. ORACLE EBS常用表及查询语句(最终整理版)
  8. MVC-05 Model(1)
  9. tonardo做web服务器播放大视频内存泄露问题的解决
  10. 手写一个简单的WinForm程序(2)