OpenCV学习:为何相机内参中的焦距分为fx和fy?

先说结论:

引入了两个不同的焦距,原因是单个像素在低价成像装置上是矩形而不是正方形。

大致理解:

以CMOS传感器为例,事实上我们在讨论相机内参的几个参数时,用的都是像素坐标,单位为(pixel),但若是CMOS上的单个像素长宽不同,则其在x、y方向上每个像素单位对应的实际长度不同,相当于x、y轴的比例尺不同,因此焦距f对应到这两个方向上也会是不同的。

具体论证:

设单个像素的长为p_{x},宽为p_{y},单位为(mm);

设x/y方向上每mm包含的像素数为s_{x} / s_{y},单位为(pixel/mm);

则x方向的焦距f_{x} = s_{x} \times f,y方向的焦距f_{y} = s_{y} \times f,单位为(pixel);

p_{x} = p_{y}时,f_{x} = f_{y} = f,对应单个像素长宽比相同的情况,这时的 f_{x}f_{y} 可以统一;

而当单个像素长宽比不同,p_{x}\neq p_{y},有s_{x}\neq s_{y},故f_{x} \neq f_{y}

因此我们必须分别用f_{x}f_{y}分别区分x、y方向的焦距。

猜你喜欢

转载自blog.csdn.net/Eason_Y/article/details/127645651