【问题标题】:Convert grid of dots in XY plane from camera coordinates to real world coordinates将 XY 平面中的点网格从相机坐标转换为真实世界坐标
【发布时间】:2017-12-18 17:09:27
【问题描述】:

我正在编写一个程序。比如说,我在一张纸上有一个网格点。我固定一端并将纸张向屏幕弯曲,从相机的角度来看,我的形状是梯形的。我有每个点的(x,y)相机坐标。有没有一种简单的方法可以将这些(x,y)更改为现实生活中的(x,y),这应该给我一个矩形?如果有帮助,我会预先弯曲原始平板纸的相机/真实 (x,y)。

我看过3D Camera coordinates to world coordinates (change of basis?)Transforming screen coordinates from security camera to real world coordinates

【问题讨论】:

  • 更多关于语言、实现和遇到的问题的信息会有所帮助。

标签: camera computer-vision coordinate-systems projective-geometry


【解决方案1】:

查找“单应性”。从 3D 空间中的平面到理想针孔相机捕获的图像的转换是单应性。它可以表示为一个 3x3 矩阵 H,它将世界中点的 3D 坐标 X 转换为它们对应的齐次图像坐标 x:

x =  H * X

其中 X 是世界点坐标的 3x1 向量,x = [u, v, w]^T 是齐次坐标中的图像点。

假设世界和图像点之间至少有 4 个匹配项(例如矩形的角),您可以估计矩阵 H 的参数。有关详细信息,请查看“DLT 算法”。在 OpenCV 中,要使用的例程是 findHomography

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多