当前位置:网站首页>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
边栏推荐
- Convert yv12 to rgb565 image conversion, with YUV to RGB test
- Pywin32打开指定窗口
- js promise. all
- MySQL lethal serial question 3 -- are you familiar with MySQL locks?
- Ks009 implement pet management system based on SSH
- KS009基于SSH实现宠物管理系统
- [TS] 1368 seconds understand typescript generic tool types!
- shell编程01_Shell基础
- Easyexcel, a concise, fast and memory saving excel processing tool
- JSP webshell免杀——JSP的基础
猜你喜欢
HDU1234 开门人和关门人(水题)
14. Code implementation of semaphore
《MySQL 8 DBA基础教程》简介
数据库字典Navicat自动生成版本
《实习报告》Skywalking分布式链路追踪?
The URL in the RTSP setup header of the axis device cannot take a parameter
HDU1236 排名(结构体排序)
JSP webshell免杀——webshell免杀
Flutter——Canvas自定义曲线图
618 what is the secret of dominating the list again? Nike's latest financial report gives the answer
随机推荐
【ARK UI】HarmonyOS ETS的启动页的实现
PCL之滤波
02-taildir source
Disassembling Meitu SaaS: driving the plane to change the engine
Internet News: Tencent conference application market was officially launched; Soul went to Hong Kong to submit the listing application
What is the significance of the college entrance examination
UVM factory mechanism
Oracle 笔记
KS009基于SSH实现宠物管理系统
Use WinDbg to statically analyze dump files (summary of practical experience)
使用华为性能管理服务,按需配置采样率
记录 AttributeError: ‘NoneType‘ object has no attribute ‘nextcall‘
Importing tables from sqoop
Transport Optimization abstraction
Kustomize user manual
Introduction to MySQL 8 DBA foundation tutorial
[TS] 1368 seconds understand typescript generic tool types!
2.hacking-lab脚本关[详细writeup]
UVM learning - object attribute of UVM phase
Thanos Receiver