相机与世界(一)

齐次坐标系

引入齐次坐标可以让级联的仿射变换变成矩阵连乘。n+1维齐次坐标是对n维奇卡尔坐标的扩展。
[ x y ] = [ x y 1 ] = [ 2 x 2 y 2 ] = [ w x w y w ] \begin{bmatrix} x\\y \end{bmatrix}= \begin{bmatrix} x\\y\\1 \end{bmatrix}= \begin{bmatrix} 2x\\2y\\2 \end{bmatrix}= \begin{bmatrix} wx\\wy\\w \end{bmatrix} [xy]=xy1=2x2y2=wxwyw
转换关系如上公式所示,齐次坐标系与笛卡尔坐标系的转换关系是第i维除以最后一维。
示例(from: https://www.cnblogs.com/shine-lee/p/10950963.html)
在这里插入图片描述

相机与世界

世界坐标系to相机坐标系

世界坐标系(X, Y, Z):世界中的某一个坐标系

相机坐标系(Xc, Yc, Zc):相机光轴向外为z正方向,向左为x正方向,向上为y正方向
由旋转+平移得到。
[ X c Y c Z c ] = R [ X Y Z ] + t \begin{bmatrix} Xc\\Yc\\Zc \end{bmatrix}=\mathbf{R} \begin{bmatrix} X\\Y\\Z \end{bmatrix}+\mathbf{t} XcYcZc=RXYZ+t
齐次坐标:
[ X c Y c Z c 1 ] = [ R t 0 ⊺ 1 ] [ X Y Z 1 ] \begin{bmatrix} Xc\\Yc\\Zc\\1 \end{bmatrix}= \begin{bmatrix} \mathbf{R}&\mathbf{t}\\\mathbf{0}^ \intercal&1 \end{bmatrix} \begin{bmatrix} X\\Y\\Z\\1 \end{bmatrix} XcYcZc1=[R0t1]XYZ1

相机坐标系to图像物理坐标系to图片像素坐标系

图像物理坐标系( x p , y p , z p x_p,y_p,z_p xp,yp,zp):呈现在图像上的、单位距离改变的坐标系.几何关系见下图
图像像素坐标系 ( x , y , z x,y,z x,y,z):图片物理坐标系的原点改变,因为一般图片原点都在图片的左上角
在这里插入图片描述
在这里插入图片描述
由相似三角形知识可得:
λ [ x p y p f ] = [ X c Y c Z c ] \lambda \begin{bmatrix} x_p\\y_p\\ f \end{bmatrix}= \begin{bmatrix} X_c\\Y_c\\Z_c \end{bmatrix} λxpypf=XcYcZc
引入齐次坐标系:
[ x p y p f ] = [ X c Y c Z c 1 ] = [ X c Y c Z c 1 ] = [ 1 0 0 0 0 1 0 0 0 0 1 0 ] [ X c Y c Z c 1 ] \begin{bmatrix} x_p\\y_p\\ f \end{bmatrix}= \begin{bmatrix} X_c\\Y_c\\Z_c\\1 \end{bmatrix}= \begin{bmatrix} X_c\\Y_c\\Z_c\\1 \end{bmatrix}= \begin{bmatrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&0 \end{bmatrix} \begin{bmatrix} X_c\\Y_c\\Z_c\\1 \end{bmatrix} xpypf=XcYcZc1=XcYcZc1=100010001000XcYcZc1
得:
[ x p y p 1 ] = [ f 0 0 0 f 0 0 0 1 ] [ x p y p 1 ] = [ f 0 0 0 f 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 ] [ X c Y c Z c 1 ] \begin{bmatrix} x_p\\y_p\\ 1 \end{bmatrix}= \begin{bmatrix} f&0&0\\ 0&f&0\\0&0&1 \end{bmatrix} \begin{bmatrix} x_p\\y_p\\ 1 \end{bmatrix}= \begin{bmatrix} f&0&0\\ 0&f&0\\0&0&1 \end{bmatrix} \begin{bmatrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&0 \end{bmatrix} \begin{bmatrix} X_c\\Y_c\\Z_c\\1 \end{bmatrix} xpyp1=f000f0001xpyp1=f000f0001100010001000XcYcZc1
由于是矩阵乘法,所以不做精确推导了,直接给出最后的转换关系:
[ x y 1 ] = [ f 0 0 0 f 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 ] [ R t 0 ⊺ 1 ] [ X Y Z 1 ] \begin{bmatrix} x\\y\\ 1 \end{bmatrix}= \begin{bmatrix} f&0&0\\ 0&f&0\\0&0&1 \end{bmatrix} \begin{bmatrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&0 \end{bmatrix} \begin{bmatrix} \mathbf{R}&\mathbf{t}\\\mathbf{0}^ \intercal&1 \end{bmatrix} \begin{bmatrix} X\\Y\\Z\\1 \end{bmatrix} xy1=f000f0001100010001000[R0t1]XYZ1
得:
x = K [ R ∣ t ] X \mathbf{x}=\mathbf{K[R|t]X} x=K[Rt]X
其中K称为相机的内参、R/t称为相机外参
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值