点云文件转换——bin文件转pcd

pcl学习记录(1) 首先上个b站链接,视频先入门 07-PCL教程-基础应用-PCL初识2——pcl_viewer设置背景前景色、点大小、不透明度、坐标轴长度、坐标轴位置_哔哩哔哩_bilibili 1、pcl_viewer操作 pcl_viewer test.pcd 查看某pcd文件 pcl_viewer -multiview 1 ism_test_cat.pcd ism_test_wolf.pcd 多视图窗口显示 2、pcl_pcd_convert_NaN_nan将“NaN”值转换... 阅读详情
AI摘要

文章介绍了两种方法将bin格式的点云数据文件转换为PCD格式。方法一是利用PCL库提供的命令行工具pcl_convert_pcd_ascii_binary进行转换,并使用pcl_viewer查看结果;方法二是编写C++程序,通过PCL库直接读取bin文件并保存为PCD文件。

方法1

打开终端(Terminal),进入bin文件所在的目录。
使用PCL库提供的pcl_convert_pcd_ascii_binary命令将bin文件转换为PCD文件。命令格式如下:

pcl_convert_pcd_ascii_binary input_file.bin output_file.pcd 0

input_file.bin是要转换的bin文件,output_file.pcd是输出的PCD文件,0表示转换为二进制格式的PCD文件,如果要转换为ASCII格式的PCD文件,可以将0改为1。

等待转换完成后,使用PCL库提供的pcl_viewer命令查看转换后的PCD文件。命令格式如下:

pcl_viewer output_file.pcd

其中,output_file.pcd是要查看的PCD文件。

方法2

简单的C++程序,可以将Kitti数据集中的二进制格式的bin文件转换为PCD文件

#include <iostream>
#include <fstream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>

int main(int argc, char **argv)
{
    // 检查输入参数
    if (argc != 3) {
        std::cerr << "Usage: " << argv[0] << " input_file.bin output_file.pcd" << std::endl;
        return -1;
    }

    // 打开输入文件
    std::ifstream input_file(argv[1], std::ios::binary);
    if (!input_file.is_open()) {
        std::cerr << "Failed to open input file: " << argv[1] << std::endl;
        return -1;
    }

    // 读取点云数据
    pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);
    pcl::PointXYZI point;
    while (input_file.read((char *)&point, sizeof(pcl::PointXYZI))) {
        cloud->push_back(point);
    }
    input_file.close();

    // 保存点云数据到输出文件
    pcl::PCDWriter writer;
    writer.write<pcl::PointXYZI>(argv[2], *cloud, false);

    std::cout << "Converted " << cloud->size() << " points from " << argv[1] << " to " << argv[2] << std::endl;

    return 0;
}

这个程序使用PCL库读取和保存点云数据。在程序中,首先检查输入参数,然后打开输入文件并读取点云数据。点云数据存储在pcl::PointCloudpcl::PointXYZI类型的指针中。最后,程序使用pcl::PCDWriter类将点云数据保存到输出文件中。这个程序可以通过命令行传递输入和输出文件的路径,例如:

./bin_to_pcd input_file.bin output_file.pcd

其中,./bin_to_pcd是程序的可执行文件名。其中,./bin_to_pcd是程序的可执行文件名,input_file.bin是输入的bin文件的路径,output_file.pcd是输出的PCD文件的路径。在程序中,输入文件的路径可以通过argv[1]来获取,输出文件的路径可以通过argv[2]来获取。

Kitti Odometry .bin点云文件转pcd 最近在研究Kitti Odometry数据集,要做的一个事情是把velodyne中的.bin点云文件转成pcd并可视化。 本博客介绍用ROS pcl实现以上转换。 (备注:这里需要用到pcl_ros这个包,之前配置的ROS不知道为啥缺少了这个包,导致之后编译的时候一直报错,提示找不到pcl_rosConfig.cmake pcl_ros-config.cmake,之后卸载了ROS又重新安装了一... 阅读详情

相关推荐

点云las数据转pcd并显示--》点云的PCD和BIN格式及其转换与可视化

从points属性中提取X、Y和Z坐标。# 将坐标组合成一个NumPy数组。将 Open3D 导入为 O3D。# 使用laspy打开LAS文件。# 使用open3d创建点云对象。# 将点云数据保存为二进制文件。点云LAS转pcd pcd转。将 numpy 导入为 NP。# 替换为你的LAS文件路径。# 替换为你的PCD文件路径。# 获取点云数据的xyz坐标。# 保存为PCD文件。

qq_41766395的博客 1870

PCL——数据转换:txt转pcd、bin转pcd

PCL数据格式转换

QomoL_的博客 2844

rosbag点云数据保存为bin,ply,pcd文件

本文基于ros将rosbag中的点云数据一帧一帧保存成对应的文件,并比对各个文件占用空间大小。 阉割版的如下,能用,但是少了一些功能,旨在记录保存下来的各种点云文件。 废话不说,直接上代码: #include <ros/ros.h> #include <sensor_msgs/PointCloud2.h> #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h

qq_40216084的博客 6138

将bin文件转成pcd文件

(Point Cloud Data)文件格式则是点云处理领域广泛接受的标准格式,它不仅存储点云数据,还包含了元数据信息,如点云的大小、类型、宽度、高度等。在点云处理的众多环节中,不同文件格式之间的转换是一项基础且重要的任务。文件以其紧凑的二进制形式存储点云数据,而。格式的灵活性和丰富信息。

自动驾驶实战 875

如何读取或转换PCD点云文件

PCD点云文件的读取与bin之间的转换

slamer111的博客 8765

将KITTI数据集中点云文件.bin转换成.pcd

KITTI数据集下载: https://pan.baidu.com/s/14WchJlcZ2guwcfbHqrdFw 密码:grys 关于KITTI数据集的介绍可以参考这篇博客: https://blog.youkuaiyun.com/u013086672/article/details/103913361 以下部分均在点云数据集上做研究: 在ubuntu16.04下使用pcl将.bin文件转化为.pcd文件 具体流程:home→新建文件夹PointCloud→在PointCloud文件里继续新建文件夹bin

qq_27339501的博客 2722

将KITTI数据集中的点云集由.bin文件转换为ubuntu PCL可以识别的PCD文件。

将KITTI数据集中.bin文件通过Matlab生成.pcd文件,解决由Matlab生成的.pcd文件无法在pcl正常显示的问题。

qq_63291151的博客 1351

ubuntu16.04下用pcl库将点云bin文件转成pcd文件

由于雷达点云原始数据是二进制bin格式,而项目所需要的输入格式为pcd格式,所以这几天着手解决这个问题。 然而网上相关的资料并不多,再加上自己没有多少在ubuntu下编译C++的经验,导致踩坑无数。。 1.bin2pcd.cpp文件 参考:https://github.com/yanii/kitti-pcl/blob/master/src/kitti2pcd.cpp 参考博客:https:...

苦冲 ,开 了便淡╮ 5820

基于python实现点云数据格式的转换(csv转bin,csv转pcd)

基于python实现点云数据格式的转换(csv转bin,csv转pcd)

awjt2019的博客 2288

【3D目标检测】点云数据.bin转pcd

1 安装pclpy pip install pclpy -i https://pypi.tuna.tsinghua.edu.cn/simple 注意:pclpy不支持python3.8 2 代码 from pclpy import pcl import numpy as np # 读取点云 points = np.fromfile("000013.bin", dtype="float32").reshape((-1, 4)) # 载入到 pcd 中 pcd = pcl.PointCloud.Poin

静谧、淡雅 1077

PCL :实现KITTI数据集.bin文件转.pcd并可视化(附完整源码)

PCL :实现KITTI数据集.bin文件转.pcd并可视化(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 757

matlab bin转pcd ply

clc; clear; close all; fileID=fopen('0000000000.bin','rb'); %以float32的格式将数据存放在列向量中 [a,count]=fread(fileID,'float32'); x = a(1:4:end)*100; y = a(2:4:end)*100; z = a(3:4:end)*100; intensity= a(4:4:end)*100; data = pointCloud([x y z ],'intensity',intensity);

weixin_42181600的博客 941

bin格式转换成pcd

bin格式转换成pcd

计算机视觉:点云的PCD和BIN格式及其转换与可视化

计算机视觉:点云的PCD和BIN格式及其转换与可视化

博学而笃志,切问而近思。 8142

BIN2PCD.zip

在ubuntu系统下,直接下载该文件,在build文件夹下进行make编译。将点云文件放入设定好的文件夹,运行程序,将bin格式点云批量转化为pcd格式。

当FPGA遇上Codesys:用Verilog实现ModbusTCP协议栈的3种方法(Xilinx/Vivado实测)

本文详细介绍了在Xilinx FPGA上使用Verilog实现Modbus TCP协议栈的三种方法,并与Codesys环境无缝集成。从基础架构设计到纯Verilog实现、基于AXI总线的混合方案,再到与Codesys的集成方法,为开发者提供了完整的工业自动化通信解决方案。通过实测数据对比,帮助开发者选择最优实现方案。

weixin_29172963的博客 521

点云数据bin格式转换为pcd格式的方法

申明:再找到一款点云标注工具(https://blog.youkuaiyun.com/r1141207831/article/details/103788891)的时候发现只能输入pcd文件,那么现有的bin文件无法使用,于是找到了bin文件转换为pcd文件的方法,现在分享出来和大家一起讨论学习,如有问题可以留言评论。也感谢那些默默支持和帮助的人。 程序运行环境: 运行系统:Ubuntu16.04 ...

华青水上的博客 7292

ISP算法:自动白平衡(AWB)

1. 为什么要做白平衡? 人类视觉系统具有颜色恒常性特点,一次人类对物体观察不受光源影响。但是Sensor在不同光线下,物体呈现的颜色不同,在晴朗天空下会偏蓝,在烛光下会偏红。如图: 2.什么是自动白平衡? 为了消除光源对于图像传感器成像的影响,模拟人类视觉系统的颜色恒常性。保证在任何场景下看到的白色是真正的白色。 3. 如何做自动白平衡? 只要乘以一个对角矩阵,便可以进行白平衡...

a200800170331的专栏 1万+

Ubuntu16.04下将点云bin文件转成pcd文件

Ubuntu16.04下将点云bin文件转成pcd文件 不多说,直接上。首先要先安装好点云库(pcl),可以参考我之前的博客。 安装好pcl后,会发现home下有一个pcl文件。 之后正式操作具体如下: 在home下,新建文件夹PointCloud(我建在这里,大家随意),在PointCloud文件里继续新建文件夹bin2pcd,在bin2pcd文件里继续新建文件夹velodyne和build,同...

小邋遢-lxh的博客 2169

深入剖析RK3588系统休眠唤醒机制及驱动适配秘籍

本文深入探讨了RK3588嵌入式系统的休眠唤醒机制及驱动适配技术。首先分析了系统支持的两种休眠模式(Freeze浅度睡眠和Mem深度睡眠)及四种唤醒方式(GPIO中断、蓝牙事件、外设活动和定时器唤醒)的工作原理。重点介绍了驱动适配的三个关键环节:设备树配置要点、驱动代码实现与优化方法,以及驱动与内核电源管理的协同机制。通过GPIO按键唤醒和蓝牙唤醒两个实际案例,展示了具体实现过程并提供了常见问题的解决方案。文章为开发者提供了全面的技术参考,有助于优化系统功耗管理和响应性能,对嵌入式系统开发具有重要指导意义。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 433

PLC批量读写优化:C# Modbus TCP多寄存器批量操作(效率提升50%)

效率提升:请求次数减少90%以上,通信耗时降低50%-95%;资源节约:减少网络带宽占用和PLC/上位机CPU负载;稳定性提升:更少的请求意味着更少的通信异常;适配高频采集:满足工业现场100ms/次的高频率数据采集需求。工业落地时需注意:批量操作的核心是地址连续化规划,提前与PLC工程师协同规划寄存器地址,是优化的前提;同时需配合重试、校验机制,确保批量操作的可靠性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1258

使用pcl将bin文件转化为pcd文件

使用pcl将bin文件转化为pcd文件 环境搭载:ubuntu16.04 之后正式操作具体如下: 在home下,新建文件夹PointCloud(我建在这里,大家随意),在PointCloud文件里继续新建文件夹bin2pcd,在bin2pcd文件里继续新建文件夹velodyne和build,同时新建文档bin2pcd.cpp和CMakeLists.txt,进入新建等velodyne文件里,继续新建...

如有侵权,请联系作者删除 5573

Android14 SystemUI如何实现下拉菜单栏高斯模糊背景效果(类似于毛玻璃效果)

我们都知道,从Android12起,下拉菜单栏控制中心都是黑色的,看起来非常不美观,而且国内的手机系统UI都做的比较美观,大部分的下拉菜单UI背景都是实现了高斯模糊效果,所以客户也会要求实现类似于这样的效果。在以前的Android项目中,实现下拉菜单栏的模糊背景就是通过截图的方式进行替换背景,而这种方式下拉菜单背景极易替换不了,就算是在各个地方都适配,还是有概率在复杂场景或者一些测试手法下出现背景是黑的情况,并且这种方式还比较影响性能,毕竟每次都要去截图一次,多做了额外的事。

热衷于Android Framework和系统APP的修改经验分享 1793
上一篇: C++ primer 基础学习笔记(四)
下一篇: 人工智能面试总结(1)——基础理论
小巫山云子
博客等级 码龄6年 1477粉丝 51原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值