PCL——简单点云可视化
PCL——简单点云可视化
- 1. 可视化概念
- 2. 示例代码
- 3. 资源下载
1. 可视化概念
- 可视化是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。
- PCL 中的 pcl_visualization 库提供了可视化相关的数据结构和组件,包含27个类似及十多个函数,其主要是为了其他模块的算法处理后的结果直观的反馈给用户,同时提供与VTK进行数据变换的接口,方便开发者直接进行扩展。
2. 示例代码
==以下代码可以参照《点云库PCL从入门到精通》==的代码,但是其中有错误,也可以参照PCL的官方文档:https://pcl.readthedocs.io/projects/tutorials/en/master/cloud_viewer.html
下图是加载了一个麦子点云文件后显示出来的结果,如果你加载出来的结果什么都看不见,或许是显示的太近导致的。
滚轮 可以调整点云的远近;
鼠标右键 也可以调整远近;
鼠标左键 可以调整点云整体的角度;
按下滚轮 可以上下左右拖动点云;
- cloud_viewer.cpp
#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL)
VTK_MODULE_INIT(vtkInteractionStyle)int user_data;
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{viewer.setBackgroundColor(1.0, 0.5, 1.0);pcl::PointXYZ o;o.x = 1.0;o.y = 0;o.z = 0;viewer.addSphere(o, 0.25, "sphere", 0);std::cout << "i only run once" << std::endl;}void viewerPsycho(pcl::visualization::PCLVisualizer& viewer)
{static unsigned count = 0;std::stringstream ss;ss << "Once per viewer loop: " << count++;viewer.removeShape("text", 0);viewer.addText(ss.str(), 200, 300, "text", 0);//FIXME: possible race condition here:user_data++;
}int main()
{pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);//pcl::io::loadPCDFile("milk.pcd", *cloud);pcl::io::loadPCDFile("maize.pcd", *cloud);pcl::visualization::CloudViewer viewer("Cloud Viewer");//showCloud函数是同步的,在此处等待直到渲染显示为止viewer.showCloud(cloud);//该注册函数在可视化时只调用一次viewer.runOnVisualizationThreadOnce(viewerOneOff);//该注册函数在渲染输出时每次都调用viewer.runOnVisualizationThread(viewerPsycho);while (!viewer.wasStopped()){//在此处可以添加其他处理user_data++;}system("Pause");return 0;
}
- 如果你在运行程序时发生了以下错误:
Error:no override found for vrkPolyDataMapper
- 解决方案可以参考这篇博客:https://blog.csdn.net/weixin_44522815/article/details/113096312?spm=1001.2014.3001.5506
3. 资源下载
https://download.csdn.net/download/weixin_38566632/85225587
PCL——简单点云可视化相关推荐
- PCL之点云可视化--CloudViewer
点云视窗类CloudViewer是简单的可视化点云工具类,仅用几行代码就可以让用户查看点云:但需要注意的是该类不能用于多线程应用程序中. 代码展示 #include<pcl/point_type ...
- python点云可视化工具_救命!点云可视化(不需配置PCL)
分享一波简单的可视化bin格式点云的方法. 先大概讲下背景,目前激光雷达采集的点云文件大多基于ROS,然后转化为pcd.bin格式进行处理.(ros-pcd-bin格式之间相互转换格式有相应的工具,如 ...
- pcl画圆球_PCL 可视化-阿里云开发者社区
可视化(visualization)是利用计算机图形学和图像处理技术,将数据转换图像在屏幕上显示出来,并进行交互处理的的理论,方法和技术, pcl_visualization库建立了能够快速建立原型的 ...
- creator qt 设置换行方式_win下使用QT添加VTK插件实现点云可视化GUI
大家在做点云的时候经常会用到QT,但是我们需要使用QT做点云的可视化的时候又需要VTK,虽然我们在windows下安装PCL的时候就已经安装了VTK,由于跟着PCL安装的VTK是没有和QT联合编译的, ...
- 第七周PCL学习--点云配准(七)
目录 引言 一.点云配准 1.1.定义 1.2.含义 1.3.配准过程 1.4.算法原理 1.5.实验 二.总结 三.参考 引言 随着计算机辅助设计技术的发展,通过实物模型产生数字模型的逆向工程技术, ...
- python点云可视化_3D可视化神器之Open3D
很多时候在python里面你要找一个3D点云可视化的库真的是难啊.你的选择可能是:pcl mayavi matplolib 但是以上都不好用,pcl甚至没有靠谱的python wrapper,唯一一个 ...
- PCL教程-点云配准之成对逐步配准(两两配准)
原文链接:How to incrementally register pairs of cloudshttps://pcl.readthedocs.io/projects/tutorials/en/l ...
- win下使用QT添加VTK插件实现点云可视化GUI
摘要 大家在做点云的时候经常会用到QT,但是我们需要使用QT做点云的可视化的时候又需要VTK,虽然我们在windows下安装PCL的时候就已经安装了VTK,由于跟着PCL安装的VTK是没有和QT联合 ...
- 29 基于PCL的点云平面分割拟合算法技术路线(针对有噪声的点云数据)
0 引言 最近项目中用到了基于PCL开发的基于平面的点云和CAD模型的配准算法,点云平面提取采用的算法如下. 1 基于PCL的点云平面分割拟合算法 2 参数及其意义介绍 (1)点云下采样 1. 参数: ...
- 手把手:R语言文本挖掘和词云可视化实践
互联网时代,大量的新闻信息.网络交互.舆情信息以文本形式存储在数据库中,如何利用数据分析和文本挖掘的算法,将海量文本的价值挖掘出来,成为我们团队近期的一个研究方向,本案例就是我们的一个初步尝试.飞信群 ...
最新文章
- wxpython分割窗口_wxPython实现分隔窗口
- 使用了这个神器,让我的代码bug少了一半
- 解决java.lang.UnsupportedClassVersionError
- iOS 之 内存管理
- P3317-[SDOI2014]重建【矩阵树定理,数学期望】
- 使用SWTEventHelper清除SWT侦听器通知
- MFC开发IM-第五篇、MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法
- [转载] python如何获取当前月份_Python-获取当前月的前x月月份日期
- 学生社团管理系统(Java+Swing+mysql)(超简陋)
- 【转】MS.Net开发人员必备的十种工具
- 实验三 循环程序设计
- 软件设计模式之路-----装饰者模式
- 微信小程序 登录与退出登录
- c语言语法要素,第6章DSP_C语言程序设计要素.ppt
- 【错误解决】SpringBoot邮件服务的一些错误及其解决方案
- 柱状图python_鬼灭之刃:鬼杀队九柱实力排行,霞柱是强弱分界线
- 微信小程序解决苹果端在禁止下拉刷新以后仍可以拖到屏幕的问题
- CNN网络结构理解:感受野计算方法
- Windows中无法删除文件的解决办法
- matlab中liccode函数,基于matlab车牌识别系统设计与实现(最终版)