【发布时间】:2018-09-27 17:18:43
【问题描述】:
您能否将 USB 摄像头用于 Spectator View 装备并覆盖 OpenCV 用于获取摄像头馈送的脚本之一?
我认为这是关于 Microsoft HoloLens 支持的旁观者视图的第一个 StackOverflow 问题,因为我检查过一次,看看是否还有其他问题在这里讨论它,但看起来不像。
无论如何,according to the documentation here,要在部署到多个 Microsoft HoloLens 的基于 Unity 的 UWP 应用上启用旁观者视图,我需要从四种不同的方式中选择一种来实时捕捉来自摄像头的视频源:
- OpenCV 3.2
- DeckLink 采集卡
- Elgato 采集卡
- 佳能 SDK
在这个旁观者视图设置中,我为一个处于保密协议下的项目设置,我使用的是 OpenCV 3.2。我使用的是联想 ThinkPad 笔记本电脑作为 Spectator View 的集线器。
详细地说,它运行 Unity 编辑器,该编辑器包含我需要在 Inspector 中查看的 Spectator View Manager 组件,以便构建、安装和启动我拥有的两个 HoloLens 耳机将用于查看共享、锚定的应用程序空间放置的全息图。编辑器还具有合成器界面,我需要将相机看到的内容与 Unity 场景必须的虚拟相机重叠,以创建输出到投影仪或电视机的视频源。最后,我有一个来自 Microsoft 的混合现实工具包的可执行文件,称为共享服务,它基本上运行一个服务器程序来动态交换全息图的变换,就好像这些是在真实环境中放置的一样。
现在,联想 ThinkPad 无法接入任何采集卡,因为没有内部扩展端口。笔记本电脑没有HDMI输入端口;只输出。因此,当我开始在 Unity Editor 上运行应用程序时,我确实在 Compositor 界面中获得了视频输入和 Unity 视图输入,但视频输入来自 Lenovo ThinkPad 提供的内置摄像头。我想做的是改用其他相机,最好是可以使用 USB 连接到我的笔记本电脑的 DSLR 相机。
通过在我需要的库中使用 OpenCV 3.2 作为主要依赖项,我可以修改它接受来自 USB 摄像头的视频流的脚本之一吗?
【问题讨论】:
-
在您的情况下避免使用共享服务可能会更好。我会改为使用 UNET 进行设置。这样您就不需要外部服务器,只需将两个 HoloLens 用作主机/服务器和客户端,只需将您的提要运行到电视、计算机等。
-
这是一条有效的评论。但是我需要坚持我现在得到的东西,所以我以后必须把它留给团队。这里的最终目标是在项目中简单地部署 Spectator View,并担心以后可能的升级和进一步设置。这对我们来说是一个艰难的开始。
-
实际上,@Dtb49,我不认为这就是旁观者视图的工作方式。 Spectator View 涉及一台计算机作为服务器,因为只有 Unity 编辑器可以通过 Compositor 界面从 Spectator View 装备收集视频馈送和全息图。我需要那个界面,以便将其投影到大屏幕上供观众观看。
-
自述文件的第一行说:“这些说明适用于旁观者视图的 UNET 实现对于 HoloToolkit 共享服务实现,请参阅旧文档。”
-
是的,您必须通过编辑器运行合成器,然后运行到您的投影仪或其他任何东西,我认为这部分已被理解。但是使用 UNET,除此之外您不需要外部服务器,因为这一切都是通过 HoloLens 完成的。
标签: opencv unity3d hololens windows-mixed-reality