失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 3D视觉原理-针孔相机模型

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

时间:2024-04-15 11:49:46

相关推荐

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=x⋅fZ​(2)

同理

Y = y ⋅ Z f (3) Y = y\cdot \frac{Z}{f} \tag{3} Y=y⋅fZ​(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​⋅(u−cx​)(4)

y = s y ⋅ ( u − c y ) (5) y = s_y\cdot(u - c_y) \tag{5} y=sy​⋅(u−cy​)(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=(u−cx​)⋅sx​f​Z​(6)

Y = ( u − c y ) ⋅ Z f s y (7) Y = (u - c_y)\cdot \frac{Z}{\frac{f}{s_y}} \tag{7} Y=(u−cy​)⋅sy​f​Z​(7)

X = ( u − c x ) ⋅ Z f x (8) X = (u - c_x)\cdot \frac{Z}{f_x} \tag{8} X=(u−cx​)⋅fx​Z​(8)

Y = ( u − c y ) ⋅ Z f y (9) Y = (u - c_y)\cdot \frac{Z}{f_y} \tag{9} Y=(u−cy​)⋅fy​Z​(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​=sx​f​, f y = f s y f_y = \frac{f}{s_y} fy​=sy​f​

上述表达式以矩阵形式表示即为

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} Z⎣⎡​uv1​⎦⎤​=⎣⎡​fx​00​0fy​0​cx​cy​1​⎦⎤​⎣⎡​XYZ​⎦⎤​(10)

如果觉得《3D视觉原理-针孔相机模型》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。