您现在的位置是:主页 > news > 网络直播平台搭建/seo外包一共多少钱
网络直播平台搭建/seo外包一共多少钱
admin2025/5/9 6:27:15【news】
简介网络直播平台搭建,seo外包一共多少钱,猎头公司骗局套路,lamp搭建wordpress点云滤波---投影滤波器适用对象工作原理PCL核心代码实现参考资料适用对象 适用于已知几何模型的点云滤波,根据几何模型的数学约束进行投影 例如一个球体通过3D扫描设备扫描之后,由于扫描精度的限制,引入了很多杂散点,这时已知实际…
网络直播平台搭建,seo外包一共多少钱,猎头公司骗局套路,lamp搭建wordpress点云滤波---投影滤波器适用对象工作原理PCL核心代码实现参考资料适用对象
适用于已知几何模型的点云滤波,根据几何模型的数学约束进行投影 例如一个球体通过3D扫描设备扫描之后,由于扫描精度的限制,引入了很多杂散点,这时已知实际…
点云滤波---投影滤波器
- 适用对象
- 工作原理
- PCL核心代码实现
- 参考资料
适用对象
适用于已知几何模型的点云滤波,根据几何模型的数学约束进行投影
例如一个球体通过3D扫描设备扫描之后,由于扫描精度的限制,引入了很多杂散点,这时已知实际球体的各个参数,可以用指定参数的球模型进行投影滤波,去除噪声。
工作原理
点云数据中的所有点 都用 向参数模型上投影之后的点代替。
PCL核心代码实现
//使用ax+by+cz+d=0平面模型//Create a set of planar coefficients with a=b=d=0,c=1,即平面z=0pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients ());coefficients->values.resize (4);coefficients->values[0] = coefficients->values[1] = 0;coefficients->values[2] = 1.0;coefficients->values[3] = 0;// Create the filtering objectpcl::ProjectInliers<pcl::PointXYZ> proj; //创建投影滤波对象proj.setModelType (pcl::SACMODEL_PLANE); //设置模型类型proj.setInputCloud (cloud); //设置输入的点云proj.setModelCoefficients (coefficients); //设置模型参数proj.filter (*cloud_projected); //执行滤波
完整代码:
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/filters/project_inliers.h>int main (int argc, char** argv)
{pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_projected (new pcl::PointCloud<pcl::PointXYZ>);// Fill in the cloud datacloud->width = 5;cloud->height = 1;cloud->points.resize (cloud->width * cloud->height);for (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 = 1024 * rand () / (RAND_MAX + 1.0f);}std::cerr << "Cloud before projection: " << std::endl;for (size_t i = 0; i < cloud->points.size (); ++i)std::cerr << " " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z << std::endl;// Create a set of planar coefficients with X=Y=0,Z=1pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients ());coefficients->values.resize (4);coefficients->values[0] = coefficients->values[1] = 0;coefficients->values[2] = 1.0;coefficients->values[3] = 0;// Create the filtering objectpcl::ProjectInliers<pcl::PointXYZ> proj;proj.setModelType (pcl::SACMODEL_PLANE);proj.setInputCloud (cloud);proj.setModelCoefficients (coefficients);proj.filter (*cloud_projected);std::cerr << "Cloud after projection: " << std::endl;for (size_t i = 0; i < cloud_projected->points.size (); ++i)std::cerr << " " << cloud_projected->points[i].x << " " << cloud_projected->points[i].y << " " << cloud_projected->points[i].z << std::endl;return (0);
}
参考资料
Projecting points using a parametric model