平面诱导单应性矩阵

平面诱导单应性矩阵

用标准针孔模型,参考相机为 P1=K1[I∣0]P_1 = K_1[I\mid 0]P1=K1[I∣0],目标相机为 P2=K2[R∣t]P_2 = K_2[R\mid t]P2=K2[R∣t],平面方程在参考相机坐标系里是 N_c\^\\top X + d = 0

  • 像素到参考相机坐标:X=Z K1−1x1X = Z\,K_1^{-1} x_1X=ZK1−1x1,其中 x1=[u1,v1,1]⊤x_1 = [u_1,v_1,1]^\topx1=[u1,v1,1]⊤。

  • 把 XXX 代入平面方程,解出该点的深度:
    Nc⊤(ZK1−1x1)+d=0  ⇒  Z=−dNc⊤K1−1x1. N_c^\top (Z K_1^{-1} x_1) + d = 0 \;\Rightarrow\; Z = -\frac{d}{N_c^\top K_1^{-1} x_1}. Nc⊤(ZK1−1x1)+d=0⇒Z=−Nc⊤K1−1x1d.

    也即 X=−dNc⊤K1−1x1 K1−1x1X = -\dfrac{d}{N_c^\top K_1^{-1} x_1}\,K_1^{-1}x_1X=−Nc⊤K1−1x1dK1−1x1。

  • 投到目标相机:x2∼K2 (RX+t)x_2 \sim K_2\,(R X + t)x2∼K2(RX+t)。代入上面的 XXX:
    x2∼K2 ⁣(R(−dNc⊤K1−1x1K1−1x1)+t)=K2 ⁣(−dNc⊤K1−1x1RK1−1x1+t). x_2 \sim K_2\!\left(R \Bigl(-\frac{d}{N_c^\top K_1^{-1} x_1}K_1^{-1}x_1\Bigr) + t\right) = K_2\!\left(-\frac{d}{N_c^\top K_1^{-1} x_1} R K_1^{-1}x_1 + t\right). x2∼K2(R(−Nc⊤K1−1x1dK1−1x1)+t)=K2(−Nc⊤K1−1x1dRK1−1x1+t).

  • 提取分母并合并到矩阵右乘:
    x2∼K2(R−t Nc⊤d)K1−1x1. x_2 \sim K_2 \left(R - \frac{t\,N_c^\top}{d}\right) K_1^{-1} x_1. x2∼K2(R−dtNc⊤)K1−1x1.

    这就得到平面诱导单应矩阵
    H=K2(R−t Nc⊤d)K1−1, H = K_2 \left( R - \frac{t\,N_c^\top}{d} \right) K_1^{-1},H=K2(R−dtNc⊤)K1−1,

    使得x2∼Hx1x_2 \sim H x_1x2∼Hx1 (同一平面上对应点的像素齐次坐标)

相关推荐
WitsMakeMen19 小时前
用矩阵实例具象化 RankMixer 核心机制
人工智能·线性代数·矩阵·llm
程序员-King.20 小时前
day128—二分查找—搜索二维矩阵(LeetCode-74)
leetcode·矩阵·二分查找
你要飞1 天前
考研线代第四课:线性方程组
笔记·线性代数·考研·矩阵
恶魔泡泡糖2 天前
51单片机矩阵按键
c语言·算法·矩阵·51单片机
赵域Phoenix2 天前
图网络的度矩阵D/邻接矩阵A/拉普拉斯矩阵L以及图中的节点如何各自保存更新节点特征
线性代数·矩阵
求梦8202 天前
【力扣hot100题】搜索二维矩阵II(16)
算法·leetcode·矩阵
Matlab光学2 天前
MATLAB仿真:从平面到立体! 3D 曲线光束塑形技术,微观操控再升级
平面·3d
小雨下雨的雨2 天前
Flutter鸿蒙共赢——逻辑的繁花:初等元胞自动机与 Rule 7 的矩阵美学
线性代数·flutter·华为·矩阵·交互·harmonyos·鸿蒙系统
知乎的哥廷根数学学派2 天前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
你要飞3 天前
考研线代第三课:向量组
笔记·线性代数·考研·矩阵