【问题标题】:Can I convert screen coord to camera coordinate using this procedure?我可以使用此过程将屏幕坐标转换为相机坐标吗?
【发布时间】:2011-12-14 02:41:45
【问题描述】:

我想使用 opencv 从像素/屏幕坐标中找到相机坐标。

假设我的相机经过校准,我得到了内在参数(焦距和主点的矩阵) 和使用opencv的外在参数(旋转和平移矩阵)。然后this website 用于 3d 用 opencv 重建 说:

s * [q  1]^{Transpose} = [K] * [([R] * P) + T]

其中[q] 是二维像素坐标,s = 1K 是 (3x3) 固有矩阵,R 是 (3x3) 旋转矩阵,P 是 (3x1) 在世界坐标中,T 是 (3x1) 平移矩阵。

所以:

[R]^{-1} * ( [ [K]^{-1} * [q  1 ]^{Transpose} ] - [T] ) = [P]

然后:

[U] = ([R] * [P]) + [T]

[U] 在相机坐标中是 (3x1)。所以现在像素坐标中的[q] 将是 转换为相机坐标[U]

像这样将像素坐标转换为相机坐标是否正确?旋转矩阵 ([R]) 或内在矩阵 ([K]) 是否总是可逆的?或者是 有时旋转矩阵和/或固有矩阵不能反转?

可以确认一下吗?

【问题讨论】:

    标签: opencv camera screen coordinate


    【解决方案1】:

    懒得给你查了(其实你应该测试一下,有问题可以来这里求助)。

    但是你可以使用这个漂亮的代码 sn-p:它不是你想要的,但基本原理是正确的:

    Opencv virtually camera rotating/translating for bird's eye view

    【讨论】:

    • 感谢 vasile 的帮助。我自己试试。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多