Open3d: AzureKinectの例が機能しない

作成日 2019年12月31日  ·  4コメント  ·  ソース: intel-isl/Open3D

バグを説明する
Pythonの例は実行されません。 Azure Kinect SDK v1.2.0をC:/ Program Files /にコピーしました
Microsoft AzureKinectの例は機能します

再現するには
動作を再現する手順:

  1. リポジトリのクローンを作成します[open3d0.9]
  2. Open3d / examples / Python / ReconstructionSystem / sensorsに移動します
  3. py azure_kinect_mkv_reader.py --input "C:/ Program Files / Azure Kinect SDK v1.2.0 / tools / 720.mkv"

予想される行動
ビデオの再生/ビデオの録画/ kinectビューアを開く

環境(以下の情報を入力してください):

  • OS:Windows 1064ビット
  • Pythonバージョン:3.6.3
  • Open3Dバージョン:0.9
  • これはリモートワークステーションですか?:いいえ
  • Open3Dをどのようにインストールしましたか?:pip3

追加のコンテキスト
azure_kinect_mkv_reader.py出力

出力パスなし、mkvのみを再生
トレースバック(最後の最後の呼び出し):
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_mkv_reader.py」、125行目
リーダー= ReaderWithCallback(args.input、args.output)
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_mkv_reader.py」、21行目、__ init__
self.reader.open(self.input)
RuntimeError:[Open3D ERROR] k4arecord.dllを読み込めません

プロセスは終了コード1で終了しました

azure_kinect_viewer.py出力

[Open3D情報] AzureKinectSensor :: Connect
[Open3D INFO] sensor_index 0
[Open3D INFO]シリアル番号:001075192912
[Open3D INFO]ファームウェアビルド:Rel
[Open3D情報]>色:1.6.98
[Open3D情報]>深さ:1.6.70 [6109.7]
センサーが初期化されました。 [ESC]を押して終了します。
トレースバック(最後の最後の呼び出し):
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_viewer.py」、72行目
v.run()
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_viewer.py」、36行目、実行中
vis.update_geometry()
TypeError:update_geometry():互換性のない関数の引数。 次の引数タイプがサポートされています。
1.(自己:open3d.open3d.visualization.Visualizer、arg0:open3d.open3d.geometry.Geometry)-> bool

呼び出される:名前ビューアを使用したVisualizerWithKeyCallback

azure_kinect_recorder.py出力

2019-12-31-18-54-38.mkvへの書き込みを準備する
[Open3D情報] AzureKinectSensor :: Connect
[Open3D INFO] sensor_index 0
[Open3D INFO]シリアル番号:001075192912
[Open3D INFO]ファームウェアビルド:Rel
[Open3D情報]>色:1.6.98
[Open3D情報]>深さ:1.6.70 [6109.7]
レコーダが初期化されました。 [スペース]を押して開始します。 [ESC]を押して保存して終了します。
トレースバック(最後の最後の呼び出し):
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_recorder.py」、118行目
r.run()
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_recorder.py」、71行目、実行中
vis.update_geometry()
TypeError:update_geometry():互換性のない関数の引数。 次の引数タイプがサポートされています。
1.(self:open3d.open3d.visualization.Visualizer、arg0:open3d.open3d.geometry.Geometry)-> bool

呼び出される:NameRecorderを使用したVisualizerWithKeyCallback

プロセスは終了コード1で終了しました

ビルド済みのc ++ open3dライブラリはありますか? または今のところ、ソースからビルドする必要がありますか?

ありがとうございます。それでは、お元気で
プラカシュ

possible bug sensors

最も参考になるコメント

Open3D 0.10.0、Windows 10、Azure Kinect SDKv1.2.0を使用しています。 同じエラーが発生しましたが、Azure Kinect SDK v1.2.0をアンインストールして再インストールし、パスC:\ Program FilesAzure Kinect SDK v1.2.0 \ sdk \ windows-desktop \ amd64 \ release \ binを環境変数のPATHに追加してK4A_LIB_DIR = C:\ Program FilesAzure Kinect SDK v1.2.0 \ sdk \ windows-desktop \ amd64 \ release \ binをシステム変数に追加しました。
Path for Azure Kinect SDK

全てのコメント4件

この特定の問題は、APIの更新が原因です。
簡単な修正は、この行vis.update_geometry([rgbd])に変更することです。

OKありがとう
vis.update_geometry(rgbd)置き換えた後
azure_kinect_viewer.pyazure_kinect_recorder.py例が機能しました。
しかし、 azure_kinect_mkv_reader.pyはまだ機能していません以下は出力です

出力パスなし、mkvのみを再生
トレースバック(最後の最後の呼び出し):
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_mkv_reader.py」、125行目
リーダー= ReaderWithCallback(args.input、args.output)
ファイル「D:/Git_Projects/Open3D/examples/Python/ReconstructionSystem/sensors/azure_kinect_mkv_reader.py」、21行目、__ init__
self.reader.open(self.input)
RuntimeError:[Open3D ERROR] k4arecord.dllを読み込めません

C:/Program Files/ azure kinect SDK1.2および1.3をインストールしました
また、環境変数Path dllファイルのフォルダパスを追加しました

更新ここここで言及されているのと同じエラーに気づきました

Open3D 0.10.0、Windows 10、Azure Kinect SDKv1.2.0を使用しています。 同じエラーが発生しましたが、Azure Kinect SDK v1.2.0をアンインストールして再インストールし、パスC:\ Program FilesAzure Kinect SDK v1.2.0 \ sdk \ windows-desktop \ amd64 \ release \ binを環境変数のPATHに追加してK4A_LIB_DIR = C:\ Program FilesAzure Kinect SDK v1.2.0 \ sdk \ windows-desktop \ amd64 \ release \ binをシステム変数に追加しました。
Path for Azure Kinect SDK

Windowsでは、Open3DKinectプラグインはデフォルトのインストールパスにあるKinectK4Aライブラリを検索します。

https://github.com/intel-isl/Open3D/blob/3c6e66419a0f5669b27503f1e30dd4960b1aa4ba/cpp/open3d/io/sensor/azure_kinect/K4aPlugin.cpp#L76 -L79

現在、 1.2.0から1.4.1サポートしています。 K4Aライブラリがデフォルトの場所にない場合は、K4Aの*.dllファイルを含むディレクトリを指すようにK4A_LIB_DIR環境変数を設定する必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価