Wie ich die Punktwolke auf die Erdungsebene projizieren und in ein 2D -Bild (OpenCV -MAT) in der Point Cloud -Bibliothek
Posted: 22 Mar 2025, 04:09
Ich möchte Steine am Boden segmentieren und den Bereich der Steine wie folgt zählen: < /p>
< /p>
< /p>
Ich habe 2 Jahre lang OpenCV geschrieben und finde es wirklich schwer, die Steine nur mit dem OpenCV -Bild zu segmentieren. So segmentieren Sie die Erdungsebene (in grüner Farbe) wie folgt: < /p>
< /p>
Dies ist mein Hauptcode: < /p>
< /p>
< /p>
Ich habe 2 Jahre lang OpenCV geschrieben und finde es wirklich schwer, die Steine nur mit dem OpenCV -Bild zu segmentieren. So segmentieren Sie die Erdungsebene (in grüner Farbe) wie folgt: < /p>
< /p>
Dies ist mein Hauptcode: < /p>
Code: Select all
pcl::PointCloud::Ptr cloud (new pcl::PointCloud);
pcl::io::loadPLYFile ("MeshedReconstruction.ply", *cloud);
pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients);
pcl::PointIndices::Ptr inliers_groud (new pcl::PointIndices);
// Create the segmentation object
pcl::SACSegmentation seg;
// Optional
seg.setOptimizeCoefficients (true);
// Mandatory
seg.setModelType (pcl::SACMODEL_PLANE);
seg.setMethodType (pcl::SAC_RANSAC);
seg.setDistanceThreshold (0.01);//1cm
seg.setInputCloud (cloud);
seg.segment (*inliers_groud, *coefficients);
if (inliers_groud->indices.size () == 0)
{
PCL_ERROR ("Could not estimate a planar model for the given dataset.");
return (-1);
}
std::cerr