使用OpenCV将点从一个图像平面转换为另一个平面

时间:2012-10-20 05:56:51

标签: opencv

我正在尝试校准相机,这样我就可以在相机图像上取一个任意点并将其转换为另一个2D平面(房间的地板),这样我就可以准确地找出物体在哪里地板相对于地板上的其他点。

到目前为止,我已经看过几种使用OpenCV的不同方法,但我不清楚哪种方法最好..

  1. 计算基本矩阵,关联两个平面上的点。这种方法看起来很简单,但是一旦我有了基本矩阵,我不确定如何对点进行转换。
  2. 使用单应变换。同样似乎有可能在两个平面上以不同的视角关联点
  3. 计算透视变换
  4. 查找外部摄像头参数(看起来这种方法可能需要比我可用的更多信息)
  5. 这里的正确方法是什么?这似乎是一个非常普遍的问题。

1 个答案:

答案 0 :(得分:3)

使用单应变换,如果提供4个间距很大的点,则findHomography生成的变换将非常适合您的需要。然后,您可以使用perspectiveTransform应用转换。