MRが楽しい

MRやVRについて学習したことを書き残す

HoloLensでOpenCVの画像処理を利用する

本日はhololensで使える技術調査です。面白そうなhololensの記事を見つけました。
・HoloLensでOpenCVForUnityを使ってみる
 http://noshipu.hateblo.jp/entry/2017/02/16/203515

OpenCVで処理した映像をそのまま視界に反映できるのはhololensならではと言えます。
手順に従い、プロジェクトを作成してみました。

因みに全てインポートするとファイルサイズが500Mを超えるアセットとなっています。
インストール時に不要なプラットフォームは削除するのが吉です。
・「OpenCV for Unity」Assetのインポートサイズを削減する方法
 http://qiita.com/utibenkei/items/eee141cd2f1656b19cc2

インポート時の以下がhololens利用時に必要なプラグインかな。
f:id:bluebirdofoz:20170423015638j:plain
2.1.3以前まではhololensへの対応はOpenCVForUnityUWP_Beta3というbeta版だったようです。
hololens用のサンプルまで別途用意されている辺り、かなり需要があって色々更新中なのでしょうか。
特に難しい点もなく、顔認識のサンプルを動作させることに成功しました。

しかし、動作させてみたものの問題が一つ。
アプリ起動中はhololensのボタン操作またはDevicePortalによるキャプチャが行えませんでした。
これはカメラのコントロールをアプリが奪っているためと推測できます。
「Apply HoloLens Capability Settings」から「webcam」のチェックを外せばキャプチャできますが、当然、顔認識の画像処理も行われません。
後述の理由からサンプルを色々お見せしていきたいので少し調べてみます。
(ただ紹介記事には特に何も書いていないので設定の変更で失敗している可能性もあり…)


以下、余談です。
OpenCVForUnityを調べた経緯についてです。
実は元々、hololensとOpenCVの技術を組み合わせには興味があり、以前から情報としては調べてはいました。
ただOpenCVを使って何がしたいというものがなく、試していませんでした。
ところが先日、会社の方からHoloLensでOpenCVって使えるの?という質問があったのです。

やはりhololensとOpenCVを合わせて使えば色々できるのではないかと考える人は多いようですね。
ならば知る価値あり、とどんなことが可能か紹介してみることにしました。
実際、OpenCVForUnityの更新具合を見るに、かなり注目されているのかもしれません。

更に余談です。
UnityでOpenCVを利用する方法はOpenCVForUnityだけではありません。連携部分をnative実装すれば無償でも利用可能です。
OpenCVとUnityの連携方法をまとめたページがあったので備忘録として残しておきます。
OpenCVとUnityの連携について
 http://www.dizgid.com/blog/?p=581