PCL体素化降采样 实现立方体体素可视化
- PCL库函数自带的VoxelGrid类能够实现对点云进行降采样。基本原理是对点云进行网格划分,落在每个小立方块区域中的点的重心就代表网格中的所有点。因此通过控制网格边长就能够控制降采样的点数。缺点在于不能指定降采样点数大小,只能通过调参逼近。
- 具体的体素化代码实现不做介绍,可以参考以下博客:
体素栅格滤波(下采样)
- 以下代码功能是可视化立方体体素
- 目前没有实现改变体素颜色,后期视使用情况增添(版本二)

#include <thread>
#include <pcl/common/common_headers.h>
#include <pcl/features/normal_3d.h>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std::chrono_literals;
using namespace std;
int main(int argc, char** argv) {
pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer("HelloMyFirstVisualPCL"));
viewer->setBackgroundColor(1, 1, 1);
FILE*fp = NULL; fp = fopen("filename.txt", "r");
if (!fp)
{
printf("打开文件失败!!\n");
int m;
cin >> m;
exit(0);
}
float x = 0, y = 0, z = 0;
int i =