1

私はこのコードを持っています:

SACSegmentation<PointXYZ> seg;
seg.setAxis(Vector3f(0, 0, 1));
seg.setEpsAngle(0.5 * M_PI / 180.0);
seg.setModelType(SACMODEL_PLANE);
seg.setMethodType(SAC_RANSAC);
seg.setDistanceThreshold(0.2);
// then set the input cloud and filter..

軸と epsAngle はまったく何もしていないようです。センサーが壁に十分に近づいて、壁が地面よりも多くのポイントを持っている場合でも、点群は壁を拾います。私は点群を xyz 点データから明示的に構築しているため、sensor_origin_ や sensor_orientation_ などの PointCloud メンバー変数は設定されていない可能性があります (PointCloud がデフォルトで何かを設定しない限り)。これが私の問題の根源でしょうか?それとも私は何か他のことを間違っていますか?

この問題について私が見た他の投稿はすべて、私がすでに行っている eps 角度の設定を提案しています。私はあなたの助けに感謝します!

4

1 に答える 1

2

私は PCL ドキュメントを調べて、答えを見つけました。ドキュメントでは十分に明確にされていませんが、一部のモデルのみが setAxis() および setEpsAngle() の影響を受けます。私のアプリケーションでは、そのモデルは SACMODEL_PARALLEL_PLANE でした。他のものはhttp://docs.pointclouds.org/1.7.0/group__sample__consensus.htmlにあります。

于 2016-04-10T22:52:14.557 に答える