pcl经典算法60例——所有代码参考链接(开源)

pcl经典算法60例大集合

 

方法名称

开源链接

1

打开点云

MFC显示点云_柯西等式的博客-CSDN博客

2

显示法线

PCL计算点云的法线_pcl 法线_Tom Hardy的博客-CSDN博客

3

三角化

PCL学习笔记——点云曲面重建(三)_陈三章的博客-CSDN博客

4

彩色mesh

如何使用PCL将XYZRGB点云转换为彩色mesh模型_pcl xyzrgb转xyz_Sparta_117的博客-CSDN博客

5

平滑点云

Surface-1 PCL学习记录-6 Moving Least Squares (MLS) ( 平滑处理-基于多项式拟合的法线估计+点云平滑和数据重采样)功能及用法解析_基于mls的点云采样_HarwardWu的博客-CSDN博客

6

统计密度滤波

基于统计学的点云去噪_统计学去除噪声_仰望星空_LiDAR的博客-CSDN博客

7

直通滤波器

PCL补充之滤波、提取、配准方法_51CTO博客_pcl 滤波

8

中值滤波

https://wenku.csdn.net/answer/592d8ccff09445cf95e37a7b9a741303

Point Cloud Library (PCL): pcl::MedianFilter< PointT > Class Template Reference

9

双边滤波

基于法线的点云双边滤波_pcl法线滤波_xinxiangwangzhi_的博客-CSDN博客

双边滤波(Bilateral Filtering)_听风者868的博客-CSDN博客

PCL 点云库学习四(双边滤波器)_pcl双边滤波_磊磊哈哈的博客-CSDN博客

10

定视角看点云

PCL点云:点云显示&观察视角姿态_pcl addcoordinatesystem_XJTU_JP的博客-CSDN博客

11

点云转正

PCL点云库——旋转平移矩阵_饿得太久吃不下的博客-CSDN博客

12

平移+旋转

pcl自动计算旋转矩阵, 将点云归正_pcl 利用法向量将倾斜的点云矫正_3D_DLW的博客-CSDN博客

13

移动立方体

PCL泊淞重建&移动立方体算法_泊松重建算法_Tech沉思录的博客-CSDN博客

14

比对不同

pcl无序点云数据变化检测(octree)并实现可视化_pcl 变化检测_Tech沉思录的博客-CSDN博客

15

NARF关键点

提取NARF关键点_琪琪才疏的博客-CSDN博客

16

Harris关键点

PCL点云库学习笔记(6)——关键点_点云关键点_张飞飞~的博客-CSDN博客

17

ICP官方

点云配准(PCL+ICP)_MSTIFIY的博客-CSDN博客

18

ICP正态NDT

【PCL】NDT点云配准(Registration)_pcl ndt代码_Frank学习路上的博客-CSDN博客

19

ICP变种

PCL快速点特征直方图配准算法_点特征配准方法 csdn_Rson555的博客-CSDN博客

20

多幅点云配准

https://www.cnblogs.com/li-yao7758258/p/6489585.html

21

PCA主方向

激光雷达点云操作的工程化分享(二)——PCA - 古月居

22

生成包围盒

PCL之求点云的BoundingBox_pcl boundingbox_ancy_i_cv的博客-CSDN博客

23

协方差矩阵

pcl 计算协方差矩阵的特征值和特征向量精度不高的问题_pcl::eigen33_Neverland_LY的博客-CSDN博客

24

生成切片

点云切片,并保存切片_mengzhilv11的博客-CSDN博客

25

向平面投影

https://www.cnblogs.com/lovebay/p/9337364.html

26

向球面投影

PCL 点云投影到球面 - 知乎

27

凸包顶点计算

【PCL】——点云凸包检测 ConvexHull 和 CropHull 滤波_pcl凸包体积_Amelie_xiao的博客-CSDN博客

28

凸包重建mesh

PCL计算ConvexHull凸包、ConcaveHull凹包_pcl::concavehull_com1098247427的博客-CSDN博客

29

凹多边形边界

PCL 在平面模型上构建凹多边形 - 灰信网(软件开发博客聚合)

30

凹包重建

PCL计算ConvexHull凸包、ConcaveHull凹包_pcl::concavehull_com1098247427的博客-CSDN博客

31

泊松重建

PCL 泊松曲面重建法 - 灰信网(软件开发博客聚合)

32

B样线条曲面拟合

PCL——B样条曲线曲面拟合_b样条曲面拟合_fairy_zzr的博客-CSDN博客

33

PFH特征

PCL之点特征直方图(PFH)_pcl pfh_ancy_i_cv的博客-CSDN博客

34

FPFH特征

PCL 计算FPFH并可视化 | 码农家园

35

VFH特征

点云特征提取--vfh_vfh点云_阿GEM是我的的博客-CSDN博客

36

FPFH应用

PCL提取3D点云模型特征(3.0 FPFH快速点特征直方图)附完整代码_McQueen_LT的博客-CSDN博客

37

曲率特征提取

PCL提取3D点云模型特征(1.0 点云曲率)_pcl::normal 曲率_McQueen_LT的博客-CSDN博客

38

最大曲率

PCL点云库——点云最大曲率_pcl::principalcurvaturesestimation_饿得太久吃不下的博客-CSDN博客

39

绘制曲率图

PCL教程-PCLPlotter图表可视化类_SOC罗三炮的博客-CSDN博客

40

按曲率值上色

根据形变程度给点云上色_点云形变_阿GEM是我的的博客-CSDN博客

41

区域生长分割

PCL学习笔记(二十六)-- 基于区域生长的分割_pcl::normalestimation_看到我请叫我学C++的博客-CSDN博客

42

最小图分割

PCL——点云分割(最小图分割)_点云分割 最小分割法_cbb8234078009的博客-CSDN博客

43

颜色蔓延分割

PCL学习笔记(二十七)-- 基于颜色的区域生长分割_pcl::indices_看到我请叫我学C++的博客-CSDN博客

44

圆柱分割

PCL圆柱拟合及圆柱中心点获取_stanshi的博客-CSDN博客

45

球形分割

PCL拟合平面和球面模型_pcl::randomsampleconsensus<pcl::pointxyz> ransacc(_Tech沉思录的博客-CSDN博客

46

裁剪点云

【PCL】——点云凸包检测 ConvexHull 和 CropHull 滤波_pcl凸包体积_Amelie_xiao的博客-CSDN博客

47

移除平面

点云平面提取_利用 PCL 分割平面上的物体_weixin_39817215的博客-CSDN博客

48

最小二乘平面

PCL-algorithm/leastsquare.cpp at main · taifyang/PCL-algorithm · GitHub

49

Ransac平面分割

PCL点云库调库学习系列——随机采样一致性(附完整代码)_InfinityCoder3的博客-CSDN博客

50

Vccs超体素分割

PCL学习笔记(三十一)-- 基于超体素的点云分割_pcl超体素分割_看到我请叫我学C++的博客-CSDN博客

51

Lccp超体素分割

PCL超体素分割算法_pcl 体素分割_-特立独行的猪-的博客-CSDN博客

52

欧式聚类分割

PCL中点云分割算法简析_pcl点云分割_人狮子的博客-CSDN博客

PCL教程-点云分割之欧式聚类分割_pcl 聚类_SOC罗三炮的博客-CSDN博客

53

计算两面交线

StanfordPCL/test/common/test_plane_intersection.cpp at 5e35cdafdfd92636b82bda317c9928abc1b6d1d2 · qianyizh/StanfordPCL · GitHub

54

拟合直线

直线生成以及pcl直线拟合_pcl拟合直线_诺有缸的高飞鸟的博客-CSDN博客

55

合并两个点云

PCL把两个点云合并成一个点云_点云拼接_滑了丝的螺丝钉的博客-CSDN博客

56

移除边不连续点

PCL之滤波_shadowpoints pcl_AICVer的博客-CSDN博客

57

多项式曲线绘制

PCL_PCLPlotter类学习教程_pcl.plotter_Rson555的博客-CSDN博客

58

点云转深度图

点云转深度图:转化,保存,可视化_点云数据 按视角 转化为 深度图像_AI视觉网奇的博客-CSDN博客

59

计算点云边界

PCL检测点云边界_pcl获取点集的外围轮廓_累了就要打游戏的博客-CSDN博客

60

深度图找边界

https://www.cnblogs.com/long5683/p/13281206.html

 

------------------------------------------------------------

声明 | 未经允许,禁止转载!

作者 | 大胡子大叔

出品 | CSDN

-------------------------------------------------------------
 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PCL中使用RANSAC算法剔除误匹配代码与剔除错误点对的代码类似,只需要将模型类型改为对应的模型类型即可。下面以剔除误匹配代码: ```cpp #include <pcl/registration/icp.h> #include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/visualization/pcl_visualizer.h> #include <pcl/filters/voxel_grid.h> #include <pcl/filters/filter.h> #include <vector> int main(int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_source (new pcl::PointCloud<pcl::PointXYZ> ()); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_target (new pcl::PointCloud<pcl::PointXYZ> ()); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_source_filtered (new pcl::PointCloud<pcl::PointXYZ> ()); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_target_filtered (new pcl::PointCloud<pcl::PointXYZ> ()); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_source_aligned (new pcl::PointCloud<pcl::PointXYZ> ()); // 从文件加载点云数据 pcl::io::loadPCDFile<pcl::PointXYZ> (argv[1], *cloud_source); pcl::io::loadPCDFile<pcl::PointXYZ> (argv[2], *cloud_target); // 筛选掉NaN点 std::vector<int> indices; pcl::removeNaNFromPointCloud (*cloud_source, *cloud_source, indices); pcl::removeNaNFromPointCloud (*cloud_target, *cloud_target, indices); // 下采样 pcl::VoxelGrid<pcl::PointXYZ> grid; grid.setLeafSize (0.01, 0.01, 0.01); grid.setInputCloud (cloud_source); grid.filter (*cloud_source_filtered); grid.setInputCloud (cloud_target); grid.filter (*cloud_target_filtered); pcl::IterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> icp; icp.setInputSource(cloud_source_filtered); icp.setInputTarget(cloud_target_filtered); // 设置RANSAC算法参数 icp.setRANSACOutlierRejectionThreshold(0.01); icp.setTransformationEstimationType(pcl::TransformationEstimationSVD); icp.setMaximumIterations(1000); icp.setTransformationEpsilon(1e-8); // 执行ICP变换 icp.align(*cloud_source_aligned); // 输出变换矩阵 std::cout << "Transformation matrix:" << std::endl << icp.getFinalTransformation() << std::endl; return (0); } ``` 上述代码中,首先使用`pcl::io::loadPCDFile`函数从文件加载点云数据。然后使用`pcl::removeNaNFromPointCloud`函数将点云中的NaN点去除。接下来使用`pcl::VoxelGrid`函数对点云进行下采样,以加快计算速度。然后创建`pcl::IterativeClosestPoint`对象,设置输入点云和目标点云。接着设置RANSAC算法的参数,包括剔除阈值和最大迭代次数等。最后调用`icp.align`函数执行ICP变换,得到变换后的源点云。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大胡子大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值