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」という名前のメンバーがありません。
私は何が間違っているのか本当にわかりません...誰かアイデアがありますか? 前もって感謝します!