【问题标题】:Getting projected Image pixel locations获取投影图像像素位置
【发布时间】:2014-08-05 06:02:18
【问题描述】:

我正在撰写一篇论文,该论文需要一个模块来获取投影图像(投影仪投影的图像)的像素区域。我有一个想法,但我认为它不可行和准确,因为我没有任何计算机视觉经验,让我解释一下这个想法。

要获取投影图像中某个文件的像素区域或位置。

  1. 用相机捕捉投影图像。
  2. 将捕获图像的分辨率转换为投影仪的分辨率。
  3. 获取捕获图像中的文件位置/像素区域。

我还没有尝试过这个想法,因为我现在没有投影仪。哦,我正在用 C++ 开发我的系统。论文基本上是一个交互式投影图像,提供类似触摸屏的功能。

为了清楚起见,我要做的是将计算机的屏幕投影到投影仪中,然后用相机捕获/记录它并获取投影图像的像素位置。问题是如何获得投影图像中的图像像素位置,因为它在现实世界中并且它的属性将被转换,例如它的大小和尺寸?

如果您认为这个想法不可行,请抽出一些时间来评论原因,如果可能的话,请您给我一个关于如何处理问题的想法。我愿意接受任何建议。

我很乐意回答任何问题。

【问题讨论】:

  • 类似于reactable ?
  • 它很像一个手势识别系统,我只是用类似触摸屏的功能对其进行了创新。这就是我遇到这个问题的原因。

标签: c++ image opencv camera projector


【解决方案1】:

因此,如果您知道投影图像大小,我假设在您的问题中 (2.) 是正确的,那么您可以简单地使用归一化坐标 x' = (x / width), y' = (y /高度)。然后您可以通过恢复 x = (x'*width), y = (y'height) 来转换任意大小图像之间的位置。会有一些舍入误差,但这是无法避免的。

干杯

编辑:还假设中心对齐。

【讨论】:

  • 所以您基本上认为我从 1 到 2 的想法可能会奏效,而您所说的那些将在第 3 步应用?如果我错了,请纠正我。
  • 好吧,如果它们的中心完全对齐,那么使用归一化坐标就没有问题,但是在实际系统中你会发现。需要找到它们之间的单应性(映射)。即像这样docs.opencv.org/doc/tutorials/features2d/feature_homography/…,或者有一个很好的校准设置,这样你就可以提前知道映射。
  • 我读过一些关于映射的东西,但我没有仔细阅读,感谢您指出它现在我有一个前进的方向,感谢它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 1970-01-01
  • 2013-02-19
相关资源
最近更新 更多