本日は AzureKinectSDK の技術調査枠です。
AzureKinectSDKのサンプルプログラムをPythonの拡張モジュールとしてインストールする一例を記事にします。
今回は拡張モジュールのインストールと実行確認です。
前回記事の続きです。
bluebirdofoz.hatenablog.com
kinect_captureのインストール
ビルドした pyd ファイルを Python にインストールします。
インストールディレクトリを整理したいので、今回は以下のインストール作業を手動で行いました。
1.Python ディレクトリの Lib\site-packages 配下に kinect_capture ディレクトリを作成する。
2.Lib\site-packages 配下に kinect_capture ディレクトリへのパスを記述する kinect_capture.pth ファイルを作成する。
3.kinect_capture.pth ファイルに以下の通り、kinect_capture ディレクトリへのパスを記述する。
kinect_capture
4.kinect_capture ディレクトリに kinect_capture.cp37-win_amd64.pyd ファイルをコピーする。
5.kinect_capture ディレクトリに以下の AzureKinectSDK の2つの *.dll ファイルをコピーする。
・コピー元
C:\Program Files\Azure Kinect SDK v1.3.0\sdk\windows-desktop\amd64\release\bin\k4a.dll C:\Program Files\Azure Kinect SDK v1.3.0\sdk\windows-desktop\amd64\release\bin\depthengine_2_0.dll
6.kinect_capture ディレクトリに以下の turbojpeg の *.lib ファイルをコピーする。
・コピー元
C:\libjpeg-turbo64\lib\turbojpeg.lib
これで Python へのインストールは完了です。
kinect_captureの動作確認
事前にAzureKinectをPCに接続してビューアから認識できることを確認しておきます。
kinect_capture を組み込んだ Python ディレクトリの python.exe を起動し、以下のコマンドを実行してみます。
import kinect_capture print(kinect_capture)
kinect_capture.cp37-win_amd64.pyd の参照パスが表示されれば kinect_capture のインポートに成功しています。
module 'kinect_capture' from '(参照パス)\lib\site-packages\kinect_capture\kinect_capture.cp37-win_amd64.pyd'
実際に capture() 関数を実行してみます。
引数を渡さず関数を実行するとカレントディレクトリに ply ファイルが出力されます。
戻り値 0 が返れば、実行が成功しています。
kinect_capture.capture()
python.exe を実行中のカレントディレクトリを確認します。
以下の3つのファイルが出力されています。
・color_to_depth.ply
・depth_to_color.ply
・depth_to_color_downscaled.ply
MeshLab などを利用して ply ファイルを開いてみます。
以下の通り、点群がキャプチャされていれば成功です。