将bin 格式的点云转换成pcd 的格式有可能乱码,需要将pcd 另存一份
^W^Y<87>BÙΧ?²<9d>^_@Û¹<86>B<98>nÂ?d;^_@^PØ<86>BÅ Ð?)\^_@^Bë<86>BZdë?<8b>l^_@y©<86>B^L^B^C@^B+^_@<87><96><86>B^R<83>^P@ ^Z^_@<9e>ï<86>BÉv^^@î|^_@^DV<87>BD<8b>,@<9e>ï^_@^?*<8d>BX9<93>A<96>C+@^H¬<89>B®G<93>A²<9d>'@<83>ÀvB^PX<91>Au<93>^X@^[¯vBôý<92>A×£^X@ã¥vBð§<94>A<9c>Ä^X@ö¨vB)\<96>A`å^X@ݤvB=
<98>A%^F^Y@ <9a>vBF¶
mian.cpp
#include <iostream>
#include <cstring>
#include <pcl/io/pcd_io.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
bool LoadPCD(std::string filename, pcl::PointCloud<pcl::PointXYZ>::Ptr cloud)
{
if (pcl::io::loadPCDFile<pcl::PointXYZ>(filename, *cloud) == -1)
{
std::cout<< "can't read file " << filename << std::endl;
return (-1);
}
}
int main(int argc, char **argv) {
std::cout << "Hello, world!" << std::endl;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_source(new pcl::PointCloud<pcl::PointXYZ>);
std::string filename = "../a.pcd";
LoadPCD(filename, cloud_source);
std::cout << "PointCloud_source has: " << cloud_source->points.size () << " data points." << std::endl;
pcl::PCDWriter writer;
std::stringstream ss;
ss << "../a1.pcd";
writer.write<pcl::PointXYZ> (ss.str (), *cloud_source, false);
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(bin2pcd)
find_package(PCL 1.2 REQUIRED)
# 加入Boost setting
find_package(Boost COMPONENTS program_options REQUIRED )
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(bin2pcd main.cpp)
target_link_libraries (bin2pcd ${PCL_LIBRARIES} ${Boost_LIBRARIES}) #此处也有修改
install(TARGETS bin2pcd RUNTIME DESTINATION bin)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!