使用OpenCV将图像投影到笔记本上

时间:2014-04-02 10:54:59

标签: opencv computer-vision projection homography

我正在尝试使用OpenCV,网络摄像头和投影仪实现将图像投影到笔记本页面上的应用程序。为此,我正在执行以下步骤:

  1. 我正在使用网络摄像头来检测页面的四个角点。
  2. 在相机图像的四个角点和我在桌子上的投影之间学习单应性,,如相机中所示。通过使用逆变换,我将能够知道我应该在相机图像上绘制某些内容,以便投影“最终”到达所需位置。
  3. 我将逆变换应用于检测到的页面的四个角点。
  4. 我正在将所需的图像变形为新的,转换过的点集。
  5. 到目前为止,如果笔记本电脑放在我的桌子上并且大开,那么效果很好。就像在这张图片中一样:

    enter image description here

    但如果我试图关闭一方(或两方),会发生以下情况:

    enter image description here

    看到问题?在第一张图片中,图像与页面边缘完美对齐,如果您旋转或翻译笔记本,同时将其保留在桌面上,则图像保持不变。但是在第二张图像中不会发生这种情况,图像的上边缘不再与页面的上边缘平行(图像变得越来越倾斜)。

    任何人都可以解释为什么我会遇到这个预测问题,或者至少指出一些我可以阅读它的资源?我需要提一下,投影机和网络摄像头位于笔记本电脑的上方和左侧,而不是正上方。

    欢迎任何提示或建议。谢谢!

1 个答案:

答案 0 :(得分:1)

您想要一种称为关键石头修正的效果。您遇到的问题很可能是由于网络摄像头和投影仪的光轴,位置和焦距不同。我建议您校准您的设置,以便了解它们的相对姿势,并将其合并到您的逆Homography中。