在过去的几年里,我们开发了自己的自定义标记跟踪技术。该跟踪器使用OpenCV进行许多图像处理功能。它被设计为在使用USB和GigE相机的PC系统(Windows和Linux)上运行,但现在我们想修改它以使用Hololens相机在Hololens上工作。理想情况下,使用Hololens深度传感器,但让我们坚持使用本文的彩色图像。
-
我相信Hololens有一个CPU,一个GPU和一个Microsoft制造的HPU,用于图像处理/全息计算。因此,是否有任何OpenCV版本可以充分利用这种硬件?我怀疑有,我确实进行了一些搜索,但无论如何这是我的问题!
-
是否有任何可以在Hololens GPU/HPU上运行的OpenCL(CL,而不是CV)实现?因为OpenCV可以使用这种实现。
-
我知道Hololens使用新的UWP(通用Windows平台)范式或在Microsoft生态系统上任何地方运行的应用程序。在这方面,是否有任何仅限CPU的OpenCV版本可以使用?
谢谢!
NuGet包,你可以从Sylvain Prevost的Visual Studios获得,称为OpenCV-HoloLens。它是一个UWP Dll,你可以将其合并到HoloLens C++项目中。
基本上,您所要做的就是创建一个新项目 -> Windows 通用 -> DLL,然后在完成后导入 NuGet 包,您可以生成项目并进入项目文件夹并从那里获取 DLL 文件。
我假设之前的答案只是假设您使用的是 Unity,因为这是大多数开发人员正在使用的,所以我也将为 Unity 用户提供一个答案。
对于使用 Unity 的用户,此 Dll 也可以导入到 Unity 中。但是,您将无法在编辑器中运行它,因为 Unity 不支持 UWP 插件,但您仍然可以将其构建到 HoloLens 中。构建项目后,您需要做的就是在 Unity 中创建一个名为插件的新文件夹,并将项目中的所有 DLL 文件放入此文件夹中。
为了从 DLL 到 Unity 脚本进行通信,您可以在 DLL 项目中创建一个C++文件(在编译之前),然后从那里您可以创建 extern 方法,您可以在编译插件后使用这些方法,并能够在 Unity 中使用它们。
我在hololens中使用openCV的下一个项目。如果你正在为Hololens开发,我假设你使用Unity。如果你检查一下 Unity 市场,就会发现有很多 opencv 工具是为 Unity 制作的。我过去用过它,它的固体。希望让它们在全息镜头中工作不会有问题