平面诱导单应性矩阵

平面诱导单应性矩阵

用标准针孔模型,参考相机为 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 (同一平面上对应点的像素齐次坐标)

相关推荐
Jasmine_llq1 天前
《B3865 [GESP202309 二级] 小杨的 X 字矩阵》
线性代数·矩阵·条件判断算法·枚举算法(遍历算法)·规律模拟算法
杰杰桀桀桀1 天前
4*4无时延矩阵键盘(非阻塞)--附代码链接
stm32·单片机·嵌入式硬件·矩阵·计算机外设·无时延矩阵键盘
阿Y加油吧1 天前
二分查找进阶:搜索二维矩阵 & 查找元素首尾位置 深度解析
线性代数·算法·矩阵
songyuc1 天前
【矩阵论】关于rank的几何解释:“观测者维度”
人工智能·矩阵
计算机安禾1 天前
【数据结构与算法】第33篇:交换排序(二):快速排序
c语言·开发语言·数据结构·数据库·算法·矩阵·排序算法
MediaTea2 天前
AI 术语通俗词典:矩阵乘法
人工智能·线性代数·矩阵
AI_零食2 天前
开源鸿蒙跨平台Flutter开发:研究生科研贡献雷达矩阵架构
学习·flutter·ui·华为·矩阵·开源·harmonyos
如竟没有火炬2 天前
搜索二维矩阵
数据结构·python·算法·leetcode·矩阵
6Hzlia2 天前
【Hot 100 刷题计划】 LeetCode 54. 螺旋矩阵 | C++ 模拟法题解
c++·leetcode·矩阵
AI_零食2 天前
开源鸿蒙跨平台Flutter开发:生物力学与力量周期-臂力训练矩阵架构
学习·flutter·ui·华为·矩阵·开源·harmonyos