2016-07-07 7 views
6

Wir haben in den letzten Jahren unsere eigene Tracking-Technologie für benutzerdefinierte Marker entwickelt. Dieser Tracker verwendet OpenCV für viele Bildverarbeitungsfunktionen. Es wurde entwickelt, um auf PC-Systemen (Windows und Linux) mit USB- und GigE-Kameras zu arbeiten, aber jetzt möchten wir es ändern, um mit Hololens-Kameras an Hololens zu arbeiten. Verwenden Sie Hololens Tiefensensoren am besten, aber bleiben Sie dabei, um Bilder für diesen Beitrag zu färben.Verwendung von OpenCV in Hololens

  1. Hololens hat eine CPU, eine GPU und ein Microsoft gemacht HPU für Bildverarbeitung/holographische Berechnung, glaube ich. Gibt es OpenCV-Builds, die diese Art von Hardware vollständig ausnutzen? Ich bezweifle es, und ich habe einige Suchen gemacht, aber hier ist meine Frage sowieso!

  2. Gibt es eine OpenCL-Implementierung (CL, nicht CV), die auf der Hololens GPU/HPU ausgeführt werden kann? Weil OpenCV diese Implementierung verwenden könnte.

  3. Ich weiß, dass Hololens das neue UWP (Universal Windows Platform) Paradigma oder eine App verwendet, die überall im Microsoft-Ökosystem läuft. Gibt es eine CPU nur Build von OpenCV, die in dieser Hinsicht verwendet werden könnte?

Vielen Dank!

+3

Interessantes Beispiel für OpenCV auf Hololens: https://github.com/EnoxSoftware/HoloLensWithOpenCVForUnityBeispiel – hilzj

Antwort

-2

Hey, es wird mein nächstes Projekt sein, um openCV in Hololens zu verwenden. Wenn Sie für Hololens entwickeln, nehme ich an, dass Sie Unity verwenden. Wenn Sie den Einheitsmarkt überprüfen, gibt es eine Reihe von opencv-Tools, die für die Einheitlichkeit sorgen. Ich habe es in der Vergangenheit benutzt und es ist solide. Hoffe, es wird keine Probleme machen, sie in Hololens arbeiten

+1

Die Frage war nicht über Unity. – RCYR

2

Es gibt ein NuGet-Paket, das Sie von Visual Studios erhalten können, genannt OpenCV-HoloLens von Sylvain Prevost. Es ist eine UWP Dll, die Sie in Ihr HoloLens C++ Projekt einbinden können.

Im Grunde müssen Sie nur ein neues Projekt erstellen -> Windows Universal -> DLL und dann das NuGet-Paket importieren. Sobald dies erledigt ist, können Sie das Projekt erstellen und in Ihre Projektordner gehen und Ihre DLL-Dateien abrufen Dort.

Ich gehe davon aus, dass die vorherige Antwort nur angenommen hat, dass Sie Unity verwenden, da dies die Mehrheit der Entwickler ist, daher werde ich auch eine Antwort für Unity-Benutzer hinzufügen.

Für Benutzer, die Unity verwenden, kann diese DLL auch in Unity importiert werden. Sie können es jedoch nicht im Editor ausführen, da Unity UWP-Plugins nicht unterstützt, Sie können es jedoch trotzdem auf den HoloLens-Systemen erstellen. Sobald Sie das Projekt erstellt haben, müssen Sie nur einen neuen Ordner in Unity namens Plugins erstellen und alle Ihre DLL-Dateien aus Ihrem Projekt in diesen Ordner kopieren.

Um von der DLL zu Ihren Unity-Skripten zu kommunizieren, erstellen Sie eine C++ - Datei im DLL-Projekt (vor dem Kompilieren) und von dort können Sie externe Methoden erstellen, die Sie nach dem Kompilieren der Plugins verwenden können fähig, sie in Unity zu verwenden.