zoukankan      html  css  js  c++  java
  • 03点云文件常用格式转换(pcd,txt,ply,obj,stl)

    1.  pcd转txt

     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

     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

     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

     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(均匀采样)

  • 相关阅读:
    Linux mysql 联表查询
    Linux firewalld使用教程+rhce课程实验
    Linux 常用端口
    Linux redhat 7 进入单用户模式
    Linux 子网掩码计算, 二进制十进制互相转换
    Linux 网络配置文件解析
    P1678 烦恼的高考志愿(二分)
    P1563 玩具谜题(简单模拟)
    P1553 数字反转(升级版)(模拟)
    P2690 接苹果 (DP)
  • 原文地址:https://www.cnblogs.com/zhaopengpeng/p/15567011.html
Copyright © 2011-2022 走看看