windows下cmake编译VTK到PCL中

PCL1.14.1+VTK9.3.0+Cmake+Qt6.7.2+Windows11编译配置记录 因为使用Qt的cmake方式进行编写PCL点云处理程序,走了很多坑,不编译源码的情况下,只能选择qmake方式编写,手动添加库文件,我属于Qt新手,不想使用qmake,而且Qt官方在Qt6之后推荐使用cmake方式编译,cmake编译的话,allinone安装的PCL就没有相应的cmake配置文件,需要自己动手编译,前前后后看了很多文献,帮助最大的当属风吹过窗台(https://blog.csdn.net/qusibaniha/article/details/136068806)的博客和PCL的官方文档。 阅读详情

补充:

如果嫌编译麻烦,这里可以下载我编译好的:VTK-8.0.1,下载后直接拷贝到pcl安装目录下替换原VTK目录。


编译VTK的原因:

pcl安装版中自带的vtk缺少QVTKWidget.dll,这样在QT Designer中就无法显示点云。

工具:

cmake-3.11

pcl-1.8.1-allinone,pcl-1.8.1-pdb

vs2015

Qt5.10.1 下载地址:official_release版

vtk-8.0.1 下载地址:vtk-8.0.1

vtk历史版本下载地址

安装过程:

pcl、vs、qt的安装就不多说了,都是exe文件双击运行就行了。

之前使用的vtk-8.1.1,结果不能,所以换回了pcl-1.8.1-allinone中自带的VTK是8.0的版本

这是pcl的安装目录,在3rdParty下有自带的VTK,我们先备份VTK文件夹为VTK_copy,把编译后的VTK就放到这个新建的VTK文件夹下

cmake编译VTK步骤

1、打开cmake-gui

source code :VTK-8.1.1.zip解压后的目录

build the binaries :在VTK-8.1.1.zip解压后的目录下新建一个build目录

点击configure, 选择编译器 

configure完成之后一片红,但是不用担心,因为我们还没有开始配置

勾选Grouped和Advanced,进行以下设置:

BUILD下取消勾选BUILD_TESTING,只留BUILD_SHARED_LIBS就行了

CMAKE下CMAKE_INSTALL_PREFIX设置为你新建的VTK文件夹

INSTALL下目录也替换成你新建的VTK文件夹

VTK下勾选VTK_Group_Qt,VTK_RENDERING_BACKEND设置为OpenGL(这里一定要注意,否则pcl显示框会出错)

点击Add Entry,添加CMAKE_DEBUG_POSTFIX,Value设置为-gd(用来区别debug和release版本)

再次点击configure


2018年9月5日更新:

编译vtk-8.0.1的时候,由于qt默认版本号是4,这里的5.10的qt会报错,修改为5即可

再次configure

qt5已经自动识别出来了,目录正确,无需修改,点击configure

点击generate

点击open project

2018年9月5日更新


 

 

累,又是一片红,我这里是安装anaconda35,里面似乎也有QT,但是我不确定这个QT是不是好用,所以把QT改为我自己安装的QT-5.10.1,修改QT5_DIR到自己安装的QT路径下

勾选VTK_BUILD_QT_DESIGNER_PLUGIN ,因为我就是为了这个才编译VTK的

再次config

这个警告不用管的,因为我们把OpenGL2改成OpenGL引起的 。

点击generate

点击open project,自动打开vs

首先Debug x64下,右键ALL_BUILD重新生成,再右键INSTALL设置为启动项目、重新生成;

然后Release x64下,右键ALL_BUILD重新生成,再右键INSTALL设置为启动项目、重新生成;

将3rdParty\VTK\plugins\designer下的QVTKWidgetPlugin.dll拷贝到QT5.10.1\5.10\msvc2015_64\plugins\designer下,这样Qt Designer里面就有了QVtk的控件了。

当我们使用Qt Creater作开发工具的时候,windows下qt中自带的qt creater都是32位的,这里我们把QVTKWidgetPlugin.dll拷贝到\Qt5.10.1\Tools\QtCreator\bin\plugins\designer下是没有用的,我们在使用Qt Creater时依然看不到QVTKWidget,除非我们再编一个32位release版的QVTKWidgetPlugin.dll放到\Qt5.10.1\Tools\QtCreator\bin\plugins\designer,或者装一个64位版的Qt Creater

至此PCL在windows下的环境已经搭配好了,可以选择重启让环境变量生效。


2018年9月5日补充,环境测试:

注意:

1、windows下代码写法不太一样,windows生成的ui默认是对象,linux是对象指针

linux:ui->qvtkWidget->setRenderWindow();

windows: ui.qvtkWidget->setRedderWindow();

示例:

#include "pclviewer.h"
#include <pcl\visualization\pcl_visualizer.h>
#include <pcl\point_cloud.h>
#include <pcl\point_types.h>
//vtk
#include <vtkRenderWindow.h>

PCLViewer::PCLViewer(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	//初始化点云
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);

	//设置点云大小
	cloud->points.resize(200);

	//填充点云
	for (size_t i = 0; i < cloud->points.size(); ++i)
	{
		cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);
	}

	//声明视窗
	boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
	//设置视窗背景色
	viewer->setBackgroundColor(0, 0, 0);
	//预处理点云颜色
	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> magenta(cloud, 255, 0, 255);
	//把点云加载到视窗
	viewer->addPointCloud(cloud, magenta, "cloud");
	//设置点云大小
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "cloud");

	//连接qvtk
	ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
	ui.qvtkWidget->update();
}

运行结果:


补充:

如果嫌编译麻烦,这里可以下载我编译好的:VTK-8.0.1,下载后直接拷贝到pcl安装目录下替换原VTK目录。

Win11+VS2022+QT6.4:从源码到实战,手把手编译VTK9.1.0 本文详细介绍了在Win11系统下使用VS2022和QT6.4手动编译VTK9.1.0的完整流程,包括环境准备、源码获取、CMake配置、Visual Studio编译及常见问题解决。通过实战案例,帮助开发者解决PCL1.12中VTK库不可用的问题,提升定制化编译能力。 阅读详情

相关推荐

Windows10点云标注工具编译实战:从VTK、PCL到Qt的完整踩坑指南

本文详细介绍了在Windows10系统下编译点云标注工具的全过程,包括VTK8.0、PCL1.8.1的编译配置及Qt5.7.0的环境搭建。通过实战经验分享常见问题的解决方案,帮助开发者顺利完成点云标注工具的安装与配置,提升开发效率。

weixin_30565199的博客 400

VTK教程-VTK-9.5源码编译详细教程

VTK9.5.2+Qt6.8.2+VS2022,编译教程

紫荆鱼的博客 970

PCL1.11.0+VTK8.2.0+QT5.14.2+VS2019在Win10环境下的配置(小白必看!)QVTKOpenGLNativeWidget

文章目录前期准备PCL安装说明QT安装说明VS2019安装说明VTK编译说明1.新建三个目录2.以管理员身份运行Cmake3.部署Cmake环境4.以管理员身份运行Visual Studio 2019 编译VTK5.给Qt添加QVTKOpenGLNativeWidget新建工程测试VTK 前期准备 PCL源码 (PCL-1.11.0-AllInOne-msvc2019-win64) https://github.com/PointCloudLibrary/pcl/releases VTK源码

Alone的博客 2万+

opengl2 vtk 编译_VTK编译(VTK-8.2.0)

参考:1.安装VS20192.安装QT5.123.下载CMake4.下载VTK库5.将下载后的文件解压到如下目录E:\osg\VTK\VTK-8.2.06.应用CMake 参数设置如下:BUILD_EXAMPLES 如果想学习官方示例程序,那么就勾选上CMAKE_INSTALL_PREFIX 这个表示vtk最后生成的链接库的位置,将其修改为:E:/osg/VTK/VTKVTK_Group_Imag...

weixin_42521032的博客 898

Windows下PCL点云库编译安装与开发环境配置全攻略

点云处理是三维视觉与机器人感知领域的核心技术,它通过采集物体表面海量空间点数据来构建三维模型。其核心原理在于利用深度传感器或激光雷达获取离散点的三维坐标及属性信息,并通过算法进行滤波、分割、配准等处理。这项技术的价值在于为自动驾驶、工业检测、数字孪生等应用提供了精确的环境感知能力。在工程实践中,PCL(Point Cloud Library)作为开源点云处理库,集成了大量成熟算法,但因其依赖众多,尤其在Windows平台下的编译安装常成为开发者的首要挑战。本文聚焦于PCL在Windows下的环境搭建,详细解

weixin_42619742的博客 327

保姆级教程:在Win11上搞定VS2022+QT6+VTK9.2+PCL1.13.1环境,告别编译报错

本文提供了一份详细的Win11开发环境搭建指南,涵盖VS2022、QT6、VTK9.2和PCL1.13.1的安装与配置。通过标准化流程和模块化方案,帮助开发者快速搭建工业级C++开发环境,解决编译报错问题,提升三维点云处理效率。

weixin_30655569的博客 502

VTK 学习----编译VTK8.2

​​​​​​1、VTK库和编译工具的准备 1.1.从https://vtk.org/download/下载VTK8.2的文件。 1.2.从https://cmake.org/download/下载CMake编译工具。 2、编译 解压下载的VTK8.2包后,打开cmake工具,选择解压后的VTK8.2文件夹作为source code,选择编译输出的文件夹。如下图: 点Configure...

charce_you的专栏 4382

在Windows上编译PCL源码,实现VTK和QT的点云可视化

PCL(Point Cloud Library)是一个开源的点云处理库,提供了一系列功能强大的算法和工具,用于点云的获取、滤波、分割、配准等操作。本文将介绍在Windows上编译PCL源码,并实现点云的可视化功能,结合VTK(Visualization Toolkit)和QT框架。在代码中包含相应的头文件,并使用PCL和VTK提供的函数和类实现点云的可视化。在Visual Studio中编译代码,并将生成的可执行文件与PCL和VTK的运行库文件放在同一个目录下。这为进一步的点云处理和分析提供了基础。

GfEmacs_Lisp的博客 605

windows环境使用cmake配置pcl

Visual studio 2022下使用Cmake配置PCL

Scarlett的博客 2363

Windows下MinGW源码编译PCL全流程:从Boost到VTK的依赖构建指南

在Windows平台进行点云开发时,开发者常面临工具链选择的困惑。MSVC预编译包虽便捷,但受限于许可与跨平台工程迁移需求,MinGW成为开源社区与Qt生态用户的优选。理解MinGW与MSVC在二进制格式、链接器及C++ ABI上的差异,是绕开兼容性陷阱的前提。通过CMake统一配置、按序编译Boost、Eigen、FLANN、Qhull与VTK等核心依赖,并结合模块裁剪与target白名单策略,可显著降低构建耗时与出错概率。该方案适用于基于Qt Creator的点云可视化、三维重建及机器人感知等工程场景,

weixin_33617691的博客 254

Qt+PCL自编译PCL点云库,编译VTK(9.1.0)+Qt(5.15.2),可以将PCL库中的 pcl::visualization::PCLVisualizer用于在Qt中实现点云数据的可视化

Qt+PCL自编译PCL点云库,编译了VTK(9.1.0)+Qt(5.15.2),适合用于Qt+PCL开发的初学者、研究人员和如SLAM、点云数据处理和工业检测等相关行业工作者。Qt 与 PCL 的应用场景集合应用场景广泛,如三维重建与可视化、三维重建与可视化、医疗图像与手术规划、无人机与航空遥感、工业自动化与质量检测、增强现实与虚拟现实和农业与环境监测等,Qt 与 PCL 的结合能够极大地提升开发效率并增强应用的交互性和可视化效果。

vs2013+qt5.7.0+vtk8.0编译

准备 链接:https://pan.baidu.com/s/1_FRj2CULzTGW4f1uRRiMWA 提取码:hkos 下载之后新建一个build文件夹用于构建vtk,如下图 第一步编译VTK 选取好文件夹 点击configure,之后进行下面的黄色框框勾选,以及文件路径的选择 再次点击configure 然后会提示选取qt版本以及路径 注:最好是只装有一个版本,原来我还装有anaconda3,里面也包含qt,总是去那个路径【具体原因我也不是很清楚,肯恩恶搞是选择默认高..

qq_42570058的博客 625

CH32V IAP跳转避坑指南:为什么你的APP跳不过去?从mstatus寄存器配置到函数属性详解

本文深入解析CH32V系列MCU的IAP跳转机制,从mstatus寄存器配置到函数属性优化,详细讲解如何避免APP跳转失败。文章涵盖地址准备、模式切换、跳转执行等关键步骤,并提供调试技巧与实战案例,帮助开发者快速解决CH32V IAP跳转中的常见问题。

weixin_30955617的博客 139

Qt+PCL实战指南(第4讲)——Windows11下VTK9.1与Qt5.15联合编译及Linux环境PCL部署全解析

本文详细解析了在Windows 11和Linux双平台下,如何成功编译集成Qt支持的VTK库,并部署PCL点云库,以解决预编译库Qt GUI支持缺失的问题。通过实战指南,帮助开发者构建稳定、可深度定制的Qt+PCL+VTK三维可视化开发环境,实现从环境搭建到第一个点云可视化程序的全流程。

k5l6m的博客 706

PADS安装教程(超详细)

声明:个人实践 一、工具准备 pads9.5完整破解版百度网盘提取码【wjx9】 链接:https://pan.baidu.com/s/1pIP6BJO435ssmF7Hjwyz8A 提取码:wjx9 安装环境:win10 64位 二、开始解压安装 关闭杀毒,exe以管理员身份运行 点击【skip】,不然又得licese 点击【agree】 点击【modify】 设置安装的工具、路径及工程路径 设置完成后,开始【install】 在之后注册。 将Crack复制到PADS安装目录

qq_42057393的博客 5万+

单总线CPU设计(变长指令周期3级时序)(HUST)(头歌实验)

利用比较器等功能模块将32位MIPS 指令字译码生成LW、SW、BEQ、SLT、ADDI、OtherInstr信号也就是利用比较器将指令字转换为译码信号,OP与不同信号对应(查询MIPS手册得知) 16 进制 :23 是 2进制: 00100011 ,把获得的OP,Func,和常数比对,相同输出1.按照题目要求填写表格,使用logisim的组合逻辑电路分析功能,当然也可以直接再logisim中写真值表。单总线采用变长指令周期,不同指令周期数不同,节拍数可变化。写的excel表格最终生成电路(当然 需要先把

xuxuaifeifei的博客 1万+

Windows下VTK 源码编译(For Qt PCL)

虽然我们在windows下安装PCL的时候就已经安装了VTK,由于跟着PCL安装的VTK是没有和QT联合编译的,所以在使用PCL和QT做点云可视化界面的时候是无法使用QT的插件QVTKWidget。 VTK 源码下载 https://gitlab.kitware.com/vtk/vtk/-/tags 我这里的环境是Win10 Visual Studio:2017 Community PCL :1.9.1 VTK:8.1.2 CMake:3.17.3 这里我是将原来的VTK版本备份了,然后删掉

Learning by doing 2120

基于ResNet-50的猫狗分类训练

基于ResNet-50的猫狗分类python训练

weixin_46352497的博客 1004

Qt+PCL实战指南(第4讲)——Windows11下VTK9.1与Qt5.15联合编译及Linux平台PCL环境部署

本文详细讲解了在Windows 11系统下,如何联合编译VTK 9.1与Qt 5.15,以解决PCL库默认VTK组件不支持Qt GUI的问题,从而实现在Qt应用中无缝嵌入3D点云可视化窗口。同时,提供了Linux平台(以Ubuntu为例)PCL环境的一站式部署指南,包括依赖安装、PCL库安装及环境验证,并分享了跨平台Qt+PCL项目的CMake配置要点与常见问题排查方法。

rainy的博客 849

主成分分析(PCA)和局部线性嵌入(LEE)原理详解

从KNN谈“维度灾难”,介绍线性降维PCA和局部线性嵌入LLE 这两种降维方法的原理

superzzx0920的博客 5616

【OpenCV-Python】图像的载入、显示和输出(imread()、imshow()、waitKey()、namedWindow()、imwrite())

图像的载入:imread()函数 imread()函数可以用来非常便捷地读取文件中的图片到Opencv中。这个函数一般需要两个参数: (1)载入图片的路径名。如果图像文件在工程文件夹下,可以直接用文件名读取,如“cat.jpg”,否则需要输入完整的访问路径,如“D:\\test\\lena.png”。这里还有几个tips: imread函数中,一个点代表省略当前文件夹路径,两个点则代表回...

M&Q的博客 1397

Win10+VS2015环境下安装编译PCL1.8.1和VTK8.0.0(踩坑大全)

Win10+VS2015环境下安装编译PCL1.8.1和VTK8.0.0(踩坑大全)Win10+VS2015环境下安装编译PCL1.8.1和VTK8.0.0前期工作PCL的安装与配置在vs中配置pcl库使用cmake编译vtk使用VS编译Cmake编译后的VTK可能出现的问题 Win10+VS2015环境下安装编译PCL1.8.1和VTK8.0.0 由于鄙人毕设及读研的方向可能为三维点云,而且PC...

weixin_39871164的博客 7760

ICC2:使用analyze_lib_cell_placement检查lib cell的pass rate

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?在place之前需要使analyze_lib_cell_placement命令去检查lib cell在当前的site row/power plan/legalize设置的环境下能够正常place和legalize。下面分享一个脚本去报告pass rate低于2%的lib cell。

m0_61544122的博客 675

QT6.6.1+PCL1.14.0+VTK9.3+CMAKE+VS2022编译在win10下配置踩坑记录

此配置我整了半个月,无数次想放弃,写此博客仅做为记录本文讲解使用的环境是+pcl1.14.0+vtk9.3+qt6.6.1,默认已经安装好VS2022和QT6.6.1,都默认安装在C盘,最后再展示一个使用cmake配置QT的示例程序,并提供源码Mark1:PCL自带的VTK第三方库,是低配版,没有QT相关的dll,得使用VTK源码进行重新编译Mark2:Cmake使用最新版,本次使用的是cmake3.28.2。

qusibaniha的专栏 5750

Ultralytics 框架中 model.predict() 返回的 results 对象的详细解析

通过掌握 results 对象的使用方法,您可以快速实现模型部署、数据分析与可视化。

浩瀚之水的专栏 748

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

PCL1.11.0+Qt5.14.2+VTK8.2+VS2019 环境配置(超详细)

之前写了一个PCL环境配置文章Windows系统下5分钟配置好PCL(debug和release),但是不涉及Qt,而Qt在软件开发中占有重要的地位,许多PCL应用程序也是基于Qt的,利用Qt可以制作自己的软件,搞出一些有趣的玩意,但是在Qt编译安装PCL对新手来说并不友好,也遇到许多小伙伴咨询,趁着有空就来补充一下。详细介绍了VTK的编译,属性表的配置已经有很多博客进行介绍了,所以不再细说,如果对版本要求不高,想快速体验PCL和Qt,可以看这两篇。

Dbojuedzw的博客 3158

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: PCL随笔
下一篇: windows10详细配置pcl-1.8.1
君只见独不见
博客等级 码龄12年 99粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值