```cpp
bool
compare_pt(pcl::PointXYZI p1, pcl::PointXYZI p2)
{
if (p1.x != p2.x)
{
return p1.x > p2.x;
}
else if (p1.y != p2.y)
{
return p1.y > p2.y;
}
else
{
return p1.z > p2.z;
}
}
bool
equal_pt(pcl::PointXYZI p1, pcl::PointXYZI p2)
{
if (p1.x == p2.x && p1.y == p2.y && p1.z == p2.z)
{
return true;
}
else
{
return false;
}
}
// 返回的cloud已经完成去重
void
delete_repeat_point(pcl::PointXYZI::Ptr cloud)
{
std::sort(cloud->points.begin(), cloud->points.end(), compare_pt);
cloud->points::erase(std::unique(cloud->points.begin(), cloud->points.end(), equal_pt), cloud->points.end());
}
参考文档:https://www.codenong.com/34481190/