当前位置:网站首页>After PCD is converted to ply, it cannot be opened in meshlab, prompting error details: ignored EOF
After PCD is converted to ply, it cannot be opened in meshlab, prompting error details: ignored EOF
2022-07-06 08:35:00 【Will_ Ye】
1. Problem
There is one pcd Point cloud file in format , use pcd_viewer It can be displayed normally , But I want to meshlab Do some editing inside , Found unable to open , Prompt the following error 
And then use vim or gedit To open it , You'll see the problem , Some point cloud files are large , It may get stuck on the way , But my point cloud file is very small , use gedit test2.ply, It is shown as follows :
so , It's all garbled mistakes , So it can be inferred that , from pcd Turn into ply There is a problem in the process of . Usually we use them pcl_pcd2ply ./1650511200.015289296.pcd ./test2.ply To convert pcd and ply, So it is certain that this instruction is ok , So the problem is pcd Where are the papers . If you usually pay attention to import pcd After the document , Many people will do a removal NAN The operation of the value , This is actually the key , Because in pcd In the document , It does save some NAN value , And if we don't remove them first , Direct conversion ply file , This will happen , When you know why , The solution is simple .
2. Solution
The train of thought is : stay pcd turn ply front , First do a removal NAN Value operation , And then we're converting , That's fine . Here is the implementation code :
int PCD2PLY_W_removeNAN(string pcdPath, string savePath)
pcl::PCLPointCloud2 cloud_ori;
if (loadPCDFile(pcdPath, cloud_ori) < 0)
{
cout << "Error: cannot load the PCD file!!!" << endl;
return -1;
}
// remove NaN type points
// Dependent functions #include <pcl/filters/filter.h>
std::vector<int> mapping;
pcl::removeNaNFromPointCloud(*cloud_ori, *cloud_ori, mapping);
string savePath = "/home/will/test1.ply";
pcl::PLYWriter writer;
writer.write(savePath,*cloud_ori);
return 0;
}
It's generated at this point test1.ply You can be in meshlab Successfully opened .
边栏推荐
- Yyds dry goods inventory three JS source code interpretation eventdispatcher
- Function coritization
- Is it safe to open an account in Zheshang futures?
- Beijing invitation media
- egg. JS project deployment online server
- Visual implementation and inspection of visdom
- [2022 广东省赛M] 拉格朗日插值 (多元函数极值 分治NTT)
- Configuring OSPF load sharing for Huawei devices
- Chrome浏览器的crash问题
- 【MySQL】日志
猜你喜欢

MySQL learning record 10getting started with JDBC

Restful API design specification

【MySQL】数据库的存储过程与存储函数通关教程(完整版)

Deep analysis of C language data storage in memory

企微服务商平台收费接口对接教程

Configuring OSPF load sharing for Huawei devices

2. File operation - write

指针进阶---指针数组,数组指针

Let the bullets fly for a while

Online yaml to CSV tool
随机推荐
Permutation and combination function
win10系统中的截图,win+prtSc保存位置
JVM performance tuning and practical basic theory - Part 1
Verrouillage [MySQL]
Rviz仿真时遇到机器人瞬间回到世界坐标原点的问题及可能原因
[2022 Guangdong saim] Lagrange interpolation (multivariate function extreme value divide and conquer NTT)
Golang force buckle leetcode 1020 Number of enclaves
egg. JS project deployment online server
2022.02.13 - NC001. Reverse linked list
CISP-PTE实操练习讲解
【MySQL】日志
Cisp-pte practice explanation
指针进阶---指针数组,数组指针
Summary of MySQL index failure scenarios
2022 Inner Mongolia latest water conservancy and hydropower construction safety officer simulation examination questions and answers
Ruffian Heng embedded bimonthly, issue 49
Sublime text using ctrl+b to run another program without closing other runs
China polyether amine Market Forecast and investment strategy report (2022 Edition)
The mysqlbinlog command uses
Deep analysis of C language data storage in memory