PCL1.8.1 获取点云中的最大和最小的xyz值

浪子不回头ぞ 提交于 2019-12-06 08:08:03

getMinMax3D

该函数输入点云数据,将所有x y z中最小的值和x y z中最大的值输出到pcl::PointXYZ中。

#include <pcl/common/common.h>

int main()
{

	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);

	// Fill in the cloud data
	cloud->width = 15;
	cloud->height = 1;
	cloud->points.resize(cloud->width * cloud->height);

	// Generate the data
	for (std::size_t i = 0; i < cloud->points.size(); ++i)
	{
		cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].z = rand();
	}

	for (std::size_t i = 0; i < cloud->points.size(); ++i)
	{
		std::cout << " " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z << std::endl;
	}

	pcl::PointXYZ min_p, max_p;
	pcl::getMinMax3D(*cloud, min_p, max_p);
	std::cout << "min: " << min_p << " " << "max:" << max_p << std::endl;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!