《PCL点云库学习VS2010(X64)》Part 17 PCL1.72(VTK6.2.0)数据格式转换txt2pcd

本文主要是介绍《PCL点云库学习VS2010(X64)》Part 17 PCL1.72(VTK6.2.0)数据格式转换txt2pcd,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《PCL点云库学习&VS2010(X64)》Part 17 PCL1.72(VTK6.2.0)数据格式转换txt2pcd

1、txt转换成pcd点云格式

#include<iostream>  #include<fstream>  
#include <string>  
#include <vector>  
#include <pcl/io/pcd_io.h>  
#include <pcl/point_types.h>  #include <pcl/visualization/pcl_visualizer.h> using namespace std;
int main()
{typedef struct tagPOINT_3D{double x;  //mm world coordinate x  double y;  //mm world coordinate y  double z;  //mm world coordinate z  double r;}POINT_WORLD;/加载txt数据  int number_Txt;FILE *fp_txt;tagPOINT_3D TxtPoint;vector<tagPOINT_3D> m_vTxtPoints;fp_txt = fopen("D:/C++Workspace/Model/bunny1.txt", "r");if (fp_txt){while (fscanf(fp_txt, "%lf %lf %lf", &TxtPoint.x, &TxtPoint.y, &TxtPoint.z) != EOF){m_vTxtPoints.push_back(TxtPoint);}}elsecout << "txt数据加载失败!" << endl;number_Txt = m_vTxtPoints.size();//pcl::PointCloud<pcl::PointXYZ> cloud;pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);// Fill in the cloud data  cloud->width = number_Txt;cloud->height = 1;cloud->is_dense = false;cloud->points.resize(cloud->width * cloud->height);for (size_t i = 0; i < cloud->points.size(); ++i){cloud->points[i].x = m_vTxtPoints[i].x;cloud->points[i].y = m_vTxtPoints[i].y;cloud->points[i].z = m_vTxtPoints[i].z;}pcl::io::savePCDFileASCII("D:/C++Workspace/Model/txt2pcd_bunny1.pcd", *cloud);std::cerr << "Saved " << cloud->points.size() << " data points to txt2pcd.pcd." << std::endl;//for (size_t i = 0; i < cloud.points.size(); ++i)//	std::cerr << "    " << cloud.points[i].x << " " << cloud.points[i].y << " " << cloud.points[i].z << std::endl;//PCL Visualizer// Viewer  pcl::visualization::PCLVisualizer viewer("Cloud Viewer");viewer.addPointCloud(cloud);viewer.setBackgroundColor(1, 0.5, 1);viewer.spin();system("pause");return 0;
}



将转换后的结果显示出来




这篇关于《PCL点云库学习VS2010(X64)》Part 17 PCL1.72(VTK6.2.0)数据格式转换txt2pcd的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/515349

相关文章

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

Python使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas