相同相机的内在参数相同?
Posted
技术标签:
【中文标题】相同相机的内在参数相同?【英文标题】:Same intrinsic parameter for same camera? 【发布时间】:2013-09-16 12:00:25 【问题描述】:我正在开发一款移动增强现实应用。我需要使用棋盘校准来校准我的相机以获取内部和外部参数。
我是否可以假设,如果我校准我的 nexus 4,所有 nexus 将具有相同的焦距、偏斜因子和失真矩阵?
谢谢
【问题讨论】:
如果您假设所有 nexus 4 设备都具有完全相同的摄像头,是的!这里最有价值的词正是 在现实生活中,nexus4 有完全相同的相机吗?我猜没有……? 除非您需要真正的高精度,否则假设所有这些手机都进行相同的校准应该是安全的。 【参考方案1】:嗯,答案可以是“是”也可以是“否”。正如您所说,在现实生活中,没有一台相机与另一台相机完全相同,即使它们来自同一制造商。但是,为了让我们的生活更轻松,是的,我们使用这种简化,即使对于摄影测量/计算机视觉项目,精度要求也相当高。
【讨论】:
【参考方案2】:大多数相机都带有编码到相机管道中的不失真操作,因此您很可能根本不需要搜索失真参数。只需检查图像外围的直线是否真的是直的。我希望偏斜接近于零并且 fx=fy 因为像素是方形的。
除了您提到的参数外,还有两个主要点 Cx、Cy(光轴与传感器的交点通常接近 w/2、h/2)。所以总的来说,你只有 3 个参数:F、Cx、Cy,第一个参数在同一型号的手机中变化最大(根据我的经验)。如果您不使用手机来计算另一个相机的相对位置,您很可能只需要准确了解焦距。
显然,当您需要担心单个参数时,有更简单的方法来获取它,而不是使用棋盘装置并尝试找到除内在参数之外的外在参数。即使没有测量,您也可以计算出来 - 只需获取相机视野(例如 getHorizontalViewAngle())并使用
tan(fov) = image_width/2 / f
或者你可以做一个简单的测量,让你的手机与目标平行:对于一个大小为 H 的垂直目标,它产生 h 像素的图像,你得到 f
f/z = h/H
【讨论】:
【参考方案3】:嗯...如果这个相机有内置的自动对焦,焦距会一直改变
【讨论】:
以上是关于相同相机的内在参数相同?的主要内容,如果未能解决你的问题,请参考以下文章