将三维点云投影到XOZ面上
如图左边是原始的三维点云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面上相关推荐
- python三维点云投影(一)
一.立体几何基础知识 1.1 平面表示 三维平面的统一表示方法: 1.2 法向量 假设(x1, y1, z1).(x2,y2,z2)为平面上两个点,那么可以得到: (x2-x1, y2-y1, z2- ...
- PCL滤波--参数化模型投影点云---三维点云投影到二维平面
PCL点云滤波模块,有一种方法叫做参数化模型投影点云滤波,意思就是创建一个参数化模型(可以是平面,球体,椎体等),然后将点云投影到上面,比如说如果投影到平面上,那么就实现了三维降到二维,滤掉了一个维度 ...
- 三维点云的深度学习研究综述
作者丨aaa 来源丨https://zhuanlan.zhihu.com/p/455210291 编辑丨3D视觉工坊 摘要 点云学习由于在计算机视觉.自动驾驶.机器人等领域的广泛应用,近年来受到越来越 ...
- 三维点云语义分割总览
点云PCL免费知识星球,点云论文速读. 标题:三维点云语义分割总览 作者:吉祥街 欢迎各位加入免费知识星球,获取PDF文档,欢迎转发朋友圈,分享快乐. 希望有更多的小伙伴能够加入我们,一起开启论文阅读 ...
- matlab三维点云去除背景,一种点云处理三维重建方法与流程
本发明属于三维数字化.逆向工程领域,特别是涉及一种点云处理三维重建方法. 背景技术: ::三维扫描是一种高精度的三维坐标测量方法.线结构激光投射到被测表面,摄像机获取投射图像,提取光条上点的三维形貌. ...
- 自动驾驶视觉融合-相机校准与激光点云投影
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:william 链接:https://zhuanlan.zhihu.com/p/13626375 ...
- azure kinect三维点云_【干货】三维重建技术综述
三维重建技术通过深度数据获取.预处理.点云配准与融合.生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型.这种模型可以对如文物保护.游戏开发.建筑设计.临床医学等研究起到辅助的作用. 三维重 ...
- azure kinect三维点云_三维重建技术,你捋清楚了吗?本文适合小白
三维重建技术通过深度数据获取.预处理.点云配准与融合.生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型.这种模型可以对如文物保护.游戏开发.建筑设计.临床医学等研究起到辅助的作用. 三维重 ...
- 二十八. 智能驾驶笔记之基于PointNet++的三维点云分类和语义分割
第一部分 基于三维点云的分类和语义分割介绍 第二部分 PointNet和PointNet++ 第三部分 PointNet++关键代码分析 第一部分 基于三维点云的分类和语义分割介绍 基于二维图像的神经 ...
最新文章
- 项目第二周冲刺第六天
- Maven配置JDK编译版本
- python 爬虫爬不出来_爬虫爬不进下一页了,怎么办
- vue中动态设置style样式和使用filters过滤器设置样式
- 从Var Tick角度来对CE电源管理
- 【软件工程】软件文档
- 再问数据中台-数据中台和数据仓库,数据平台的关系是什么?
- mysql sql 多选项_mysql – SQL选择此选项可使值仅出现一次
- css3 shapes是什么意思,CSS Shapes有哪些让人兴奋之处
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1
- C++构造函数初始化列表与赋值
- win定时关机_电脑快速关机的8种方法,很多人都不知道!
- day09 CDN绕过漏洞回链接口探针全网扫描反向邮件
- 深入理解设计模式-建造者模式(生成器模式)
- 查看360极速浏览器已保存的星号密码明文
- 2.大型网站架构演化的价值观
- HZNU2012图解
- AppOps 命令大全
- 青少年qsnctf [登录试试] 攻略
- matlab与simulink结合,code-matlab 利用SIMULINK和M函数相结合的方式仿真BFSK 调制在 联合开发网 - pudn.com...
热门文章
- 2021年大数据Spark(七):应用架构基本了解
- 【Vue】新建一个Vue3项目
- 打开word出现“您正试图运行的函数包含有宏或需要宏语言支持的内容。”的解决方法
- php+管道+pipe管道,C++ 匿名管道执行DOS命令
- Java 线程 知识
- github自己的仓库给别人上传代码的操作
- Error:Unsupported method: BaseConfig.getApplicationIdSuffix(). The version o
- 【vue】vue-znly
- 开源组件websocket-sharp中基于webapi的httpserver使用体验
- BZOJ1202: [HNOI2005]狡猾的商人