![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
pointcloud
点云
HelloJinYe
生于忧患,死于安乐
展开
-
pcl 模拟煤堆(圆堆)点云数据
0.写在前面因为项目的需要,需要自己模拟煤堆的点云数据,所以记录一下.1.主要思路煤堆的形状是个圆锥体,大概如上图所示.我们可以按照画圆的方式,从下网上圆的半径逐渐减小.每一层圆上点的坐标是(rcos, rsin, z),z越往上越小.再给每一个点加上高斯噪声,模拟现实中激光雷达扫描中存在的误差.其他的煤堆也是类似的操作,只是添加了平移.我这里只画了三个煤堆.2.代码main.cpp#include <iostream>#include <pcl/io/pcd_i原创 2020-12-14 14:55:14 · 1055 阅读 · 0 评论 -
pcl 多个窗口点云的可视化
1.实验目的在两个窗口中显示点云,作为对比.2.代码#include <pcl/io/pcd_io.h>#include <ctime>#include <Eigen/Core>#include <pcl/point_types.h>#include <pcl/point_cloud.h>#include <pcl/features/fpfh.h>#include <pcl/io/pcd_io.h>#in原创 2020-11-26 16:22:32 · 1112 阅读 · 1 评论 -
open3d 多个点云和坐标轴的可视化(坐标轴画在点云中心)
1.实验目的可视化两个点云,判断点云之间的相对距离,所以在点云的中心用坐标轴表示,比较直观2.代码import open3d as o3dimport numpy as npnpz_dir = "demo_data/"src_cloud_file = npz_dir + "init_149.pcd"tgt_cloud_file = npz_dir + "reg_305.pcd"FOR1 = o3d.geometry.TriangleMesh.create_coordinate_frame(原创 2020-11-26 16:08:08 · 12988 阅读 · 1 评论 -
open3d feature是什么
在做open3d registration_ransac_based_on_feature_matching函数时,有两个参数表示点云的特征,那么这个所谓的特征是什么?查阅源代码/// \class Feature////// \brief Class to store featrues for registration.class Feature {public: /// Resize feature data buffer to `dim x n`. /// ///原创 2020-08-13 20:32:38 · 314 阅读 · 0 评论 -
open3d registration_ransac_based_on_feature_matching 算法理解
最近在做open3d的点云配准,这里附上RegistrationRANSACBasedOnFeatureMatching的源码和一些注释原创 2020-08-03 22:34:43 · 3275 阅读 · 4 评论 -
pcl 点云格式txt转pcd
0.写在前面由于扫描仪设备软件采集到的数据转化后是txt的,所以将它转成pcd,这里提供一种写法1.主要思路通过构造pcl::PointCloud的对象cloud,从txt的空间坐标中读取数据,对这个cloud中的每个点赋值。2.main.cpp#include <iostream>#include <fstream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include原创 2020-07-15 22:59:47 · 1114 阅读 · 4 评论 -
pcl::IOException what() [pcl::PCDWriter::writeASCII] Could not open file for writing
记录一个stupid的问题用pcl保存点云数据的时候,一直提示terminate called after throwing an instance of 'pcl::IOException' what(): : [pcl::PCDWriter::writeASCII] Could not open file for writing!后来检查了一下自己的路径,路径竟然不存在!还是自己太菜了....原创 2020-06-22 21:43:09 · 2886 阅读 · 6 评论 -
对点云进行变换(旋转+平移),并添加高斯噪声
主要步骤1.读取点云数据2.设置变换矩阵3.添加高斯噪声附上代码#include <iostream>#include <pcl/point_types.h>#include <pcl/io/pcd_io.h>#include <pcl/io/ply_io.h>#include <pcl/PCLPointCloud2.h>#include <string>#include <opencv2/opencv.hp原创 2020-06-06 15:46:50 · 1462 阅读 · 8 评论 -
点云数据通过pcl的kdtree搜索关键点某半径邻域内的区域
利用pcl中的kdtree可以做到搜索关键点某半径邻域内的区域.主要步骤1.读入点云数据2.设置kdtree3.设置关键点和邻域半径4.执行搜索函数附上代码#include <iostream>#include <pcl/point_types.h>#include <pcl/io/pcd_io.h>#include <pcl/io/ply_io.h>#include <pcl/kdtree/kdtree_flann.h>#原创 2020-06-06 15:07:51 · 2121 阅读 · 1 评论 -
利用pcl的FPFH实现对两个点云的配准
1.体素滤波先对原始点云进行简化,对简化后的数据做配准计算, 然后将所获得的配准参数应用到原始点云,这样子可以提高计算效率pointcloud::Ptr voxelGrid(pointcloud::Ptr cloud_in){ pointcloud::Ptr cloud_out(new pcl::PointCloud<pcl::PointXYZ>); //down sample std::cout << "begin downSample, cloud原创 2020-06-02 17:38:56 · 4034 阅读 · 14 评论 -
利用pcl的icp方法实现对两个点云的配准及可视化显示
利用pcl的icp方法实现对两个点云的配准1.读取点云数据pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in (new pcl::PointCloud<pcl::PointXYZ>);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_out (new pcl::PointCloud<pcl::PointXYZ>);if(argc != 3){ cerr<<"输原创 2020-05-31 20:48:58 · 2182 阅读 · 0 评论 -
pointnet++编译运行报错undefined symbol: _ZN10tensorflow12OpDefBuilder4AttrESs的问题解决
我在修改了tf_ops下的3d_interpolation、grouping、sampling 的三个文件夹下的各自.sh文件的路径后,成功编译生成了对应的.s0文件。满心欢喜的运行train.py是时却又碰到了问题。tf_sampling_so.so报了一个问题:undefined symbol: _ZN10tensorflow12OpDefBuilder4AttrESs在作者的githu...原创 2019-11-28 22:49:13 · 5357 阅读 · 16 评论