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

嵌入式开发必看:STM32 DMA双缓冲配置全攻略(含CubeMX教程)

本文详细解析了STM32 DMA双缓冲机制的原理与优势,并提供了基于CubeMX的完整配置教程。通过硬件自动切换两个缓冲区,实现DMA传输与CPU处理的真正并行,有效降低中断频率,提升高速数据采集、音频流处理等场景下的系统效率和实时性。

weixin_29212429的博客 173

Qt Creato配置PCL库

Qt Creator中使用PCL库_业务不精er的博客-优快云博客Qt6.1.0中配置pcl1.11.1_qt6导入pcl库_朽一的博客-优快云博客VS2017 中配置QT+PCL显示点云或3D图形_pcl显示3d图tiff_桂林巡山的博客-优快云博客Windows10下QT+VTK+PCL环境配置(一次成功)_qt pcl_v俊逸的博客-优快云博客Qt配置PCL_pcl qt_Pandamahu的博客-优快云博客

weixin_45295333的博客 1466

tesseract-ocr的字库学习步骤(训练自己的文库),关于ocr的对图片的解析,包括tesseract的安装(史上最全)

tesseract-ocr的字库学习步骤(训练自己的文库) 简介:在网上看了很多案列。都不是很完整。然后自己用了一天时间进行整理,第一次写文章,希望对大家有帮助。 一、安装tesseract 下载地址https://github.com/UB-Mannheim/tesseract/wiki 1.点击下面下载的这个进行运行(安装的时候有点慢) 2.点击next 3.I accept the terms of the License Agreement前的复选框打勾,点击Next。 4.Install f

HAC12的博客 2229

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

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

k5l6m的博客 706

uniapp原生安卓插件开发之路

声明: 我的功能需求:全局悬浮框,也就是在其他应用上依旧能悬浮。查遍uni文档,无法实现,甚至native.js也无法实现,无奈只能走上原生插件开发这条不归路了。(吐槽:天天写前端js,突然写了下android简直要炸,public static String啥的,var不香嘛,不过别人严谨肯定还是有别人道理的,加油吧,争取能入个门!) 本人不懂安卓开发,完全安卓小白,所以安卓方面可能表达的不是很好,安卓代码可能写的不优美,但我功能最终还是实现了。但是为了需求,能力总能被“逼”出来。有描述错误的还望指正

Jone's Area 1万+

STM32实战:5分钟搞定CanFestival协议栈下的CANopen心跳报文配置(附避坑指南)

本文详细介绍了如何在STM32平台上使用CanFestival协议栈快速配置CANopen心跳报文,包括硬件准备、协议栈移植、心跳报文配置及常见问题解决方案。通过实战步骤和避坑指南,帮助开发者高效实现节点状态监控,提升工业控制系统的可靠性。

win55的博客 746

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

广东省道路工程检测练习试题(单选题)真题

1.一般项目的合格点率应达到( ),且不合格点的最大偏差值不得大于规定允许偏差值的1.5倍。A.不低于75%B.不低于80%C.不低于85%D.不低于90%答案:B2.进行土路基平整度检测时,当路宽小于9m,检测点数应为( )A.1B.2C.3D.4答案:A3.根据《城镇道路工程施工与质量验收规范》,在分部工程中,根据工种、材料、施工工艺等划分的是( )A.单位工程B.分项工程C.分部工程D.工序工程答案:B4.根据《城镇道路工程施工与质量验收规范》,土方路基压实度的检测频率为每1000m每压实层抽检( )

ZShy001238的博客 685

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

YOLOv11改进 | 损失函数篇 | YOLOv11引入引MPDIoU, GIoU,DIoU, CIoU, SIoU,EIoU, WIoU, LMPDIoU等损失函数

到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~1. YOLOv11中添加MPDIoU, GIoU,DIoU, CIoU, SIoU等损失函数的方式。文件中用给出的代码替换掉。

tsg6698的博客 5277

使用MATLAB进行灰色预测 GM(1,1)

使用MATLAB进行灰色预测 GM(1,1)

Hou_____的博客 997

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

91、Windows网络配置:动态更新与名称解析全攻略

本文全面解析了Windows XP Professional系统中的网络配置方法,重点介绍了动态更新和名称解析两大核心功能。动态更新部分涵盖DHCP客户端、静态配置客户端、远程访问客户端和多宿主客户端的配置方法,并提供禁用动态更新和编辑Hosts文件的注意事项。名称解析部分详细讲解了NetBIOS名称解析的基础知识、WINS配置方法、B节点广播与Lmhosts文件的使用,以及WINS代理的作用和配置要点。通过操作建议流程图和关键操作步骤回顾,帮助用户快速掌握网络配置的核心技巧,适用于不同网络环境的实际需求。

blue42的博客 234

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Win系统下配置PCL库第二步之下载PCL和VTK(超详细)

可以下载PCL1.14或者PCL1.12,区别在于对应的VTK版本兼容不同,PCL1.14一般下载VTK9.x,PCL1.12PCL1.14一般下载VTK8.2和VTK9.1。等待加载编译后,在Cmake中找到这个参数,然后更改一下自己的路径,只要能找到即可,该路径的文件夹是放编译后的VTK头文件。这一步还需要更改VTK的选项,将框中的default更改为Yes,就可以点Configure,到此就基本完成了。接着安装完成后我们来到安装后的目录,找到OpenNI2,需要将该文件夹的这个OpenNI安装一下。

2402_84165995的博客 1634

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 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、付费专栏及课程。

余额充值