2016-07-07 96 views
6

我们在过去几年中开发了自己的自定义标记跟踪技术。该跟踪器将OpenCV用于许多图像处理功能。它已被设计为使用USB和GigE相机在PC系统(Windows和Linux)上工作,但现在我们想修改它以使用Hololens相机在Hololens上工作。理想情况下,使用Hololens深度传感器,但让我们坚持彩色图像的这篇文章。在Hololens中使用OpenCV

  1. Hololens有一个CPU,一个GPU加上一个微软制造的HPU用于图像处理/全息计算,我相信。因此,有没有可以充分利用这种硬件的OpenCV?我怀疑是否有,我做了一些搜索,但无论如何,这是我的问题!

  2. 是否有可以在Hololens GPU/HPU上运行的OpenCL(CL,不是CV)实现?因为OpenCV可以使用该实现。

  3. 我知道Hololens使用新的UWP(通用Windows平台)范例或在Microsoft生态系统中的任何位置运行的应用程序。有没有可以在这方面使用的只有CPU的OpenCV版本?

非常感谢!

+3

Hololens上有趣的OpenCV示例:https://github.com/EnoxSoftware/HoloLensWithOpenCVForUnityExample – hilzj

回答

-2

嘿,这将是我在hololens中使用openCV的下一个项目。如果你正在开发hololens,我假设你使用Unity。如果你检查统一市场,有很多opencv工具是为了统一。我过去使用它,并且它坚实。希望不会有任何问题让他们在hololens工作

+1

问题不在于Unity。 – RCYR

2

有一个NuGet包,你可以从视觉工作室获得称为OpenCV-HoloLens通过Sylvain Prevost。这是一个UWP Dll,您可以将其纳入HoloLens C++项目中。

基本上,你所要做的就是创建一个新项目 - > Windows Universal - > DLL,然后导入NuGet包,一旦完成,你可以构建项目并进入你的项目文件夹并从你的DLL文件中获取那里。

我假设以前的答案只是假设你使用的是Unity,因为这是大多数开发人员正在使用的,所以我也会为Unity用户提供一个答案。

对于使用Unity的人来说,这个DLL也可以导入Unity。但是,由于Unity不支持UWP插件,因此您无法在编辑器中运行它,但仍然可以将其构建到HoloLens中。构建项目后,您需要做的就是在Unity中创建一个名为Plugins的新文件夹,并将您项目中的所有DLL文件放入此文件夹中。

为了从DLL与您的Unity脚本进行通信,您需要在DLL项目中创建一个C++文件(在编译之前),并且从那里开始编译插件后可以使用extern方法,并且能够在Unity中使用它们。