03点云文件常用格式转换(pcd,txt,ply,obj,stl)

摘要:
1.pcd到txt1#include<iostream>2#include<fstream>3#include<pcl/io/pcd-io。h˃ 45intmain(intargc,char*argv[])6{78pcl::PointCloud<pcl:点XYZ>::Ptrcloud

1.  pcd转txt

03点云文件常用格式转换(pcd,txt,ply,obj,stl)第1张03点云文件常用格式转换(pcd,txt,ply,obj,stl)第2张
 1 #include <iostream>
 2 #include <fstream>
 3 #include <pcl/io/pcd_io.h>   
 4 
 5 int main(int argc, char *argv[])
 6 {
 7 
 8     pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
 9     pcl::io::loadPCDFile("rabbit.pcd", *cloud);
10 
11     std::ofstream outfile;
12     outfile.open("rabbit.txt");
13 
14     for (size_t i = 0; i < cloud->points.size(); i++) 
15     {
16         outfile << cloud->points[i].x << "\t" << cloud->points[i].y << "\t" << cloud->points[i].z << "\n";
17      }
18 
19     system("pause");
20 
21     return 0;
22 }
View Code

2. txt转pcd

03点云文件常用格式转换(pcd,txt,ply,obj,stl)第3张03点云文件常用格式转换(pcd,txt,ply,obj,stl)第4张
 1 #include <iostream>
 2 #include <fstream>
 3 #include <pcl\io\pcd_io.h>
 4 
 5 int main() 
 6 {
 7     std::ifstream infile;
 8     infile.open("rabbit.txt");
 9 
10     float x, y, z;
11     pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
12     
13     while (infile >> x >> y >> z) 
14     {
15         cloud->push_back(pcl::PointXYZ(x, y, z));
16     }
17 
18     // 保存为二进制格式
19     //pcl::io::savePCDFileBinary("rabbit_new.pcd", *cloud);
20 
21     // 保存为ASCII格式
22     pcl::io::savePCDFileASCII("rabbit_new.pcd", *cloud);
23 
24     system("pause");
25 
26     return 0;
27 }
View Code

 3. pcd转ply

03点云文件常用格式转换(pcd,txt,ply,obj,stl)第5张03点云文件常用格式转换(pcd,txt,ply,obj,stl)第6张
 1 #include <iostream>
 2 #include <pcl\io\pcd_io.h>
 3 #include <pcl\io\ply_io.h>
 4 #include <pcl\point_types.h>
 5 
 6 int main() 
 7 {
 8     
 9     pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
10     pcl::io::loadPCDFile("rabbit.pcd", *cloud);
11 
12     pcl::io::savePLYFile("rabbit.ply", *cloud);
13 
14     system("pause");
15 
16     return 0;
17 }
View Code

4.ply 转pcd

03点云文件常用格式转换(pcd,txt,ply,obj,stl)第7张03点云文件常用格式转换(pcd,txt,ply,obj,stl)第8张
 1 #include <iostream>
 2 #include <pcl\io\pcd_io.h>
 3 #include <pcl\io\ply_io.h>
 4 #include <pcl\point_types.h>
 5 
 6 int main() 
 7 {
 8     
 9     pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
10 
11     pcl::io::loadPLYFile("rabbit.ply", *cloud);
12 
13 
14     pcl::io::savePCDFileBinary("rabbit.pcd", *cloud);
15 
16     system("pause");
17 
18     return 0;
19 }
View Code

5. obj/ply转pcd

参见:https://blog.csdn.net/taifyang/article/details/116382273?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162746031516780261991459%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162746031516780261991459&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-8-116382273.first_rank_v2_pc_rank_v29&utm_term=pcd%E8%BD%ACnpy&spm=1018.2226.3001.4187

obj/ply转pcd(均匀采样)

免责声明:文章转载自《03点云文件常用格式转换(pcd,txt,ply,obj,stl)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用树莓派3B+和 ITEAD PN532 读取、破解、写入M1卡【解决】Failed to restart network.service: Unit network.service not found.下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PCL特征点与配准(1)

关于输入一个具体的物体的点云,从场景中找出与该物体点云相匹配的,这种方法可以用来抓取指定的物体等等,具体的代码的解释如下,需要用到的一些基础的知识,在之前的博客中都有提及,其中用到的一些方法可以翻阅前面的博客,当然有问题可以关注公众号,与众多爱好者一起交流 具体的代码实现 #include <pcl/io/pcd_io.h> #include...

CPP常用库函数以及STL

其他操作 memset void * memset ( void * ptr, int value, size_t num ); memset(ptr,0xff,sizeof(ptr)); 使用memset初始化vector vector<int> vec(10,1); memset(vec.data(),0,vec.size()*sizeo...

【视频开发】【Live555】摄像头采集,264编码,live555直播(0)

参看 有关live555  1.首先需要修改live555,定义从 内存中直接获取source而不是从文件读取source的类。 自己实现的类命名为 H264FramedLiveSource    /* * Filename: H264FramedLiveSource.hh * Auther: chenbin * Create da...

【DLL相关】实现函数的DLL封装,并在另一个项目中调用

直接给出步骤: ===========函数的DLL封装=========== 1.创建第一个项目:win32控制台程序,应用程序类型:DLL,附加选项:导出符号(命名:double_dll) 2.double_dll.h中加入函数定义   extern DOUBLE_DLL_API int doublefun(int);//DOUBLE_DLL_API 根...

gpio IOCTL控制

之前工作的时候,linux下用过GPIO的,无非就是配置输出输入模式,set/get value ,或者是gpio中断之类的,用户态配置GPIO主要是两种方式:用户态使用mmap直接将GPIO 地址映射过来,操作地址, 或者 IOCTL发命令给内核,内核来控制,最近半年都在写单片机的代码。时间久了有点忘了,最近使用都是偷懒直接使用了/sys下的设备,通过s...

pcre 使用

1、主页地址:http://www.pcre.org/下载pcre-7.8.tar.bz22、解压缩:tar xjpf pcre-7.8.tar.bz23、配置:cd pcre-7.8./configure --prefix=/usr/local/pcre-7.8 --libdir=/usr/local/lib/pcre --includedir=/usr...