のしメモ アプリ開発ブログ

Unityアプリとかロボットとか作ってるときに困ったこととかメモ

HoloLensでOpenCVForUnityを使ってみる

HoloLensでOpenCVForUnityのアセットを使ってみるまで手順をメモ。

OpenCVとは画像解析して顔の検出やエッジの検出等、色々できるライブラリです。
HoloLensのカメラ映像と組み合わせて色々できそうです。

例えば顔検出してユニティちゃん男とかができます。

また、今後手順が変わっていく可能性がありますのでご注意ください。

事前準備

・Unity 5.5.1f1

・HoloToolkit-Unity-v1.5.5.0.unitypackage
 下記のリポジトリからダウンロードして用意する
 https://github.com/Microsoft/HoloToolkit-Unity/releases

OpenCV For Unity
 https://www.assetstore.unity3d.com/jp/#!/content/21088

・HoloLensWithOpenCVForUnityExample.unitypackage
 下記のリポジトリからダウンロードして用意する
 https://github.com/EnoxSoftware/HoloLensWithOpenCVForUnityExample

導入する

1. Unityで新しいプロジェクト作成

2. HoloToolkit-Unity-v1.5.5.0.unitypackageをインポート

※ HoloToolkit-Examplesのフォルダーは省いてください。Examplesのnamespaceが無いクラスでエラーがでます。

3. HoloLensの設定を反映

メニューから[HoloToolkit]->[Configure]->[Apply HoloLens Project Settings]を選択しApplyを押す

4. OpenCVForUnityのimport

※ 2017/4/9追記 OpenCVForUnityのバージョンによって処理が異なる

・OpenCVForUnity2.1.5

OpenCVForUnityをインポート
[Tool]-> [OpenCV for Unity] -> [Set Plugin Import Settings]を実行する

・OpenCVForUnity2.1.3

OpenCVForUnityUWP_Beta3.unitypackageをインポート

5. HoloLensWithOpenCVForUnityExample.unitypackageをインポート

6. シーンファイルを追加する

[Build Settings]を開き、[Assets/HoloLensWithOpenCVForUnityExample/Scenes]以下のSceneファイルを[Scenes In Build]に追加する

7. HoloLensのWebcamを使用できるように設定変更

メニューから[HoloToolkit]->[Configure]->[Apply HoloLens Capability Settings]を選択
Webcamにチェックを入れてApplyを押す

8. StreamingAssetsにファイル移動

# 2017/3/1 手順が漏れていたので追記
Assets/OpenCVForUnity/StreamingAssetsをAssets/StreamingAssetsに移動させる

9. 実機にビルドする

OpenCVが使える!

顔検出はこんな感じ


コミックフィルターはこんな感じ

他にもサンプルで試せますので、ぜひ実機で試してみてください!

使ってみた所感

フレームレートがあまりでないのと、平面の描画かつHoloLensの視野角なので、フィルター等だと動画みたいな見え方はしないです。
でも結構楽しい。顔検出で何かするのには向いていそうな感じ。