2

私は現在、2つのポイントセット間の厳密な変換を計算しようとしているので、pointclouds.orgのチュートリアルで提供されているコードを使用しようとしました。

http://www.pointclouds.org/documentation/tutorials/iterative_closest_point.php#iterative-closest-point

私の場合、データがランダムに生成される部分だけを、分析したいポイントデータをロードするものに変更しました。他のすべてはチュートリアルとまったく同じです...(入力データの読み取りに何か問題があった場合に備えて、ランダムデータを使用してチュートリアルコードを正確にテストしてみました)

Qtを使用しているので、PCLライブラリ、Eigenライブラリ、FLANNライブラリをプロジェクトに統合しました。すべてのヘッダーを検出し、MSVC2008で正常にコンパイルします...

残念ながら、私は常に実行時エラーが発生します

icp.setInputTarget(cloud_out);

ことわざ:

デバッグアサーションが失敗しました!プログラム:... MSVC2008 _Qt_SDK_Release \ release \ Project.exeファイル:c:\ Program Files \ Microsoft VIsual Studio 10.0 \ CV \ include \ vector行:1200

式:範囲外のベクトル消去イテレータ

[..]...ドキュメントを確認してください...[..]

誰かがそれが何を意味するのか知っていますか?入力雲は両方とも同じサイズであり、値が塗りつぶされています。

助けていただければ幸いです!

更新1:

エラーメッセージには、MSVC 2010(10.0)のファイルパスが表示されます...実際には必要ないため、VisualStudio2010をアンインストールしようとしました。それでも、デバッグモードでコンパイルすると、エラーメッセージが表示されますが、Expression: vector iterators incompatible代わりに...リリースモードで実行すると、実行時に(同じ行で)クラッシュするだけですが、表示されませんエラーメッセージ。

4

1 に答える 1

0

これは、使用するライブラリに問題があるようです。クリーン ビルドを行い、PATH 変数とすべてをチェックし、Visual Studio 2010 が削除されていると仮定すると、これはライブラリ自体に問題がある可能性があります。正しいものを使用していますか?

現在の Qt SDK には MSVC2008 が含まれているため、必要なところからすべてを取得していると思います。しかし、Qt のコンパイラ、または 2010 バージョンが必要なライブラリのいずれか...

それが役に立てば幸い!

于 2012-03-07T19:13:49.007 に答える