当前位置:网站首页>PCL projection point cloud
PCL projection point cloud
2022-07-02 10:57:00 【AICVer】
Projection to XOY In the plane
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/point_cloud.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/filters/project_inliers.h>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std;
using namespace pcl;
void visualize(PointCloud<PointXYZ>::Ptr source, PointCloud<PointXYZ>::Ptr target)
{
visualization::PCLVisualizer viewer("Point Cloud Viewer");
// Create two display windows
int v1, v2;
viewer.createViewPort(0, 0.0, 0.5, 1.0, v1);
viewer.createViewPort(0.5, 0.0, 1.0, 1.0, v2);
// Set the background color
viewer.setBackgroundColor(255, 255, 255, v1);
viewer.setBackgroundColor(255, 255, 255, v2);
// Add color to point clouds
visualization::PointCloudColorHandlerCustom<PointXYZ> source_color(source, 0, 0, 255); // blue
visualization::PointCloudColorHandlerCustom<PointXYZ> target_color(target, 255, 0, 0); // red
// Add a point cloud to the display window
viewer.addPointCloud(source, source_color, "source cloud", v1);
viewer.addPointCloud(target, target_color, "target cloud", v2);
while (!viewer.wasStopped())
{
viewer.spinOnce(100);
boost::this_thread::sleep(boost::posix_time::microseconds(100000));
}
}
int main(int argc, char** argv)
{
PointCloud<PointXYZ>::Ptr cloud(new pcl::PointCloud<PointXYZ>);
PointCloud<PointXYZ>::Ptr filtered_cloud(new pcl::PointCloud<PointXYZ>);
io::loadPCDFile("D:\\Data\\rabbit.pcd", *cloud);
// Output the number of points before filtering
cout << " Before filtering :" << cloud->points.size() << " A little bit " << endl;
// Set the coefficient of model parameters
ModelCoefficients::Ptr coefficients(new ModelCoefficients());
coefficients->values.resize(4);
coefficients->values[0] = 0;
coefficients->values[1] = 0;
coefficients->values[2] = 1.0;
coefficients->values[3] = 0;
// Instantiate the filter object
ProjectInliers<PointXYZ> proj;
proj.setModelType(SACMODEL_PLANE);
proj.setInputCloud(cloud);
proj.setModelCoefficients(coefficients);
proj.filter(*filtered_cloud);
cout << " Yes after filtering :" << filtered_cloud->points.size() << " A little bit " << endl;
visualize(cloud, filtered_cloud);
return 0;
}
Other models that can be projected
The projection models that can be used are as follows :
Plane model :SACMODEL_PLANE
Line model :SACMODEL_LINE
A two-dimensional circle on a plane :SACMODEL_CIRCLE2D
A three-dimensional circle on a plane :SACMODEL_CIRCLE3D
Sphere model :SACMODEL_SPHERE
Cylinder model :SACMODEL_CYLINDER
Conical model :SACMODEL_CONE
Torus model :SACMODEL_TORUS
A line model parallel to a given axis :SACMODEL_PARALLEL_LINE
Plane model perpendicular to the specified axis :SACMODEL_PERPENDICULAR_PLANE
3D bar segmentation model :SACMODEL_STICK
边栏推荐
- 13. Semaphore critical zone protection
- JSP webshell free -- webshell free
- 如何用list组件实现tabbar标题栏
- Importing tables from sqoop
- UWA report uses tips. Did you get it? (the fourth bullet)
- 【TS】1368- 秒懂 TypeScript 泛型工具类型!
- 【快应用】Win7系统使用华为IDE无法运行和调试项目
- UVM - usage of common TLM port
- Internet News: Tencent conference application market was officially launched; Soul went to Hong Kong to submit the listing application
- Flutter——Canvas自定义曲线图
猜你喜欢

《实习报告》Skywalking分布式链路追踪?

Hdu1228 a + B (map mapping)

14. Code implementation of semaphore

使用Windbg静态分析dump文件(实战经验总结)

从MediaRecord录像中读取H264参数

全网显示 IP 归属地,是怎么实现的?

JSP webshell免杀——JSP的基础

HDU1234 开门人和关门人(水题)

UVM learning - build a simple UVM verification platform
![[TS] 1368 seconds understand typescript generic tool types!](/img/2b/58a850b52ce8a9b2e6e7b6b72b0fe5.jpg)
[TS] 1368 seconds understand typescript generic tool types!
随机推荐
Read H264 parameters from mediarecord recording
Dialogue Wu Gang: why do I believe in the rise of "big country brands"?
Session cookies and tokens
从MediaRecord录像中读取H264参数
记录 AttributeError: ‘NoneType‘ object has no attribute ‘nextcall‘
Ks009 implement pet management system based on SSH
一招快速实现自定义快应用titlebar
shell编程01_Shell基础
华为AppLinking中统一链接的创建和使用
PCL 从一个点云中提取一个子集
JSP webshell免杀——webshell免杀
VSCode工具使用
集成学习概览
Kustomize user manual
PCL Eigen介绍及简单使用
简洁、快速、节约内存的Excel处理工具EasyExcel
JSP webshell free -- webshell free
对话吴纲:我为什么笃信“大国品牌”的崛起?
nodejs+express+mysql简单博客搭建
【TS】1368- 秒懂 TypeScript 泛型工具类型!