3

Point Cloud Library が提供する RANSAC メソッドを使用して、点群の点を通る線を推定しようとしています。オブジェクトを作成し、ライン モデルを問題なく推定できます。次のようになります。

pcl::PointCloud<pcl::PointXYZ>::ConstPtr source_cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::ModelCoefficients::Ptr line_coefficients(new pcl::ModelCoefficients);
pcl::PointIndices::Ptr inliers (new pcl::PointIndices);

// Populate point cloud...

// Create the segmentation object 
pcl::SACSegmentation<pcl::PointXYZ> seg;
seg.setModelType (pcl::SACMODEL_LINE);
seg.setMethodType (pcl::SAC_RANSAC);
seg.setDistanceThreshold (distance_thresh);
seg.setInputCloud (source_cloud); 
seg.segment (*inliers, *line_coefficients);

私は今モデルパラメータにアクセスしようとしていますが、私はそれを行うにはあまりにも馬鹿げています... APIによると、アクセス可能なパラメータは6つあるはずです:

線の 6 つの係数は、線上の点と線の方向によって次のように与えられます。

したがって、私はそれらにアクセスしようとしています:

line_coefficients->line_direction->x

ただし、これは機能しません。エラーが発生し続けます:

「pcl::ModelCoefficients」に「line_direction」という名前のメンバーがありません。

私は何が間違っているのか本当にわかりません...誰かアイデアがありますか? 前もって感謝します!

4

1 に答える 1