Open3Dの一部関数(paint_uniform_colorなど)が実行できない事象がありましたので、その対処方法を記述します。
バグの説明
Open3Dにて点群情報に色を設定する関数「paint_uniform_color」を実行すると、プログラムがその関数の地点で途中終了してしましました。
ターミナルにもエラーコードが発生しませんでした。
デバッグすると、関数「paint_uniform_color」実行直後に以下のダイアログが出力されました。
Server[1] disconnected unexpectedly
原因と対処法
原因は?
結論は、「numpyのバージョン」でした。
対処法
以下のリンクを参考にしました。
対処法としては、「numpyのバージョンを1.26.4にインストールしなおす」です。
手順1:numpyの現在のバージョンを調べる
ターミナルで以下を実行する
pip show numpy
私は2.0.0でした。
手順2:numpyをアンインストールする
pip uninstall numpy
手順3:numpyバージョン1.26.4をインストールする
pip install numpy==1.26.4
まとめ
本記事では、Open3Dの一部関数(paint_uniform_colorなど)が実行できない事象がありましたので、その対処方法を記述しました。原因はnumpyのバージョンでしたね。
三次元点群処理は二次元の画像処理よりも情報が少なく、手探りで書籍や論文、公式ドキュメントを調査する日々です。
その中で、導入しやすいPythonとOpen3Dで三次元点群処理を体系的にまとめた書籍が以下になります。現在数少ない三次元点群処理の書籍ですので私も重宝しています。是非参考にしてみてください。
リンク