相机模型
针孔相机模型
利用相似三角形
\(\frac{D_{世界}}{D_{相机}}=\frac{H}{F}\)
其中:
- \(D_{世界}\)为世界坐标系中的距离长度,如一本书的长宽。
- \(D_{相机}\)为相机坐标系下的距离长度,为像的大小,或在cmos底片上的大小距离。
- \(H\)为物体距离相机镜头之前的距离。
- \(F\)为相机焦距。
相机模型与像素图像之间的关系为(以水平方向举例):
\(D_{像素}=D_{相机} * \frac{1}{dx}\)
或
\(D_{相机}=D_{像素} * {dx}\)
其中\({dx}\)为像素图像中每1个像素对应相机模型中的长度。
\({dx}=\frac{W_{cmos}}{W_{pix}}\)
其中\({W_{cmos}}\)为cmos的宽度,\({W_{pix}}\)为图像像素宽度。
\({fx}\)与\({dx}\)的关系
\({dx}=\frac{F}{fx}\)
所以有
\(\frac{H}{F}=\frac{D_{世界}}{D_{相机}}\)
\({D_{相机}}=\frac{D_{世界}}{H} * {F}\)
\({D_{相机}}=D_{像素} * {dx}= D_{像素} * \frac{F}{fx}=\frac{D_{世界}}{H} * {F}\)
整理得到
\(D_{像素}=\frac{D_{世界}}{H} * {fx}\)
相机参数
- DFOV,为对角线的视场角度。
- HFOV,VFOV为水平方向(左右)和竖直(上下)方向的视场角度。
如果已知cmos的DFOV和焦距F,可以计算出cmos对角线的长度。
\(d=F* tan(\frac{DFOV}{2})\)
其中\(\frac{DFOV}{2}\)为光轴和对角线一端的夹角,则\(tan(\frac{DFOV}{2}) = \frac{d}{F}\)
其中\(2d\)则为cmos对角线的长度。