QT进行pcl可视化显示

Qt PCL学习(一):环境搭建 阅读详情

首先由于pcl的vtk与qt的不兼容需要下载vtk控件,详细的介绍见之前的博客。

然后打开你的vs,新建qt项目,然后进入qtdesign,找到qvtk控件,在下图所示,然后加一些常用的控件就好了。

然后就可以愉快的写代码了,我这个实现了打开文件和滤波两个功能,敬请参考

#include <QtWidgets/QMainWindow>
#include "ui_pcl_test.h"

//vtk控件
#include <vtkRenderWindow.h>
#include <vtkAutoInit.h> 
VTK_MODULE_INIT(vtkRenderingOpenGL);
VTK_MODULE_INIT(vtkInteractionStyle);

//pcl依赖项
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>
//体素滤波
#include <pcl/filters/voxel_grid.h>
#include <pcl/visualization/cloud_viewer.h>

class pcl_test : public QMainWindow
{
	Q_OBJECT

public:
	pcl_test(QWidget *parent = Q_NULLPTR);
	~pcl_test();

private:
	Ui::pcl_testClass ui;
	//定义点云指针
    typedef pcl::PointCloud<pcl::PointXYZRGB> pointcloud;
	pointcloud::Ptr pointptr;
	//定义显示器
	boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer;;
	//初始化vtk
	void initialvtk();
	//创建打开槽
//private slots:
	//打开文件
	void openfile();
	//滤波和其点云指针
	void voxelgridfilter();
	//typedef pcl::PointCloud<pcl::PointXYZRGB> voxelcloudpoint;

};
#include "pcl_test.h"

#include <QFileDialog>
#include <iostream>



pcl_test::pcl_test(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	initialvtk();
	//打开文件
	connect(ui.button1, &QAction::triggered, this, &pcl_test::openfile);
	//点云滤波
	connect(ui.button2, &QAction::triggered, this, &pcl_test::voxelgridfilter);
	
	
}

pcl_test::~pcl_test()
{
	delete &ui;
}

//初始化vtk
void pcl_test::initialvtk()
{

	pointptr.reset(new pcl::PointCloud<pcl::PointXYZRGB>);
	viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
	viewer->addPointCloud(pointptr, "cloud");
	ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
	viewer->setupInteractor(ui.qvtkWidget->GetInteractor(), ui.qvtkWidget->GetRenderWindow());
	ui.qvtkWidget->update();
}


//读取文本型和二进制型点云数据
void pcl_test::openfile()
{
	//只能打开PCD文件
	QString fileName = QFileDialog::getOpenFileName(this,
		QString("Open PointCloud"), ".",
		QString("Open PCD files(*.pcd)"));

	if (!fileName.isEmpty())
	{
		std::string file_name = fileName.toStdString();
		pcl::io::loadPCDFile(file_name, *pointptr);
		//viewer->addPointCloud(pointptr, "cloud");
		viewer->updatePointCloud(pointptr, "cloud");
		ui.qvtkWidget->update();
	}
}

//体素滤波
void pcl_test::voxelgridfilter()
{
	pcl::PointCloud<pcl::PointXYZRGB>::Ptr voxelpointptr(new pcl::PointCloud<pcl::PointXYZRGB>);
	pcl::VoxelGrid<pcl::PointXYZRGB> filter;
	filter.setInputCloud(pointptr);
	filter.setLeafSize(0.1f, 0.1f, 0.1f);
	filter.filter(*voxelpointptr);
	pcl::io::savePCDFileASCII("voxel.pcd", *voxelpointptr);
	//viewer->addPointCloud(voxelpointptr, "cloud");
	viewer->updatePointCloud(voxelpointptr, "cloud");
	ui.qvtkWidget->update();

}

 

基于Qt在PCL中画圆环,VTK画圆环,pcl可视化viewer与vtk显示接合(终于解决) 基于Qt+PCL,找了很多资料,pcl中有 pcl::visualization::PCLVisualizer::addCircle 画圆环,但是明显看到圆环不圆,线条不光滑,不好看,于是采用vtk的不规则图形vtkRegularPolygonSource画圆,画在同一个描绘器里面。 阅读详情

相关推荐

【Qt】基于VTK9.1+VS2019+Qt5.15.2的点云可视化程序开发

由于工作需要和个人爱好,我最近在学习VS+Qt的界面开发和PCL点云库的使用。于是一时兴起准备做一个类似ROS里面自带的Rviz插件的Windows版本。折腾了两天,查阅了很多大佬的博客,但发现信息较为分散还有一些小坑,所以接下来就按照最新的、较为合理的方式来写一个点云可视化的demo。因为我也才接触Qt开发大约一周时间,所以以上内容难免有所错漏,希望评论区的大佬不吝赐教~

Roy_Yuan_的博客 1448

【PCL】基于C++与QT的PCL环境配置(保姆级教程)

基于C++与QT的PCL环境配置(保姆级教程)

qq_49149369的博客 1万+

QT配置PCL过程记录(一)

因为自己最近要用到Qt和PCL,所以就在网上搜集了一下资料,经过一天的折腾,总算是将PCL装上并且在Qt上配置成功。过程总的来说还是有些艰难的,毕竟穷之前没用过Qt,不了解Qt的机制,只能靠自己看一些书和网上的教程才得以没走太多的弯路。不过这中间也是碰到了一些问题,正好在这记录一下。 一、准备工作:软件的下载 我们所需要的软件主要有一下几个: VS2015:这就不用怎么介绍了,使用很广泛的一个软......

dayuhaitang1的博客 1万+

QT+PCL 点云学习

PCL 点云学习 概念 Point Cloud Libraries 点云库 和opencv处理图像一样,不过是3D图像的处理 支持文件格式 pcd格式文件 PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述任意多边形和激光扫描仪获取的点云。包括下面几种格式: l PLY是一种多边形文件格式,由Stanford大学的Turk等人设计开发; l STL是3D Systems公司创建的模型文件格式,主要应用于CAD、CAM领域; l OBJ是从几何学上定义的

weixin_44342705的博客 3159

基于PCL、Open3d、Easy3d 、VTK等常见开源库的QT开发

PCL+QT开发

阁楼 2万+

QT+PCL+VTK实现三维点云可视化:从环境搭建到交互显示

在三维视觉与机器人领域,点云数据的可视化是理解场景结构、验证算法效果的关键环节。PCL作为点云处理的事实标准库,提供了从文件读取到滤波分割的完整工具链,而其可视化模块则基于VTK构建,借助OpenGL完成高效渲染。QT作为成熟的C++界面框架,能够将VTK渲染窗口嵌入自研软件,实现真正可交互、可扩展的三维查看模块。理解这三大库的分工协作,是开发点云应用的基础:PCL负责数据处理,VTK负责场景绘制,QT负责交互界面与业务逻辑。这种组合广泛应用于自动驾驶标注工具、三维测量软件、工业检测系统等场景。本文基于一个

weixin_29182481的博客 318

PCL+Qt+VS可视化点云

前言Point Cloud Library (PCL)是一个功能强大的开源C++库,如果能够使用好PCL将会对我们在LiDAR数据处理领域的研究产生巨大帮助。LiDAR技术经过几十年的发展,目前国内外关于LiDAR点云数据处理的文献已很丰富,但是依然存在硬件上的发展速度大于软件的发展速度。PCL中的算法基于众多的科研人员和程序爱好者的无私贡献才有今天强大的PCL。博文中,我将针对如何结合PCL和Qt

wokaowokaowokao12345的专栏 2万+

【论文精读】Formal Mathematical Reasoning: A New Frontier in AI

注:本文根据师兄汇报内容总结。

m0_60634555的博客 1189

PCL+ VTK+QT ubuntu16.04配置 实现可视化点云

** 前言 因为项目需要,需要实现QT中实现点云显示,刚开始接触QT,有很多坑要躺,在坑了呆了4天,终于配置好了PCL1.8 + VTK6.3 + QT5.5 + ubuntu16.04! 网上参考的资料挺多,但都差不多,大部分都是基于windows下的开发,linux系统下的资料较少,刚从坑里出来,想记录下来,以免以后再用。 最初参考两篇博文 https://blog.csdn.net/wok...

Curryfun的博客 6470

ROS相机内参标定详细步骤指南

相机标定的目的是为了确定相机内部参数和外部参数,以便修正图像并将图像坐标映射到世界坐标,或者从世界坐标映射到图像坐标。这个过程是计算机视觉和三维感知任务的关键步骤之一,它有以下主要目的: 1. **减小畸变**:相机镜头和传感器可能引入径向和切向畸变,使得图像中的直线变得弯曲或者物体的形状不准确。通过标定相机,可以矫正这些畸变,使图像更准确。

m0_56661101的博客 1万+

AI 大模型在电商精准营销中的应用

例如,对于用户 A 和用户 B,通过比较他们对共同评价过的商品的评分差异来确定相似度。其中,(Gain(D,a))表示特征(a)对数据集(D)的信息增益,(Ent(D))表示数据集(D)的信息熵,(V)表示特征(a)的取值个数,(D^{v})表示特征(a)取值为(v)的样本子集。其中,(sim(A,B))表示用户 A 和用户 B 的相似度,(I)表示用户 A 和用户 B 共同评价过的商品集合,(R_{A,i})和(R_{B,i})分别表示用户 A 和用户 B 对商品(i)的评分。(三)营销活动效果预测。

alittlehippo的博客 1627

【亲测免费】 探索3D可视化新境界:PCL与VTK在Qt中的完美结合

探索3D可视化新境界:PCL与VTK在Qt中的完美结合 【下载地址】PCL与VTK在Qt中的使用合集 PCL与VTK在Qt中的使用合集本仓库提供了一个资源文件,详细介绍了如何在Qt环境中使用PCL(Point Cloud Library)和VTK(Visualization Toolkit)进行点云和模型的显示与交互 ...

gitblog_09788的博客 562

YOLOv5 改进点总览:轻量化、高精度的背后有哪些魔改?

YOLOv5是由Ultralytics团队开发的高效目标检测模型,其核心改进包括:主干网络采用CSPDarknet53提升梯度传播效率;特征融合使用PANet增强小目标识别;输出结构采用解耦头设计优化定位和分类任务。此外,YOLOv5通过CIoU损失函数、Mosaic数据增强和SimOTA标签分配机制进一步提升性能。模型支持多种推理格式(ONNX/TensorRT等),并具备自动锚框匹配和多尺度训练功能,使其在轻量化(yolov5s仅7MB)与高性能(最高51.2% mAP)间取得平衡,但缺乏正式论文支撑是

guoguozgw的博客 1806

【亲测免费】 探索点云世界:Windows下使用QT和VTK显示点云的完美解决方案

探索点云世界:Windows下使用QT和VTK显示点云的完美解决方案 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在计算机视觉和三维重建领域,点云数据的处理和可视化是一个重要的研究方向。为了帮助开发者更轻松地在Windows环境下进行点云显示,我们推出了一个基于QT和VTK的开源项目。该项目提供了一个完整的示例代码,展示了如何在QT界面中使用VTK库来加载和显示点云...

gitblog_09725的博客 1082

全国30米分辨率逐年植被覆盖度(FVC)数据集

植被覆盖度是描述地表植被的重要参数与生态环境的基本指标,在大气圈、土壤圈、水圈和生物圈中都占据着重要的地位,区域及全球范围的植被覆盖度估算对植被及相关领域的研究具有重要意义。往往参照《土壤侵蚀分类分级标准》,将植被覆盖度划分为4个等级:<30%为低覆盖度、30%—45%为中低覆盖度、45%—60%为中覆盖度、>60%为高覆盖度。本数据集包括1986至2022年间,全国植被覆盖度数据,FVC范围值为0-1,数据为浮点型,GeoTIFF格式。NDVImax 和NDVImin分别为区域内最大和最小的NDVI值。

地球资源数据云的官方博客 1966

知识图谱-构建:知识图谱构建流程【本体构建、知识抽取(实体抽取、 关系抽取、属性抽取)、知识表示、知识融合、知识存储】

旅游领域的类是用来描述旅游的抽象化概念术语,是对众多旅游个体共性的概念化描述。术语是划分类的基础,根据构建领域本体的目标和具体需要,可以确定哪些术语能作为领域本体的类。在以上抽取的众多旅游领域术语中,有些是能直接作为类的,如旅游、人物、交通方式、景区等等,而有些则不能作为类,如票价、景区门票、联系方式等等,它们只是属性。“旅游”很明显是最顶层的类,是父类。然后,要确定旅游的子类,根据大众标签里体现的共性和《中国分类主题词表》确定了旅游领域的11个核心概念,即本体层次结构图数据属性(固有属性)...

u013250861的博客 4万+

【点云PCL入门】PCL+QT+VTK显示点云

索引一级目录二级目录三级目录 一级目录 二级目录 三级目录

cutemypig的博客 4022

FISCO BCOS 系列(一)—— 搭建第一个区块链网络&配置控制台指南

本文详细介绍了FISCO BCOS区块链网络的搭建与配置过程,包括环境准备、单机四节点网络搭建、控制台配置使用等核心内容。从系统要求、依赖安装开始,逐步指导如何通过脚本快速搭建区块链网络,配置控制台连接,并演示了账户管理、合约部署调用等基础操作。同时提供了多节点网络配置、常见问题解决方案以及生产环境安全建议,为开发者提供了从入门到进阶的完整指南。

分享AI、区块链技术及应用,未来已来 811

探索点云世界的利器:Qt+Pcl可视化点云程序

探索点云世界的利器:Qt+Pcl可视化点云程序 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今的计算机视觉和机器人领域,点云数据的可视化是一个至关重要的环节。为了帮助开发者更高效地处理和分析点云数据,我们推出了一个强大的开源工具——Qt+Pcl可视化点云程序。这个程序结合了Qt的强大界面设计和PCL(Point Cloud Library)的点云处理能力,为用户...

gitblog_09748的博客 947

RT-DETR 模型剪枝优化:结构化剪枝对 R18/R50 性能的影响

本文提出分层结构化剪枝策略R18:参数量减少 42%(28M→16.2M),推理速度提升 35%(15→20.3 FPS@Jetson Nano),mAP@0.5 仅降 1.2%;R50:参数量减少 55%(170M→76.5M),推理速度提升 48%(42→62.2 FPS@T4),mAP@0.5 仅降 2.1%。核心价值:为 RT-DETR 提供“精度-效率-部署”平衡的轻量化方案,推动其在边缘设备、工业质检等场景的大规模落地。部署建议。

走向CTO的路上... 464

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

在VS2022(QT)或QTCreator上配置并显示PCL点云文件

在VS2022(QT)或QTCreator上配置并显示PCL点云文件 【下载地址】在VS2022QT或QTCreator上配置并显示PCL点云文件 本资源文件详细介绍了如何在Visual Studio 2022(结合QT)或QTCreator上配置并显示PCL(Point Cloud Library)点云文件。通过本教程...

gitblog_06504的博客 462

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

linux qt pcl,PCL+Qt+VS可视化点云

前言Point Cloud Library (PCL)是一个功能强大的开源C++库,假设可以使用好PCL将会对我们在LiDAR数据处理领域的研究产生巨大帮助。LiDAR技术经过几十年的发展。眼下国内外关于LiDAR点云数据处理的文献已非常丰富。可是依旧存在硬件上的发展速度大于软件的发展速度。PCL中的算法基于众多的科研人员和程序爱好者的无私贡献才有今天强大的PCL。博文中,我将针对怎样结合PCL和...

weixin_28800247的博客 381

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

PCL QT VS 可视化PolygonMesh

PCL的可视化是通过VTK实现的,结合PCL和QT实现可视化ply格网文件。

rs_huangzs的博客 6531

使用Qt以及PCL库显示点云文件

使用qt显示点云

YangAndyYangYang的博客 365

在PCL中画圆环,pcl可视化pcl::visualization::PCLVisualizer

找了很多资料,pcl中有 pcl::visualization::PCLVisualizer::addCircle 画圆环,但是明显看到圆环不圆,线条不光滑,不好看,于是有了我的画圆的方法。 一、代码 void mainwindow::initPointCloudViewer() { viewer->initCameraParameters(); QColor backgriundColor(0, 0, 15); viewer->setBackgroundColo

寒木休思的博客 2389

在PCL+qt实现las文件读取

关于PCL部分的配置我就不加赘述了,本篇主要讲las文件的读取 首先需要下载las文件 在PCL项目中属性-》配置属性-》VC++目录中配置: 在包含目录中包含该include 在库目录中引用lib 在PCL项目中属性-》配置属性-》链接器-》输入 附加依赖项中配置 到这里,关于laslib库的配置就已经完成了。现在在qt中构建一个槽函数。在槽函数中添加以下代码 //以下是所需包含的头文件 #include <pcl\io\pcd_io.h> #include &l

qq_48240095的博客 1205
上一篇: pcl点云库实时显示点云变化
下一篇: QT框架下进行pcl点选功能
SLAM_masterFei
博客等级 码龄9年 283粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值