1

スタンフォードの 3D スキャン リポジトリで .ply ファイルをダウンロードし、そのページからスタンフォードのコード (ply.h、plyfile.c) を使用して解析しています。しかし、このコードを見ると、決して解放されない malloc がはびこっていることがわかります。目を閉じて横を見ることもできますが、歯がかゆくなります.

2 つの回避策が考えられます。

1 つは、Hans Boehm のガベージ コレクタ、またはガベージ コレクタ内で実行するように「malloc」を再定義する同様のものを使用することです。私はこのライブラリを使用したことはありませんが、スタンフォード コードの malloc だけで動作し、他の場所では動作しないようにする方法があるかもしれません。

他の回避策は、別のパーサーを使用することです。できれば、適切に RAII 化されたメモリ管理を備えた C++ パーサーを使用してください。上記のリンクにいくつかの代替パーサーとコンバーターがリストされていますが、それらすべてを試すのに1日か2日を費やすのではなく、ここで推奨事項を取得したいと考えていました.

スタンフォード パーサーでメモリ リークを封じ込めるか、別のパーサーを使用するか、または私が考えもしなかった第 3 の方法を使用して、メモリ リークなしで .ply ファイルを解析する方法を推奨できる人はいますか?

4

3 に答える 3

1

RPlyも試してください。

于 2011-04-14T16:38:31.543 に答える
0

別のライブラリは、MeshLabで使用されるライブラリです。

http://vcg.sourceforge.net/index.php/Tutorial

于 2011-04-14T15:35:22.047 に答える
0

このライブラリは有望に見えます。他の誰かがこの質問に答えるまで、私はこれを答えとしてマークします: http://assimp.sourceforge.net/

于 2011-02-08T01:59:55.643 に答える