win下使用QT添加VTK插件实现点云可视化GUI

在进行点云处理时,通常会使用qt来开发界面,而在点云可视化时又需要借助vtk。虽然在windows上安装pcl时会自动安装vtk,但由于pcl自带的vtk版本未与qt联合编译,因此无法直接使用qt的qvtkwidget插件。本文将详细介绍如何在ubuntuwindows系统中使用qt与pcl进行点云可视化界面的开发。

win下使用QT添加VTK插件实现点云可视化GUI在Ubuntu中使用QT和PCL

win下使用QT添加VTK插件实现点云可视化GUI(1)对于Ubuntu 14.04用户,无论是通过命令行安装PCL还是QT,系统都会自动安装好QVTKWidget库。在使用QT时,QVTKWidget会自动加载,并且通过我的示例正常进行cmake操作,就可以实现QT与点云的相关功能。有兴趣的读者可以查看我们的公众号的GitHub地址。当然,PCL的官方源码中也有一些基础示例。根据我的经验,在Ubuntu 14.04上使用应该是没有问题的。

win下使用QT添加VTK插件实现点云可视化GUI(2)然而,如果你使用的是Ubuntu 16.04,那么可能会遇到一些麻烦。因为PCL中的QT依赖项目没有更新,而Ubuntu 16.04默认安装的是QT5,这可能会导致一些依赖冲突。即使安装了ROS包,也会出现问题,主要是因为PCL的示例依赖于QT4,而Ubuntu 16.04的库默认是QT5,因此可能会导致编译失败。如果遇到问题,欢迎讨论。

在Ubuntu系统下学习和使用PCL是非常方便的,安装任何第三方库也非常简单,这里就不再详细说明。

win下使用QT添加VTK插件实现点云可视化GUI在Windows中使用QT和PCL

win下使用QT添加VTK插件实现点云可视化GUI在Windows上使用PCL进行QT设计的点云可视化界面开发,这涉及到工程软件的问题。我相信大多数人使用的是Visual Studio(VS),我的电脑上安装了VS2013和VS2015,这里主要使用VS2015来编译实现PCL的开发。如果你确实需要在VS下设计点云可视化界面,可以按照以下步骤尝试,但不能保证一定能编译成功。然而,只要你安装了VS2015,并且编译程序为X64 release版本,你就可以直接使用我编译好的VTK库,这样既方便又省心。最后,我将提供一个简单的demo供大家测试。

安装和编译步骤

首先,下载并安装PCL 1.8 Windows版本,正常安装。我们只需要替换VTK部分的第三方库,其他部分的库保持不变。

PCL 1.8.1依赖的第三方库是VTK 8.0,所以我们需要下载VTK的源码,并使用cmake进行编译。以下是一步步的过程,当然你也可以直接下载我编译好的QVTK库。

首先,我们需要安装Qt 5.8,这很简单,直接去Qt官网下载并安装即可,没有特别需要注意的地方。接下来就是使用cmake编译VTK。

(1)启动CMake,指定源码目录和编译目录,点击Configure。

win下使用QT添加VTK插件实现点云可视化GUI(2)确保选择的VS版本是你已经安装的版本,我选择的是:Visual Studio 14 2015 Win64。点击Finish,等待配置完成。第一次cmake会自动进行。

(3)在第一次configure之后,需要更新一下设置。首先点击Advanced,然后找到以下几个选项进行修改。

绘蛙AI视频 绘蛙AI视频

绘蛙推出的AI模特视频生成工具

绘蛙AI视频 127 查看详情 绘蛙AI视频

win下使用QT添加VTK插件实现点云可视化GUI这里需要为VTK设置Qt的版本,选择你已经安装好的Qt位置,主要是qmake.exe和QtCMake.config这两个路径指定成功即可。

如果出现错误,就需要你正常设置,这里主要是QT的qmake和QtCMake.config这两个地方。如果提示Doxygen找不到,那么就将build_document整个选项去掉。总之就是要配置好QT的路径。如果你不知道如何在Windows上对VTK进行cmake编译,没关系。如果你也使用了Qt 5.8和VS2013,PCL版本是1.8.1,那么你可以直接下载我已经编译好的VTK X64库。

win下使用QT添加VTK插件实现点云可视化GUIwin下使用QT添加VTK插件实现点云可视化GUI在cmake之后,我们就可以生成对应的VS工程文件。

(5)生成工程

配置成功后,出现Configure done提示。点击Generate生成工程。

(6)启动VS2015开始编译

出现Generating done提示,表示VS2015工程已经生成成功。点击Open Project,VS2015会启动,并打开工程。

win下使用QT添加VTK插件实现点云可视化GUI即便你没有编译成功,也没有关系,我已经将编译好的VTK打包在https://download.csdn.net/download/u013019296/12093433(这里的下载积分不是我能决定的)。

下载对应的VTK即可,前提是你也要保证使用的是VS2015,Qt 5.8,PCL 1.8.1。在下载了我编译好的依赖项之后,只需要将安装包复制到我们安装的PCL 1.8.1的thirdparty目录,后面的程序中设置好路径一般都是没问题的。

(7)将3rdPartyQVTKpluginsdesigner下的QVTKWidgetPlugin.dll拷贝到QT5.8msvc2015_64pluginsdesigner下,这样Qt里面就有了QVtk的控件了。这一步将会让你在打开QT_creator的界面时看到

win下使用QT添加VTK插件实现点云可视化GUI这里多了一个控件,整个时候就说明你已经安装成功了,安装成功后如果使用,也比较难以一次搞定。下面就是要设置VS的环境。

以上就是win下使用QT添加VTK插件实现点云可视化GUI的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/762346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
mysql怎么删除二进制日志
上一篇 2025年11月26日 01:35:53
破98亿!熬秃动画师的哪吒2,被DeepSeek脑补出了新剧情
下一篇 2025年11月26日 01:35:54

相关推荐

  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • 怎么在PHP代码中实现图片上传功能_PHP图片上传功能实现与安全处理教程

    首先创建含enctype的HTML表单,再用PHP接收文件,检查目录、移动临时文件,验证类型与大小,生成唯一文件名,并调整php.ini限制以确保上传成功。 如果您尝试在PHP项目中添加图片上传功能,但服务器无法正确接收或保存文件,则可能是由于表单配置、文件处理逻辑或安全限制的问题。以下是实现该功能…

    2026年5月10日
    100
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    100
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • JavaScript计算器开发:解决数值显示与初始化问题

    本教程深入探讨了使用JavaScript构建计算器时常见的数值显示异常问题,特别是由于类属性未初始化导致的`Cannot read properties of undefined`错误。我们将详细分析问题根源,并通过在构造函数中调用初始化方法来解决该问题,同时优化显示逻辑,确保计算器功能稳定且界面显…

    2026年5月10日
    000
  • 使用 Ajax 和 FormData 实现文件上传及文本数据提交的完整教程

    本文旨在解决在使用 Ajax 和 FormData 进行文件上传时,遇到的 $_POST 和 $_FILES 为空的问题。通过详细的代码示例和解释,我们将展示如何正确地构建 FormData 对象,并通过 Ajax 将文件和文本数据发送到服务器端,同时避免常见的错误配置,确保数据能够成功地被 PHP…

    2026年5月10日
    000
  • NextAuth getToken 在服务端返回 null 的问题排查与解决

    问题描述 在使用 Next.js 和 NextAuth 构建应用程序时,有时需要在服务端获取用户的身份验证信息。getToken 函数是 NextAuth 提供的一个便捷方法,用于从请求中提取 JWT (JSON Web Token)。然而,在某些情况下,尤其是在使用 getServerSidePr…

    2026年5月10日
    000
  • pycharm解析器怎么添加 解析器添加详细流程

    在pycharm中添加解析器的步骤包括:1) 打开pycharm并进入设置,2) 选择project interpreter,3) 点击齿轮图标并选择add,4) 选择解析器类型并配置路径,5) 点击ok完成添加。添加解析器后,选择合适的类型和版本,配置环境变量,并利用解析器的功能提高开发效率。 在…

    2026年5月10日
    000
  • 深入理解MQTT多级通配符#的用法限制与Paho-MQTT订阅实践

    本文旨在解析mqtt多级通配符`#`在订阅主题时的严格使用规则,尤其是在paho-mqtt库中遇到的`valueerror: ‘invalid subscription filter.’`问题。我们将详细阐述mqtt规范中关于`#`必须作为主题过滤器最后一个字符的规定,并通过…

    2026年5月10日
    000
  • 虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版

    虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版

    虫虫漫画官网入口为www.ccmh.com,用户可直接通过浏览器访问,支持多端适配与账号同步功能,界面简洁无广告,提供海量国漫、日漫、韩漫资源,涵盖恋爱、玄幻等热门题材,更新及时,支持多种阅读模式及离线缓存,阅读体验流畅。 虫虫漫画直接进入官网入口在哪里?这是不少网友都关注的,接下来由PHP小编为大…

    2026年5月10日 用户投稿
    100
  • 解决Persistent UTM代码导致链接意外添加问号的问题

    本文旨在解决在使用JavaScript持久化UTM参数时,链接在没有UTM参数的情况下被意外添加问号的问题。通过分析问题代码,找出错误原因,并提供修正后的代码示例,确保只有当存在UTM参数时,链接才会被添加相应的参数。同时,强调了代码的健壮性和可维护性,避免不必要的修改和潜在的错误。 在使用Java…

    2026年5月10日
    200
  • HTML文档如何工作?如何编辑HTML格式文件?

    HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?

    浏览器解析和渲染html的过程包括:1. 解析html构建dom树;2. 结合css构建渲染树;3. 布局计算元素位置;4. 绘制像素到屏幕。编辑html可使用记事本、vs code、sublime text等文本或代码编辑器,其中vs code因语法高亮、自动补全和插件生态成为主流选择。标准htm…

    2026年5月10日 用户投稿
    000
  • JavaScript 中使用多个 querySelector 更新页面元素

    本文旨在讲解如何在 JavaScript 的 if 语句中使用多个 querySelector 来更新不同的页面元素,并提供示例代码和注意事项,帮助开发者理解并应用此技术。通过该方法,可以根据特定条件动态修改页面内容,提升用户体验。 使用 querySelector 在 if 语句中更新多个元素 在…

    2026年5月10日
    100
  • GolangWeb项目异常捕获与日志记录

    答案:通过中间件使用defer和recover捕获panic,结合zap等结构化日志库记录请求链路信息,为每个请求生成trace ID,实现异常捕获与可追踪日志,提升系统稳定性与可观测性。 在Go语言Web项目中,异常捕获与日志记录是保障系统稳定性和可维护性的关键环节。Go本身没有像其他语言那样的t…

    2026年5月10日
    000
  • 打印机怎么连接电脑 安装打印机图文教程

    打印机怎么连接电脑 安装打印机图文教程打印机怎么连接电脑 安装打印机图文教程打印机怎么连接电脑 安装打印机图文教程打印机怎么连接电脑 安装打印机图文教程

    许多用户购买了打印机后,常常不知道如何正确安装并连接到电脑。以下是详细的打印机安装步骤,供大家参考。 本地打印机的安装: 将打印机附带的光盘插入光驱。如果您的电脑没有光驱,可以将光盘中的文件复制到U盘,然后插入电脑。 启动光盘,系统会自动打开安装引导界面。如果是通过U盘复制文件,则需要找到并双击运行…

    2026年5月10日 用户投稿
    000
  • 硬盘数据被误删除怎么办?教你快速找回删除的文件!

    硬盘数据被误删除,别慌!恢复数据并非不可能,关键在于你接下来的操作。立刻停止对该硬盘的任何写入操作,然后尝试使用专业的数据恢复软件。 解决方案 首先,数据恢复的原理是,删除文件后,操作系统只是将文件占用的空间标记为“可覆盖”,但文件本身的数据可能还存在于硬盘上。所以,避免新的数据写入覆盖掉旧数据,是…

    2026年5月10日
    000
  • CodeIgniter在IIS环境下实现URL重写与index.php移除指南

    本教程详细指导如何在IIS服务器上部署的CodeIgniter应用中,移除URL中不必要的index.php。核心解决方案涉及修改CodeIgniter的config.php文件,将$config[‘index_page’]设置为空,并辅以正确的IIS web.config重…

    2026年5月10日
    100
  • PHP安全文件下载:防止直链与保护资源

    本文旨在解决通过检查元素获取直链下载文件的问题,并提供一种安全的PHP服务器端文件交付方案。核心思想是利用PHP作为文件代理,通过设置HTTP响应头直接将文件发送给用户,从而隐藏文件的实际存储路径,有效防止未经授权的直接链接访问。 客户端下载链接的风险与局限性 在构建下载页面时,开发者常常面临一个挑…

    2026年5月10日
    100
  • Python官网用户调查的参与方式_Python官网反馈提交详细教程

    答案是通过访问Python官网新闻页面、邮件邀请链接或GitHub仓库提交反馈。具体为:访问官网查找用户调查公告,或点击邮件中的专属链接参与,在GitHub的cpython仓库提交技术建议,并注意如实填写问卷与保护隐私。 如果您希望参与Python官网的用户调查并提交反馈,可以通过官方指定的渠道完成…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信