Ubuntu20.04 + QT5.14.2 + VTK8.2.0 + PCL 1.10 环境配置
目录
- Ubuntu20.04 + QT5.14.2 + VTK8.2.0 + PCL 1.10 环境配置
- 一、VTK 编译和安装
- 1、库依赖:
- 2、下载资源:[下载VTK8.2.0](https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz)
- 3、编译:
- 4、安装
- 5、qtcreator 配置编译的`libQVTKWidgetPlugin.so`
- 二、PCL安装
- 1、一键安装
- 2、测试
- 三、qt 中使用 vtk 显示点云图
- 1、pro 中引入依赖
Ubuntu20.04 + QT5.14.2 + VTK8.2.0 + PCL 1.10 环境配置
一、VTK 编译和安装
1、库依赖:
# X11
sudo apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
# OpenGL
sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev
# cmake && cmake-gui
sudo apt-get install cmake cmake-gui
sudo apt install -y libxt-dev
sudo apt install -y cmake-qt-gui
sudo apt install build-essential cmake
2、下载资源:下载VTK8.2.0
3、编译:
- 创建build文件夹
cd VTK-8.2.0
mkdir build
cd build
- 使用
cmake-gui编译:设置源码目录和输出目录,勾选Group和Adavanced,点击configure,按下图设置
cmake-gui

- 第一次点击configure后,勾选“VTK-Group-Qt”,点击“Configure”;完成后,显示“Configuring done”;

- 最后点击“Generate”;显示“Generating done”,完成。

4、安装
make -j4
sudo make install
5、qtcreator 配置编译的libQVTKWidgetPlugin.so
-
libQVTKWidgetPlugin.so路径/build/libcd ./lib -
添加到qtcreator中,
libQVTKWidgetPlugin.so复制到qt路径下,sudo cp libQVTKWidgetPlugin.so /home/ljn/Qt5.14.2/Tools/QtCreator/lib/Qt/plugins/designer

二、PCL安装
1、一键安装
sudo apt install libpcl-dev
会默认安装 vtk 和 eigne,后面我使用的是自己安装的vtk-8.2,默认安装目录在 /usr/local/include


2、测试
-
文件结构

-
CMakeLists.txt
cmake_minimum_required(VERSION 2.6) project(pcl_test)find_package(PCL 1.10 REQUIRED)include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS})add_executable(pcl_test pcl_test.cpp)target_link_libraries (pcl_test ${PCL_LIBRARIES})install(TARGETS pcl_test RUNTIME DESTINATION bin) -
pcl_test.cpp
#include <iostream> #include <pcl/common/common_headers.h> #include <pcl/io/pcd_io.h> #include <pcl/visualization/pcl_visualizer.h> #include <pcl/visualization/cloud_viewer.h> #include <pcl/console/parse.h>int main(int argc, char **argv) {std::cout << "Test PCL !!!" << std::endl;pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);uint8_t r(255), g(15), b(15);for (float z(-1.0); z <= 1.0; z += 0.05){for (float angle(0.0); angle <= 360.0; angle += 5.0){pcl::PointXYZRGB point;point.x = 0.5 * cosf (pcl::deg2rad(angle));point.y = sinf (pcl::deg2rad(angle));point.z = z;uint32_t rgb = (static_cast<uint32_t>(r) << 16 |static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));point.rgb = *reinterpret_cast<float*>(&rgb);point_cloud_ptr->points.push_back (point);}if (z < 0.0){r -= 12;g += 12;}else{g -= 12;b += 12;}}point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();point_cloud_ptr->height = 1;pcl::visualization::CloudViewer viewer ("test");viewer.showCloud(point_cloud_ptr);while (!viewer.wasStopped()){ };return 0; } -
编译测试
mkdir build cd build cmake .. make ./pcl_text -
运行结果

三、qt 中使用 vtk 显示点云图
1、pro 中引入依赖
根据自身安装的版本引入相关依赖
INCLUDEPATH += /usr/include/boost
LIBS += /usr/lib/x86_64-linux-gnu/libboost_*.soINCLUDEPATH += /usr/include/pcl-1.10/
LIBS += /usr/lib/x86_64-linux-gnu/libpcl_*.soINCLUDEPATH += /usr/include/vtk-7.1
LIBS += /usr/lib/x86_64-linux-gnu/libvtk*.soINCLUDEPATH += /usr/include/eigen3
相关文章:
Ubuntu20.04 + QT5.14.2 + VTK8.2.0 + PCL 1.10 环境配置
目录 Ubuntu20.04 QT5.14.2 VTK8.2.0 PCL 1.10 环境配置一、VTK 编译和安装1、库依赖:2、下载资源:[下载VTK8.2.0](https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz)3、编译:4、安装5、qtcreator 配置编译的libQVTKWidgetPlugin.…...
GPT Prompt编写的艺术:如何提高AI模型的表现力
随着AI技术的迅速发展,人工智能模型变得越来越强大,能够协助我们完成各种任务。然而,如何更好地利用AI的能力仍然存在很大的探索空间。在与AI进行交互的过程中,我们主要依赖于Prompt,不管是直接与大模型交互࿰…...
Ubuntu18.04 安装opencv 4.8.0教程(亲测可用)
1. 安装准备 安装前需要下载一些必须的依赖项。 不同版本opencv依赖会有不同,具体见官网opencv安装 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-…...
【腾讯云Cloud Studio实战训练营】React 快速构建点餐页面
前言: Cloud Studio是一个在线的云集成开发环境(IDE),可以让开发人员在浏览器中轻松地开发、测试、调试和部署应用程序。它提供了基于云的计算资源和工具,例如代码编辑器、编译器、调试器、版本控制系统和项目管理工具…...
自监督去噪:Noise2Self原理分析及实现 (Pytorch)
文章地址:https://arxiv.org/abs/1901.11365 代码地址: https://github.com/czbiohub-sf/noise2self 要点 Noise2Self方法不需要信号先验信息、噪声估计信息和干净的训练数据。唯一的假设就是噪声在测量的不同维度上表现出的统计独立性,而真实信号表现出一定的…...
docker容器学习笔记1
docker容器是干什么用的 docker就是一个轻量级的虚拟机,是一个容器,隔离性好,能够确保环境的统一,有效利用系统资源,轻松迁移和拓展。简单的可以理解为容器就是一个小型功能齐全的虚拟机。 实际上是如何使用的呢&…...
线程魔法:用Spring Boot的@Async注解开启异步世界
在现代的应用程序开发中,异步调用已成为提高性能和响应性的重要策略之一。通过使用Spring Boot框架,我们可以轻松地实现异步调用,从而在处理请求时能够同时执行耗时的操作,如发送电子邮件、处理文件等,而不会阻塞主线程…...
面试热题(接雨水问题)
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 我们看到题的第一步,永远是对入参进行判断 public int trap(int[] height) {if (height null) {return 0;}...} 但是我们想想看,接…...
Meta AI研究团队新AI模型: Llama 2 大语言模型
Llama是Facebook Research团队开发的基础语言模型集,旨在提供广泛的语言理解能力。它基于转换器架构,参数范围从7B到65B。通过使用Llama模型,研究人员和开发人员可以构建更先进的自然语言处理系统。您可以在GitHub上找到相关的代码和资源&…...
CSS水平垂直居中
1.利用定位 margin:auto 2.flex布局 3.grid布局 一、利用positionmargin:auto <style>.outer {position: relative; /*父亲相对定位*/width: 200px;height: 200px;background-color: red;}.inner {position: absolute; /*儿子绝对定位*/top: 0;bottom: 0;left: 0;ri…...
Yolov8-pose关键点检测:模型部署篇 | yolov8-pose.onnx python推理
💡💡💡本文解决什么问题:Yolov8-pose关键点训练得到的模型转换成onnx格式在python下完成推理 Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.net/m0_63774211/category_12398833.html ✨✨✨手把手教你从数据标记到生成适合Yolov8-pose的yolo数据集; 🚀🚀�…...
Linux中提示No such file or directory解决方法
说明: 在linux下,./xxx.sh执行shell脚本时会提示No such file or directory。但shell明明存在,为什么就是会提示这个呢? 这种其实是因为编码方式不对,如你在win下编辑sh,然后直接复制到linux下面 实现&…...
Sklearn-使用SVC对iris数据集进行分类
Sklearn-使用SVC对iris数据集进行分类 iris数据集的加载训练svc模型输出混淆矩阵和分类报告使用Pipeline管道完成固定操作不使用Pipeline使用Pipeline 使用SVC对iris数据集进行分类预测 涉及内容包含: 数据集的加载,训练集和测试集的划分训练svc模型,对测试集的预测…...
项目经理必读:领导风格对项目成功的关键影响
引言 项目经理作为一个领导者的角色,他们需要协调各方资源,管理团队,推动项目的进行。为了完成这些任务,项目经理必须具备各种领导风格的灵活性,以应对项目中的各种变数和挑战。在这篇文章中,我们将讨论领…...
行业追踪,2023-08-04
自动复盘 2023-08-04 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...
双链表(带哨兵位头节点)
目录 编辑 双链表的初始化: 双链表的打印: 双链表的尾插: 双链表的头插: 双链表的尾删: 双链表的头删: 双链表pos位置之前的插入: 双链表pos位置的删除: 关于顺序表和链表…...
MySQL - LOAD DATA LOCAL INFILE将数据导入表中和 INTO OUTFILE (速度快)
文章目录 一、语法介绍二、数据分隔符介绍 :换行符说明: 三、示例LOAD DATA LOCAL INFILEINTO OUTFILE 总结 一、语法介绍 LOAD DATA[LOW_PRIORITY | CONCURRENT] [LOCAL]INFILE file_name[REPLACE | IGNORE]INTO TABLE tbl_name[PARTITION (partition_name [, par…...
String ,StringBulider ,StringBuffer
面试指北149 知乎 StringBuffer和StringBuilder区别详解(Java面试)_stringbuffer和stringbuilder的区别_辰兮要努力的博客-CSDN博客...
阶段总结(linux基础)
目录 一、初始linux系统 二、基本操作命令 三、目录结构 四、文件及目录管理命令 查看文件内容 创建文件 五、用户与组管理 六、文件权限与压缩管理 七、磁盘管理 八、系统程序与进程管理 管理机制 文件系统损坏 grub引导故障 磁盘资源耗尽 程序与进程的区别 查…...
HTTP(超文本传输协议)学习
关于HTTP补学 一、HTTP能干什么 通过下图能够直观的看出:“交换数据 ” 二、HTTP请求例子 一个 HTTP 方法,通常是由一个动词,像 GET、POST 等,或者一个名词,像 OPTIONS、HEAD 等,来定义客户端执行的动作。…...
软考 系统架构设计师历年真题集萃(240)
接前一篇文章:软考 系统架构设计师历年真题集萃(239) 第472题 下面安全协议中,用来实现安全电子邮件的协议是( )。 A. IPSec B. L2TP C. PGP D.PPTP 正确答案:C。 所属知识点:系统安全分析与设计 -> 网络安全设计。 试题解析: PGP(Pretty Good Privacy),…...
Asian Beauty Z-Image TurboGPU适配:AMD ROCm环境移植可行性与性能基准
Asian Beauty Z-Image TurboGPU适配:AMD ROCm环境移植可行性与性能基准 1. 项目背景与技术特点 Asian Beauty Z-Image Turbo是一款专注于东方美学人像生成的本地化AI工具,基于通义千问Tongyi-MAI Z-Image底座模型结合Asian-beauty专用权重开发。该工具…...
Pixel Couplet Gen实操手册:像素气球爆炸特效触发逻辑与CSS动画配置
Pixel Couplet Gen实操手册:像素气球爆炸特效触发逻辑与CSS动画配置 1. 项目概览 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成器。通过ModelScope大模型驱动,它能够根据用户输入自动生成富有创意的马年主题春联࿰…...
Bidili Generator问题解决:LoRA强度调节技巧,控制图片风格
Bidili Generator问题解决:LoRA强度调节技巧,控制图片风格 今天我想和大家分享一个在使用Bidili Generator时特别实用的技巧——如何通过调节LoRA强度来控制生成图片的风格。如果你曾经遇到过生成的图片风格不是你想要的,或者觉得风格太过强…...
cv_resnet101_face-detection_cvpr22papermogface 与MySQL数据库联动:检测日志存储与分析
cv_resnet101_face-detection_cvpr22papermogface 与MySQL数据库联动:检测日志存储与分析 人脸识别技术已经渗透到我们生活的方方面面,从手机解锁到门禁考勤,再到商场的客流分析。但很多开发者朋友在实际部署时,往往会遇到一个共…...
Qwen-Image-2512-Pixel-Art-LoRA新手教程:Gradio界面快捷键与批量操作技巧
Qwen-Image-2512-Pixel-Art-LoRA新手教程:Gradio界面快捷键与批量操作技巧 1. 引言:从单张生成到高效创作 如果你已经体验过Qwen-Image-2512-Pixel-Art-LoRA,看着它生成一张张复古又可爱的像素画,可能会觉得:“这效果…...
Ostrakon-VL-8B与Matlab仿真:餐饮客流与菜品识别关联分析
Ostrakon-VL-8B与Matlab仿真:餐饮客流与菜品识别关联分析 你有没有想过,一家餐厅的生意好坏,除了菜品口味,还和什么有关?是服务员的速度,还是菜单的设计?其实,一个常常被忽略的关键…...
保姆级教程:用Mission Planner分析Pixhawk飞行日志,快速定位炸机元凶
无人机飞行日志分析实战:从炸机残骸中还原真相 每次炸机后,面对飞控里那一堆密密麻麻的日志文件,就像拿到一份没有翻译的古代卷轴——数据都在那里,却读不懂它讲述的故事。作为一位经历过数十次炸机的老飞手,我想分享一…...
Audio Pixel Studio开源实践:基于app.py二次开发添加情感标签合成功能
Audio Pixel Studio开源实践:基于app.py二次开发添加情感标签合成功能 1. 项目背景与核心价值 Audio Pixel Studio作为一款轻量级音频处理工具,已经为开发者提供了语音合成和人声分离两大核心功能。但在实际应用中,我们发现语音合成的情感表…...
别再踩坑了!手把手教你查清ONNX、TensorRT和Opset的版本兼容表(附官方链接)
ONNX与TensorRT版本兼容性实战指南:从原理到避坑策略 每次模型部署时遇到"不支持的算子"或"版本不匹配"报错,那种感觉就像在迷宫里转圈——明明官方文档就在那里,却总是找不到关键信息。作为AI工程师,我们花…...
