3D视觉原理-针孔相机模型

请添加图片描述

图像传感器像素位置和3D空间点位置关系可以通过相似三角形获得
x传感器图像物理位置, X目标点位置,Z是距离,f焦距
X x = Z f (1) \frac{X}{x} = \frac{Z}{f} \tag{1} xX=fZ(1)
可得
X = x ⋅ Z f (2) X = x\cdot \frac{Z}{f} \tag{2} X=xfZ(2)
同理
Y = y ⋅ Z f (3) Y = y\cdot \frac{Z}{f} \tag{3} Y=yfZ(3)
如果Z信息已知,可以从图像坐标得到物体的3D坐标X,Y

实际图像和前面的模型有些差别, 图像的坐标系原点在左上角, 镜头中心对应的像素坐标( c x c_x cx, c y c_y cy) 不是 (0, 0), 所以计算像素坐标(u,v)和3D物理坐标关系前, 先平移(u - c x c_x cx, v - c y c_y cy)
图像像素与物理坐标联系需要根据传感器物理尺寸将像素坐标乘以比例系数变成物理坐标

x = s x ⋅ ( u − c x ) (4) x = s_x\cdot(u - c_x) \tag{4} x=sx(ucx)(4)
y = s y ⋅ ( u − c y ) (5) y = s_y\cdot(u - c_y) \tag{5} y=sy(ucy)(5)
将 (4),(5) 代入公式 (2), (3)得到
X = ( u − c x ) ⋅ Z f s x (6) X = (u - c_x)\cdot \frac{Z}{\frac{f}{s_x}} \tag{6} X=(ucx)sxfZ(6)
Y = ( u − c y ) ⋅ Z f s y (7) Y = (u - c_y)\cdot \frac{Z}{\frac{f}{s_y}} \tag{7} Y=(ucy)syfZ(7)

X = ( u − c x ) ⋅ Z f x (8) X = (u - c_x)\cdot \frac{Z}{f_x} \tag{8} X=(ucx)fxZ(8)
Y = ( u − c y ) ⋅ Z f y (9) Y = (u - c_y)\cdot \frac{Z}{f_y} \tag{9} Y=(ucy)fyZ(9)
( f x f_x fx, f y f_y fy, c x c_x cx, c y c_y cy) 即为相机的内参, 可以通过对相机标定求出, 其中 f x = f s x f_x = \frac{f}{s_x} fx=sxf f y = f s y f_y = \frac{f}{s_y} fy=syf
上述表达式以矩阵形式表示即为
Z [ u v 1 ] = [ f x 0 c x 0 f y c y 0 0 1 ] [ X Y Z ] (10) Z \left[\begin{matrix}u\\v\\1\end{matrix}\right] = \left[\begin{matrix}f_x &0&c_x\\0 & f_y & c_y\\0 & 0 & 1\end{matrix}\right] \left[\begin{matrix}X\\Y\\Z\end{matrix}\right] \tag{10} Zuv1=fx000fy0cxcy1XYZ(10)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/stanshi/article/details/122882259