求解相机内参矩阵时为何得到两个不同的焦距f值?
相机内参中fx/fy与物理焦距f的区别
你搞混了物理焦距f和像素单位的焦距fx、fy:
- 物理焦距f是相机镜头的固有属性,确实是同一个值,单位一般是毫米。
- 内参里的
mxf(对应fx)和myf(对应fy),是物理焦距f分别乘以x、y方向的像素缩放因子得到的:- fx = f × (1/sx),sx是传感器x方向单个像素的物理尺寸(比如微米/像素)
- fy = f × (1/sy),sy是传感器y方向单个像素的物理尺寸
- 如果传感器的像素是正方形的,sx和sy相等,那fx和fy就会一样;但不少传感器(比如早期CCD、部分工业相机)的像素不是正方形,这时候fx和fy就会出现差异。
MATLAB求解出的mxf和myf是像素单位的焦距,它们的不同反映的是传感器x、y方向的像素密度差异,而物理层面的焦距f始终是同一个值。
内容的提问来源于stack exchange,提问作者Rohaan Manzoor
相关产品推荐
相关产品推荐

