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