PCDViewer的常用操作

news2024/11/28 6:38:12

PCDViewer是一款功能强大但操作极为简单的点云可视化和编辑软件,支持对点云的渲染显示、查询、量测、建图拼接、编辑、格式转换等功能,同时支持了pose文件、矢量文件等的显示。PCDViewer目前提供了Windows、Ubuntu18.04、Ubuntu20.04等版本。

本页面总结了PCDViewer的基本、常用操作。

PCDViewer Release Page:
https://blog.csdn.net/Jacky_546287052/article/details/118074205

PCDViewer Auto Rotating


目录

1. 启动软件    

2. 打开点云

3. 点云的渲染

4.  显示pose文件

5. 显示连续帧点云的拼接效果

6. 配置颜色查找表(Color Table)

7. 快捷键

8. 点云标注(点云编辑)

9. 显示矢量

10. 数据清除

11. 用pcdviewer_skip.sh脚本批量打开点云文件


1. 启动软件    

      在安装目录下,双击PCDViewer,或者通过命令行打开PCDViewer,即可启动软件。

2. 打开点云

    软件支持pcd、ply、las点云文件的打开。
    通过菜单栏 Data -> Open Point Cloud  或 
    Layer Tree -> 鼠标右键菜单 -> Open Point Cloud 即可打开点云。
    软件支持一次打开多个点云文件。
    点云打开后,默认按高程方式进行渲染。    
    
    同时,软件支持用命令行方式直接打开pcd、las、ply文件。
    强烈建议将软件路径添加到系统环境变量。这样,可以直接通过命令调起本应用程序。
    同时,强烈建议将本软件设置为点云文件的默认程序,这样,可以通过双击点云文件用本软件直接打开。

    通过命令行加载点云文件的方式为:
    PCDViewer pcd_file_1 pcd_file_2 [...]

    打开的文件会记录到Data-Recent Files菜单中,下次软件启动时,可以直接通过Recent Files中的相应记录打开文件。

    点云打开后,会加入到Layer Tree进行管理,方便进行各种查找、渲染、编辑等操作。

    软件同时提供了las、pcd、ply格式相互转换的功能。

3. 点云的渲染

    PCDViewer提供了丰富的点云渲染方式,包括:
    - Render As Elevation: 按高程着色
    - Render As Mono Color: 按单一颜色着色
    - Render As RGB: 按点云自带的rgb颜色着色(如果点云有RGB信息的话)    
    - Render As Field: 按字段着色。
   
    PCDViewer支持按任意字段渲染点云。同时,对每一个字段,提供了Render By Label Color、Render By Random Color、Render By Continuous Color三种方式。
    -Render By Label Color:基于字段值,从颜色查找表取对应颜色,即color=LookupTabel(value);
    -Render By Random Color:基于字段值,按一种随机颜色算法计算颜色,即color=RandomColor(value);
    -Render By Continuous Color:基于字段值和连续颜色表计算相应颜色,即color=ContinuousColor(v_min, v_max, value)。
    颜色查找表可以通过Lable Color 表格进行编辑。
    Render By Continuous Color中,可以通过直方图工具调整v_min、v_max,从而调整可视化效果。

    提供了超级渲染字段进行点云的全局渲染,包括Elevation、Classification、Intensity、RGB,可以实现对点云的全局渲染,这在有些情形下可以极大地提高点云的渲染操作效率。点击工具栏的相应按钮即可。

4.  显示pose文件

     pose文件记录了连续时刻位姿。可以通过pose文件可视化可以查看某位置/某时刻位姿、坐标轴朝向、轨迹连续性、平滑性等。
     pose文件格式为:
     frame_id   time_stamp     x      y     z      qx     qy     qz      qw
     字段类型除frame_id为整型外,其他均为浮点型。
     字段间以空格分开。
     pose文件没有文件头。

 pose文件示例:

0 1669000000.324430  -1.79949 0.002519 -0.921 -0.000001 -0.000007 0.017514 0.999847
1 1669000000.423560  -1.708357 0.006662 -0.921 -0.000042 -0.000377 0.039366 0.999225
2 1669000000.523310  -1.465213 0.02722 -0.921 -0.000018 -0.00013 0.061221 0.998124
3 1669000000.622430  -1.269766 0.053482 -0.921 -0.000014 -0.000105 0.082008 0.996632
4 1669000000.721570  -1.159607 0.072923 -0.921 -0.000104 -0.000466 0.09825 0.995162
5 1669000000.820710  -0.970453 0.112265 -0.920999 0.000085 -0.000732 0.120379 0.992728

     可以通过点查询工具(Pickup Point)查询某一点的具体pose信息,信息以Point Info呈现出来。同时,软件同时会绘制出该pose点的姿态信息(orientation),红(Red)、绿(Green)、蓝(Blue)三轴分别代表代表该pose点局部坐标系的X轴、Y轴、Z轴朝向。

5. 显示连续帧点云的拼接效果

    在测绘及SLAM中,显示连续帧点云拼接效果极为重要。软件为显示连续帧点云的拼接效果提供了方便而强大的支持。
    首先加载点云pose文件,此时frame_id对应pcd点云文件的basename。例如1.pcd,其basename是1,则其frame_id为1。
    然后,就可以打开需要的点云文件查看拼接效果。
    借助距离量测、单帧点云的不同渲染方式,可以很方便地查看点云建图质量、精度。

6. 配置颜色查找表(Color Table)

      颜色查找表包含类别名、类别ID、类别颜色等信息。
      可以通过双击颜色从而编辑相应类别的点云颜色。
      也可以通过Append、Remove等增加或减少类别,控制要进行着色的类别范围。
      对不在Color Table中的类别,将会按白色进行着色。

      Color Table对应的软件配置文件名为lable_config.cfg,这实际上是一个utf-8编码的文本文件,用户可以直接编辑这个文件。

      用户可以任意设置Color Table所在的位置,可以放置在不同面板进行显示,也可以关闭它。关闭后,如果要重新打开,可以通过Config->Color Table让其重新显示。

7. 快捷键

   S/s          增加/减少点大小
   P/p          使平移速度变快/变慢
   Z/z           使缩放速度变快/变慢
   R/r           使旋转速度变快/变慢
   shift + r    开启/关闭自动旋转

   W      Roam快捷键
   C       Clear快捷键。清除点查询、距离量测、Focus(放大镜)等的相关绘制
   
   H       只在水平方向进行旋转 -- 禁用上下旋转
   V       只在竖直方向进行旋转 -- 禁用水平旋转
   
   关于缩放的一个小技巧:支持无限放大。有时候看起来还有放大空间,但放大不动了,不是放大到头了,实际上还可以放大。多次按大写Z,放大缩放速度,然后就会发现又可以放大了。同时,按住鼠标中键拖放可以实现快速缩放。

   提供了放大镜功能。放大镜实际上重置了旋转中心,极大地方便了用户操作。

7. 关于Layer Tree的操作
   1)双击鼠标修改Folder Item名字
   2)点击鼠标右键弹出菜单
   3)有时候Layer Tree操作空间被占满,无法出现”Add Folder”菜单选项,可以在点击鼠标右键的同时按住Alt键,就可以弹出”Add Folder”菜单选项了。
   4)直接按Delete键可以直接删除Item

8. 点云标注(点云编辑)

    提供了强大的点云标注功能,包括按多边形选取标注和“选点扩散”标注。当采用选点扩散工具时,采用区域生长算法自动将邻近点打上与target label。

   标注操作前,首先设置target class,即指定需要将点云标注的目标类别,然后通过相应工具进行点云标注操作。

9. 显示矢量

     本软件支持矢量文件显示。矢量文件格式为.ghs,为作者自定义的一种高效的矢量格式文件。关于文件格式定义,请参考PCDViewer Release Page 及随本软件发布时附带的test_data/example_file.ghs,这是一种文本格式文件,可以用文本编辑工具直接打开。同时,作者提供了.ghs文件的读写库,上传在github上(https://github.com/XuShengpan/GeneralGraphicsFormat),感兴趣的读者可以通过文件定义、代码等进一步了解。

例如:下图显示了一个矢量文件,其中包括顶点、向量、多边形等要素。

用户可以对矢量的显示方式进行编辑:

10. 数据清除

      用户可以通过Data->Clear 清除所有数据,然后重新打开新的数据。
      软件具有可靠的稳定性,清除所有数据再打开新的数据,与关闭软件再重新打开数据没有区别。

11. 用pcdviewer_skip.sh脚本批量打开点云文件

       有时候,需要按一定间隔抽象调查点云效果。提供了pcdviewer_skip.sh脚本批量打开点云文件。用法为:

bash pcdviewer_skip
Usage: {pcd_folder} {skip}

该脚本需要两个参数,第一个参数是点云文件的目录,skip是文件打开的间隔。例如,skip=10表示按每间隔10帧打开点云。

使用按脚本需要将PCDViewer的安装目录加入系统目录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/576969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql之高可用方案浅析

在工程项目中,系统应用的高可用性越来越重要,业主越来越重视。其实高可用可以分为应用层高可用和数据层高可用,数据层高可用中常见的有关系型数据库mysql的高可用、非关系型NoSQl数据库redis的高可用等,下面聊聊典型的关系型数据库…

2023 剑桥大学博士后/访问学者项目一览

作为全球知名的高等教育机构,剑桥大学一直致力于与世界各地的学者保持紧密联系,共同探索各个学科领域的前沿问题和挑战。为了加强国际间的学术交流和合作,剑桥大学开展了博士后访问学者项目,为来自不同国家和地区的优秀学者提供机…

【Python pyqt】零基础也能轻松掌握的学习路线与参考资料

。 Python和pyqt是一对非常强大的组合,可以用于快速开发各种应用程序,包括桌面应用程序、Web应用程序、游戏等等。如果想要系统地了解如何学习Python pyqt,可以遵循以下学习路线: Python基础知识学习 在学习pyqt之前&#xff0c…

机器学习_数据升维_多项式回归代码_保险案例数据说明_补充_均匀分布_标准正太分布---人工智能工作笔记0038

然后我们再来看一下官网注意上面这个旧的,现在2023-05-26 17:26:31..我去看了新的官网, scikit-learn已经添加了很多新功能, 我们说polynomial多项式回归其实是对数据,进行 升维对吧,从更多角度去看待问题,这样 提高模型的准确度. 其实y=w0x0+w1x1.. 这里就是提高了这个x的个…

发现一个好玩的东西:Markdown 使用 Emoji 表情

Markdown 使用 Emoji 表情 玩法1、复制和粘贴表情符号2、使用表情符号简码Markdown 定义列表 玩法 有两种方法可以将表情符号添加到Markdown文件中: 将表情符号复制并粘贴到Markdown格式的文本中或者键入emoji shortcodes。 1、复制和粘贴表情符号 在大多数情况…

C++ 学习 ::【基础篇:06】:C++ (inline)内联函数的介绍及其出现的意义【对比于 C语言宏函数】

本系列 C 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C 学习系列将分为三个阶段:基础篇、STL 篇、高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C的三大特性等&#…

基于html+css的图展示94

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

SpringCloudAlibaba中篇(Sentinel,Seata)(超级无敌认真好用,万字收藏篇!!!!)

文章目录 SpringCloudAlibaba中篇(Sentinel,Seata)1 Sentinel(流量处理)1.1 分布式系统遇到的问题1.2 服务雪崩1.3 容错机制1.4 什么是Sentinel1.5 初步使用Sentinel-流控规则1.6 Sentinel- SentinelResource1.7 初步使用Sentinel-降级规则1.8 控制台部署…

计算机组成原理-指令系统-机器级语言表示(汇编)

目录 一、X86汇编语言指令基础 寄存器 常见的算数运算指令​编辑 常见逻辑运算指令 AT&T格式和 Intel格式指令 选择语句的机器级表示 循环语句的机器级表示 二、CISC和RISC 一、X86汇编语言指令基础 寄存器 常见的算数运算指令 常见逻辑运算指令 AT&T格式和 Intel格…

程序猿成长之路番外篇-如何理解牛顿迭代法及如何使用牛顿迭代法求数的平方根

小伙伴们好久不见,我又来了,这次我分享的内容是如何理解牛顿迭代法及如何使用牛顿迭代法求数的平方根 什么是牛顿迭代法? 官方话术:牛顿迭代法又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson m…

【JavaSE】Java基础语法(二十五):异常

文章目录 1. 异常2. 编译时异常和运行时异常的区别3. JVM默认处理异常的方式4. 查看异常信息5. throws方式处理异常6. throw抛出异常7 . try-catch方式处理异常8. Throwable成员方法(应用)9. 自定义异常(应用) 1. 异常 异常的概述…

算法6.堆结构、堆排序、加强堆

算法|6.堆结构、堆排序、加强堆 1.比较器的定义 题意:定义一个学生类,分别实现对学生对象数组按年龄升序、按id降序、按名字的字典序、按id排序且id相同的年龄大的排在前边。 解题思路: 定义一个学生类定义一个实现了Comparator接口的类A…

前端包管理器的简介,pnpm的使用以及和npm的区别

随着前端的不断发展,包管理工具也不断的丰富,从最开始的npm到现在cnpm,pnpm,yarn,一个新的包管理工具的出现是为了弥补之前包管理工具的一个痛点,今天我就来说一下包管理器的出现的原因和pnpm的简单使用和一些包管理工具的一些区别…

【Vue】二:Vue核心处理---事件处理

文章目录 1. 事件修饰符1.1 prevent1.2 stop1.3 capture - 添加事件侦听器时使用 capture 模式。1.4 self1.5 one1.6 passive 2.按键修饰符3.系统修饰符 1. 事件修饰符 1.1 prevent 当我们点击后,回去先执行关联的事件,然后再去执行默认行为&#xff0c…

Arduino学习

物联网学习资料 《arduino程序设计基础》陈吕洲 北京航空航天大学出版社 半颗心脏博客导航一站式搜索(所有博客的汇总帖) Ai-Thinker 安信可科技 github 半颗心脏 | 徐宏 蓝牙技术 蓝牙网关【【智能家居】入门攻略二!啥是网关?蓝牙、zigbee协议详…

隐藏在背后的真相——数据存储的方式(上)

数据存储的方式 1. 数据类型详细介绍1.1类型的基本归 2. 整形在内存中的存储2.1原码,反码,补码2.2有符号(unsigned)和无符号(signed)2.3 例题 3. 大小端字节序介绍及判断 所属专栏:C语言❤️ &a…

学网络安全可以参考什么方向?该怎么学?

在这个圈子技术门类中,工作岗位主要有以下三个方向: 安全研发安全研究:二进制 方向安全研究:网络渗透方向 下面逐一说明一下。 安全研发 安全行业的研发岗主要有两种分类: 与安全业务关系不大的研发岗位与安全业务…

英文论文(sci)解读复现【NO.13】基于YOLOv5的自然场景下苹果叶片病害实时检测

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

python 真正的密码,字符串排序

代码: from typing import List def turePassword(wordList:List[str]) ->str:wordList list(set(wordList))#排序先字符串长度,其次字典序wordList.sort(keylambda x :(len(x),x))ans for i in range(len(wordList)-1,-1,-1):flag Truefor j in …

蓝奥声核心技术分享——无线同步群控技术

1.技术背景 无线同步群控技术指基于对目标场景状态变化的协同感知而获得触发响应并进行智能决策,属于蓝奥声核心技术--边缘协同感知(EICS)技术的关键支撑性技术之一。该项技术涉及无线物联网边缘域网络的无线通信与智能控制技术领域,具体主要…