C++ 在CImg中加载点云
我正在尝试从点云创建一个3D CImg对象,以使用CImg的编辑功能 我有一个以ascii格式保存的点云C++ 在CImg中加载点云,c++,point-cloud-library,cimg,C++,Point Cloud Library,Cimg,我正在尝试从点云创建一个3D CImg对象,以使用CImg的编辑功能 我有一个以ascii格式保存的点云 pcl::io::savePCDFileASCII("/path/data.txt", *cloud); 然后初始化一个3d CImg对象并尝试加载asci文件 CImg<float> image(cloud->width, cloud->height, 5); image.load_ascii("/path/data.txt"); 我对C++和CImg是新手,所
pcl::io::savePCDFileASCII("/path/data.txt", *cloud);
然后初始化一个3d CImg对象并尝试加载asci文件
CImg<float> image(cloud->width, cloud->height, 5);
image.load_ascii("/path/data.txt");
<>我对C++和CImg是新手,所以我不确定把点云加载到CIMG中的方法是正确的还是最佳的。我在互联网上也找不到任何有用的东西,CImg github造成的混乱比它的帮助还多
我使用Ubuntu 20,C++ 11,加载任何类型的2D图像。很好。 你的PCL文件不符合什么代码> CIMG< /Cube >。它正在查找以以下内容开头的文件:
WIDTH HEIGHT DEPTH NUMCHANNELS
float1
float2
float3
...
所以,我举了一个例子:
#include "CImg.h"
#include <iostream>
using namespace cimg_library;
using namespace std;
int main()
{
// Load image
CImg<float> image;
image.load_ascii("image.asc");
cout << image.width() << endl;
cout << image.height() << endl;
}
您的PCL文件与
CImg
期望的内容不匹配。它正在查找以以下内容开头的文件:
WIDTH HEIGHT DEPTH NUMCHANNELS
float1
float2
float3
...
所以,我举了一个例子:
#include "CImg.h"
#include <iostream>
using namespace cimg_library;
using namespace std;
int main()
{
// Load image
CImg<float> image;
image.load_ascii("image.asc");
cout << image.width() << endl;
cout << image.height() << endl;
}
快速查看源代码表明文件应以宽度-高度-深度NUMCHANNELS开头,后跟数据。快速查看源代码表明文件应以宽度-高度-深度NUMCHANNELS开头,后跟数据。
4 8 3 1
float1
float2
float3
...
float96