このページは?
- IRミラー と TOFカメラを組み合わせた空中像インタラクションを作った際のメモ
- 文献情報: 安藤 将平,小泉 直也.ホットミラーによる赤外光反射を用いた空中像インタラクション手法の提案.第64回 情報処理学会エンタテインメントコンピューティング研究会, 2022.06.16.(PDF)
- 作ったもの:VzenseSDK_Windowsを使って得たVCAM710の深度情報をUnityに送る。
VzenseSDKの動かし方
-
環境
Windows 11
Visual Studio 2019
OpenCV3.0.0 -
参考にしたページ
Visual StudioでOpenCVを使う方法
VisualStudio2019+OpenCVのデバッグでDLLが見つからない
手順
-
VzenseのSDK(Vzense_SDK_Windows)をGitHubからダウンロードする(uec-media-design-lab/Manual_Vzense_DCAM710/Vzense SDKを使用しても良い。)
-
OpenCV3.0.0をダウンロードする
-
Vzense_SDK_WindowsのSample.slnをVisual Studioで開く
-
Frame_Viewer_DCAM710.cppを開く
-
プロパティページを編集
- 上部メニューのプロジェクト>プロパティ>C/C++>全般>追加のインクルードディレクトリに
C:\opencv\build\include
と設定する
- プロジェクト>プロパティ>リンカー>全般>追加のライブラリディレクトリに
C:\opencv\build\x86\vc12\lib;C:\opencv\build\x86\vc12\staticlib
と設定
(※リンカーの欄が無い場合は一度ビルドしてみると表示されるかも?)
- プロジェクト>プロパティ>リンカー>入力>追加の依存ファイルを「追加の依存ファイル」の内容で上書きする。(C:\opencv\build\x86\vc12以下にある.libファイルをすべて追加している)
- プロジェクト>プロパティ>ビルドイベント>ビルド後のイベント>コマンドラインに書いてある内容を全て消す。
- 消していいのか正直よくわかっていないが、これがあると↓のエラーになる。ビルド後に何かファイルをコピーするためのものらしいが、とりあえず消しても問題なさそう。
- 上部メニューのプロジェクト>プロパティ>C/C++>全般>追加のインクルードディレクトリに
-
ビルドして実行する
- サンプルが動く
- サンプルが動く
動作の様子
- あとはサンプルコードを都度書き換えれば深度情報とか表示できそう。
- ↓コンソールに中心の深度情報を表示してみた。
- ↓コンソールに中心の深度情報を表示してみた。
UnityとのUDP通信
- 参考にしたページ
C++とUnity(C#)を使ったUDP通信
手順
-
C++側での送信プログラム
-
プロパティの設定
-
Unity側での受信プログラム
- 空オブジェクトを作ってUDPReceive.csスクリプトをアタッチする
- 空オブジェクトを作ってUDPReceive.csスクリプトをアタッチする
-
動かす
- send関数が呼ばれるとC++側からUDP通信で深度情報が送られる。
- 深度情報を使ったアプリケーションを作成できる。