約 100 万ポイントの 3D ポイントのセットがあります。これらをmatlabで視覚化しようとしています。
私は次の機能を試しました:
plot3
scatter3
しかし、どちらも非常に遅いです。このレベルのポイントを matlab で視覚化するより効率的な方法はありますか? ポイントをメッシュ化する方法はありますか?
そうでない場合は、3D ポイントを視覚化するためのプラグインまたは別のプログラムを提案できますか?
約 100 万ポイントの 3D ポイントのセットがあります。これらをmatlabで視覚化しようとしています。
私は次の機能を試しました:
plot3
scatter3
しかし、どちらも非常に遅いです。このレベルのポイントを matlab で視覚化するより効率的な方法はありますか? ポイントをメッシュ化する方法はありますか?
そうでない場合は、3D ポイントを視覚化するためのプラグインまたは別のプログラムを提案できますか?
100 万以上のポイントをすべてプロットに表示したい場合は、使用するプラグイン/プログラムに関係なく、効率の問題が発生します。私の提案は、ダウンサンプリングすることです。遅くない図が得られるまで、1 つおきのポイントまたは n 番目のポイントごとに関数 plot3 または scatter3 を使用します。データの分散が天文学的でない限り、ダウンサンプリングが少しでもポイントの全体的な分布に影響を与えることはありません (100 万以上のポイントがある場合)。そして、それほど多くのデータを遅くすることなく表示できるソフトウェアは、ほとんどの場合、ダウンサンプリング/ビニングまたは補間技術を使用してそれを行います (したがって、それを制御することもできます)。
探しているフィーチャのおおよその座標を事前に知っているので、クラウドを単純なパススルー フィルターに通してみてください。これにより、ポイント クラウドが実質的にトリミングされます。つまり、フィーチャが x 座標 > 5 にあることがわかっている場合は、x 座標 < 5 のすべてのポイントを削除します。
このフィルターは、最初に data = data(data(1,:) > 5,:); として実現できます。3D データが n 行 3 列の行列に格納されている場合。
これは、ダウンサンプリングとともに、あなたを助けることができます. それでもパフォーマンスが遅い場合は、PointCloudLibrary の PCD ビューアーのようなものを使用することを検討してください 。
これは、matlab から起動できるスタンドアロン アプリです。遅い matlab プロット ツールよりもパフォーマンスがはるかに優れていることがわかりました。
実際に多くのポイントを表示させる特定の理由はありますか?
少しグーグルで検索したところ、同様の問題を抱えている人が何人か見つかりました(誰かが代替プログラムとしてAvizoを提案しましたが、私はそれを使用したことはありません):
データの密度にもっと関心がある場合は、ヒストグラムを生成する別の解決策があります。
興味のある人のために、私はCloudCompareと呼ばれるポイントクラウドビジュアライザーを見つけることになりました。これは非常に高速で、点群でのフィルタリングだけでなく、選択とセグメンテーションも可能です。