2020年3月4日水曜日

Python: RealsenseのRGBとデプスのカメラ映像をOpenCVを利用して表示する

おちラボではMicrosoft Kinectを利用したソフトウェア開発をしていますが、御存知の通りKinectは要求するマシンスペックが高いので、なかなか使いづらいというのがあります。単純にデプスカメラとして使うなら、IntelのRealSenseがオススメです。

SDKとライブラリのインストール
リンク先を見てもらえばわかりますが(特にpyrealsense2の方)、Windows環境では何も気にすることなくSDKをとってきて、ライブラリはpipでインストールできます。Macの場合、いろいろ手間がかかりますね。
なおSDKについては、旧ライブラリでは各種認識系のサンプルプログラムが掲載されていたようですが、2.0になってからはないようです。おそらく、認識系のやつはサードパーティの優秀なライブラリを使ってねということなんでしょう(OpenPoseとかOpenFaceとか)。

ソースコードとポイント
1. configの設定
ここでどのストリームを読み込むのかを設定します。解像度やフレームレートなどを決めますが、それ以外のパラメーターについてもconfigで設定するんだと思います。

2.開始後はループ処理で
pipelineクラスを呼び出してstart呼び出し後、ループでフレームを呼び出します。

3.フレームの変換
numpyのasanyarrayで配列変換。depthフレームの場合は、CV2.applyColorMapでカラーマップに変換

あとの処理は通常のOpenCVプログラミングの世界、、ということで思った以上に簡単です。C#でKinectのプログラムを書いたときは、もっと面倒だったような気がしますが。。。。
以下にサンプルを載せます。クリックで全表示です。



0 件のコメント:

コメントを投稿