点云txt文件—>pcd文件
来源:互联网 发布:古墓丽影 mac 编辑:程序博客网 时间:2024/05/21 22:46
由于pcl点云库中的大多数方法的操作都是针对于pcd文件进行的,对于xyz坐标的txt文件的操作需要转化成pcd,今晚整理了一下将点云xyz坐标的txt文件转化成pcd文件方法。首先,统计txt文件中点的个数,即通过使用fgetc函数来统计\n的个数,然后将返回值作为pcd文件中点的个数。
使用以下代码实现:
struct lin{ double a[6];};int main(){ int n=121994; int c=0; lin st_1[n]; int m = 0;/////////////////////////////////以下为计算txt文件中点的数量////////////////////////////////////////// FILE *fp;// fp = fopen("/Users/pangshuxin/dataset/to pang/to pang/scan02.txt","r");// // do{// c = fgetc(fp);// if(c == '\n'){// ++m;// }// }// while(c != EOF);// // fclose(fp);// std::cout << m <<std::endl;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// std::cout<<n<<std::endl; FILE *fp_1; fp_1 = fopen("/Users/pangshuxin/dataset/to pang/to pang/scan02.txt","r"); std::cout << n <<std::endl; for(int i=0; i<n; ++i){ if(6==fscanf(fp_1,"%lf,%lf,%lf,%lf,%lf,%lf\n", &st_1[i].a[0],&st_1[i].a[1],&st_1[i].a[2],&st_1[i].a[3],&st_1[i].a[4],&st_1[i].a[5])){// std::cout<<st_1[i].a[0]<<std::endl; } } fclose(fp_1); std::cout<<"ok"<<std::endl;pcl::PointCloud<pcl::PointXYZ> cloud;// Fill in the cloud datacloud.width = n;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 = st_1[i].a[0]; cloud.points[i].y = st_1[i].a[1]; cloud.points[i].z = st_1[i].a[2];} pcl::io::savePCDFileASCII ("/Users/pangshuxin/dataset/1/b.pcd", cloud);std::cerr << "Saved " << cloud.points.size () << " data points to test_pcd.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; return 0;}int numofPoints(char* fname){ int n=0; int c=0; FILE *fp; fp = fopen(fname,"r"); do{ c = fgetc(fp); if(c == '\n'){ ++n; } } while(c != EOF); fclose(fp); return n;}
0 0
- 点云txt文件—>pcd文件
- 点云txt文件—>pcd文件
- pcl点云PCD文件
- 向pcd文件写入点云数据
- 点云数据写入PCD文件
- 点云pcd文件的生成
- 向pcd文件写入点云数据
- PCD点云文件的读取
- PCL——txt文件转到PCD文件
- 基于+文件流的txt点云转pcd
- 点云txt格式转pcd格式
- 点云TXT转化为pcd格式
- [Point Cloud Library] 点云数据写入PCD文件
- [Point Cloud Library] 点云数据写入PCD文件
- 从PCD文件中读取点云数据
- [Point Cloud Library] 点云数据写入PCD文件
- 从PCD文件写入和读取点云数据
- 点云数据格式装换-pcd转txt
- Android中Is library配置的妙用
- hello world
- signed和unsigned之间
- Java写的爬虫爬百度首页Code《转自零基础写Java知乎爬虫之先拿百度首页练练手》
- POJ 3368 Frequent values(RMQ)
- 点云txt文件—>pcd文件
- LeetCode-Pow(x, n)
- JavaScript对象引用
- js for循环 setTimeout与setInterval测试
- 【黑马程序员】---Objective-C面向对象知识总结
- boost asio编程笔记
- 安卓的动画效果
- 参数 sync_binlog、innodb_support_xa、innodb_flush_log_at_trx_commit
- 阿里巴巴安全部道哥、云舒3月10日在北邮讲座小记