当前位置: 首页 > news >正文

2.PCL 对于点云的读写

文章目录


在这里插入图片描述

#include <iostream>
#include <pcl/io/pcd_io.h>     // 用于读写 PCD 文件
#include <pcl/io/ply_io.h>     // 用于读写 PLY 文件
#include <pcl/point_types.h>   // 点类型定义// 使用 PointXYZ 类型作为点云中的点类型
typedef pcl::PointXYZ PointT;
typedef pcl::PointCloud<PointT> PointCloud;int main()
{// 创建点云指针PointCloud::Ptr cloud(new PointCloud);// 1. 读取 PCD 或 PLY 文件std::string filename = "D:/PCL/monkey.ply";  // 使用正斜杠或双反斜杠// 自动识别文件格式并读取if (filename.substr(filename.find_last_of(".") + 1) == "pcd"){if (pcl::io::loadPCDFile(filename, *cloud) == -1){PCL_ERROR("Couldn't read file %s \n", filename.c_str());return (-1);}}else if (filename.substr(filename.find_last_of(".") + 1) == "ply"){if (pcl::io::loadPLYFile(filename, *cloud) == -1){PCL_ERROR("Couldn't read file %s \n", filename.c_str());return (-1);}}else{std::cerr << "Unsupported file format!" << std::endl;return -1;}std::cout << "Loaded "<< cloud->width * cloud->height<< " data points from " << filename << std::endl;//// 2. 打印点云信息(可选)// for (const auto& point : *cloud)// {//     std::cout << "Point: " << point.x << ", " << point.y << ", " << point.z << std::endl;// }// 3. 保存 PCD 或 PLY 文件std::string output_filename = "output_cloud.pcd"; // 你可以改为 .plyif (output_filename.substr(output_filename.find_last_of(".") + 1) == "pcd"){pcl::io::savePCDFile(output_filename, *cloud);}else if (output_filename.substr(output_filename.find_last_of(".") + 1) == "ply"){pcl::io::savePLYFile(output_filename, *cloud);}else{std::cerr << "Unsupported output file format!" << std::endl;return -1;}std::cout << "Saved "<< cloud->width * cloud->height<< " data points to " << output_filename << std::endl;return 0;
}
http://www.lryc.cn/news/590663.html

相关文章:

  • 《python语言程序设计》2018版第8章5题编写函数统计特定不重复字符串s2在s1中的出现次数
  • lua(xlua)基础知识点记录一
  • 基于阿里云云服务器-局域网组网软件
  • 低精度定时器 (timer_list) 和 高精度定时器 (hrtimer)
  • 如何加快golang编译速度
  • VIVADO技巧_BUFGMUX时序优化
  • 助力品牌从系统碎片化走向IT一体化建设,实现全渠道业务协同!——商派“数智化IT轻咨询”
  • tools的作用:预览
  • 硬件产品的技术资料管控是确保研发可追溯、生产可复制、质量可控制的核心环节。
  • MybatisPlus-11.IService的批量新增
  • 《十万线段绘乾坤:Canvas离屏渲染深度剖析》
  • 零基础学Vue3组件化开发
  • java操作Excel两种方式EasyExcel 和POI
  • Vue加密文章密码 VuePress
  • 使用defineExpose暴露子组件的属性和方法、页面生命周期onLoad和onReady的使用
  • 微服务架构升级:从Dubbo到SpringCloud的技术演进
  • CSS动画与变换全解析:从原理到性能优化的深度指南
  • Web前端性能优化原理与方法
  • PHP8.5.0 Alpha 1 正式发布!
  • Fiddler 中文版 API 调试与性能优化实践 官方中文网全程支持
  • 算法精讲--正则表达式(二):分组、引用与高级匹配技术
  • Hadoop(二)
  • java-面向对象之继承特性
  • 【时时三省】(C语言基础)通过指针引用多维数组2
  • 亚马逊云科技快速上手之EC2 WindowsServer如何设置初始密码和重置
  • 网络劫持对用户隐私安全有何影响?
  • 电力名词通俗解析5:计量系统
  • 矿业自动化破壁者:EtherCAT转PROFIBUS DP网关的井下实战
  • 0 - MIT 6.S081 2020 操作系统 实验环境配置
  • 计算机网络——数据链路层(25王道最新版)