如图左边是原始的三维点云pcd格式,右边是投影到XOZ面上的数据,Y为0.

#include <iostream>
#include <pcl/filters/project_inliers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/features/normal_3d.h>
#include <pcl/segmentation/extract_clusters.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/ModelCoefficients.h>
#include<cstdlib>
#include <windows.h>
#include <pcl/console/parse.h>
#include <pcl/console/print.h>
#include <pcl/correspondence.h>
#include <boost/filesystem.hpp>using namespace pcl;
typedef PointXYZ PoinT;
int *rand_rgb()
{//随机产生颜色int *rgb = new int[3];rgb[0] = rand() % 255;rgb[1] = rand() % 255;rgb[2] = rand() % 255;return rgb;
}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>);//点云的读取*********************************************************if (io::loadPCDFile("F://coutsaved//test//boxes//pcd//11Cloud.pcd", *cloud) == -1){PCL_ERROR("read false");return 0;}// Create a set of planar coefficients with X=Y=0,Z=1//In this case, we use a plane model, with ax+by+cz+d=0, where a=b=d=0, and c=1, or said differently, the X-Y plane.pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients());coefficients->values.resize(4);coefficients->values[0] = 0;coefficients->values[1] = 1.0;coefficients->values[2] = 0;coefficients->values[3] = 0;visualization::PCLVisualizer::Ptr viewer1(new visualization::PCLVisualizer("Remove-Y"));// Create the filtering objectpcl::ProjectInliers<pcl::PointXYZ> proj;proj.setModelType(pcl::SACMODEL_PLANE);proj.setInputCloud(cloud);proj.setModelCoefficients(coefficients);proj.filter(*cloud_projected);io::savePCDFileASCII("F://coutsaved//test//boxes//plane//removey.pcd", *cloud_projected);//保存投影到XOZ面上的点云int *rgb = rand_rgb();     //随机生成0-255的颜色值visualization::PointCloudColorHandlerCustom<PoinT>rgb1(cloud_projected, rgb[0], rgb[1], rgb[2]);delete[]rgb;viewer1->addPointCloud(cloud_projected, rgb1, "F://coutsaved//test//boxes//plane//removey.pcd");system("pause");return (0);
}

将三维点云投影到XOZ面上相关推荐

  1. python三维点云投影(一)

    一.立体几何基础知识 1.1 平面表示 三维平面的统一表示方法: 1.2 法向量 假设(x1, y1, z1).(x2,y2,z2)为平面上两个点,那么可以得到: (x2-x1, y2-y1, z2- ...

  2. PCL滤波--参数化模型投影点云---三维点云投影到二维平面

    PCL点云滤波模块,有一种方法叫做参数化模型投影点云滤波,意思就是创建一个参数化模型(可以是平面,球体,椎体等),然后将点云投影到上面,比如说如果投影到平面上,那么就实现了三维降到二维,滤掉了一个维度 ...

  3. 三维点云的深度学习研究综述

    作者丨aaa 来源丨https://zhuanlan.zhihu.com/p/455210291 编辑丨3D视觉工坊 摘要 点云学习由于在计算机视觉.自动驾驶.机器人等领域的广泛应用,近年来受到越来越 ...

  4. 三维点云语义分割总览

    点云PCL免费知识星球,点云论文速读. 标题:三维点云语义分割总览 作者:吉祥街 欢迎各位加入免费知识星球,获取PDF文档,欢迎转发朋友圈,分享快乐. 希望有更多的小伙伴能够加入我们,一起开启论文阅读 ...

  5. matlab三维点云去除背景,一种点云处理三维重建方法与流程

    本发明属于三维数字化.逆向工程领域,特别是涉及一种点云处理三维重建方法. 背景技术: ::三维扫描是一种高精度的三维坐标测量方法.线结构激光投射到被测表面,摄像机获取投射图像,提取光条上点的三维形貌. ...

  6. 自动驾驶视觉融合-相机校准与激光点云投影

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:william 链接:https://zhuanlan.zhihu.com/p/13626375 ...

  7. azure kinect三维点云_【干货】三维重建技术综述

    三维重建技术通过深度数据获取.预处理.点云配准与融合.生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型.这种模型可以对如文物保护.游戏开发.建筑设计.临床医学等研究起到辅助的作用. 三维重 ...

  8. azure kinect三维点云_三维重建技术,你捋清楚了吗?本文适合小白

    三维重建技术通过深度数据获取.预处理.点云配准与融合.生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型.这种模型可以对如文物保护.游戏开发.建筑设计.临床医学等研究起到辅助的作用. 三维重 ...

  9. 二十八. 智能驾驶笔记之基于PointNet++的三维点云分类和语义分割

    第一部分 基于三维点云的分类和语义分割介绍 第二部分 PointNet和PointNet++ 第三部分 PointNet++关键代码分析 第一部分 基于三维点云的分类和语义分割介绍 基于二维图像的神经 ...

最新文章

  1. 项目第二周冲刺第六天
  2. Maven配置JDK编译版本
  3. python 爬虫爬不出来_爬虫爬不进下一页了,怎么办
  4. vue中动态设置style样式和使用filters过滤器设置样式
  5. 从Var Tick角度来对CE电源管理
  6. 【软件工程】软件文档
  7. 再问数据中台-数据中台和数据仓库,数据平台的关系是什么?
  8. mysql sql 多选项_mysql – SQL选择此选项可使值仅出现一次
  9. css3 shapes是什么意思,CSS Shapes有哪些让人兴奋之处
  10. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1
  11. C++构造函数初始化列表与赋值
  12. win定时关机_电脑快速关机的8种方法,很多人都不知道!
  13. day09 CDN绕过漏洞回链接口探针全网扫描反向邮件
  14. 深入理解设计模式-建造者模式(生成器模式)
  15. 查看360极速浏览器已保存的星号密码明文
  16. 2.大型网站架构演化的价值观
  17. HZNU2012图解
  18. AppOps 命令大全
  19. 青少年qsnctf [登录试试] 攻略
  20. matlab与simulink结合,code-matlab 利用SIMULINK和M函数相结合的方式仿真BFSK 调制在 联合开发网 - pudn.com...

热门文章

  1. 2021年大数据Spark(七):应用架构基本了解
  2. 【Vue】新建一个Vue3项目
  3. 打开word出现“您正试图运行的函数包含有宏或需要宏语言支持的内容。”的解决方法
  4. php+管道+pipe管道,C++ 匿名管道执行DOS命令
  5. Java 线程 知识
  6. github自己的仓库给别人上传代码的操作
  7. Error:Unsupported method: BaseConfig.getApplicationIdSuffix(). The version o
  8. 【vue】vue-znly
  9. 开源组件websocket-sharp中基于webapi的httpserver使用体验
  10. BZOJ1202: [HNOI2005]狡猾的商人