computer-vision - 为什么相机内在矩阵中的焦距有两个维度?

标签 computer-vision camera-calibration perspectivecamera

pinhole camera model主点和相机中心之间只有一个焦距。

然而,在计算相机的内在参数后,矩阵包含

(fx,  0,  offsetx,  0,
 0,  fy,  offsety,  0,
 0,   0,  1,        0)

这是因为图像传感器的像素在 x 和 y 上不是方形的吗?

谢谢你。

最佳答案

简而言之:是的。为了建立一个可以用矩形像素描述相机的数学模型,你必须引入两个独立的焦距。我将引用经常推荐的“Learning OpenCV”(第 373 页),它很好地涵盖了该部分,如果您想了解更多背景信息,我建议您阅读:

The focal length fx (for example) is actually the product of the physical focal length of the lens and the size sx of the individual imager elements (this should make sense because sx has units of pixels per millimeter while F has units of millimeters, which means that fx is in the required units of pixels). [...] It is important to keep in mind, though, that sx and sy cannot be measured directly via any camera calibration process, and neither is the physical focal length F directly measurable. Only the combinations fx = F*sx and fy = F*sy can be derived without actually dismantling the camera and measuring its components directly.

关于computer-vision - 为什么相机内在矩阵中的焦距有两个维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16329867/

相关文章:

c++ - 您如何判断图片中物体的(现实世界)距离?

image-processing - 开放式人脸识别 - 给画廊中不存在的查询人脸打多少分?

machine-learning - 卷积神经网络 (CNN) 的训练和验证准确性突然下降

matlab - 如何将输入安排为matlab的Extrinsics()函数的对象?

three.js - 三人组 : compute projected coordinate in fragment shader

OpenCV:如何检测图像上的菱形?

opencv - 解决相机不良的反馈(水平线上下移动几条阴影)

opencv - 相机系统的真正起源在哪里?

python - 将纬度、经度和高度转换为平面 3D 空间中的点

opencv - 真实比例的3D重建