我的任务是创建一个增强现实应用程序,它的 GUI 与这个类似(覆盖路径和 FollowMe 概念)。该任务的有趣部分是应用程序应该在 Qt 框架的帮助下在桌面操作系统(Debian/Ubuntu)上完成。Python 是应用程序的首选语言。
因此,与上述移动应用程序的最大区别在于,我的应用程序将使用插入 PC 的 USB 摄像头。
我尝试了几种不同的方法,但似乎都没有满足要求:
- 这个例子 不起作用;
- 该解决方案 使用“两层”方法,但是当我尝试渲染上部小部件时,它完全覆盖了底部小部件;
- 这个解决方案 有效,但它有两个缺点:
OpenCV
主要用途不是视频流渲染(错误的工具,我想GStreamer
可能更适合),而且它只渲染简单的 4 点形状,它不允许任何复杂的带孔的多边形;
我还浏览了诺基亚的 Qt camerality源代码,但似乎这个问题在 Symbian 上以完全不同的方式解决,这在 PC 上不适用(嵌入式摄像头 API 与 PC 上的通用 USB 摄像头)。
我倾向于认为这个问题可以分为两个问题:
- 在 Qt PC 应用程序中渲染相机视频流的最佳方式是什么?
- 在 Qt PC 应用程序中的相机视频流上叠加动画 3D 图像(可能是 OpenGL 生成)的最佳方法是什么?