一、参考链接:

1、VS2019+QT5.12.10+PCL1.11.1+VTK8.2.0(cmake3.20.4)环境搭配_寒木休思的博客-CSDN博客

2、VS2019+PCL1.11.1+VTK8.2.0+Qt5.14.2配置_点云侠的博客-CSDN博客_qt vtk

3、PCL1.11.0+VTK8.2.0+QT5.14.2+VS2019在Win10环境下的配置(小白必看!)QVTKOpenGLNativeWidget_v寰宇的博客-CSDN博客eez

资源文件:(个别软件外网下载较慢,自己根据情况点击链接下载)

cmake-3.18.0-rc2-win64-x64-其它文档类资源-CSDN下载

PCL-1.11.0-AllInOne-msvc2019-win64-其它文档类资源-CSDN下载

pcl-1.11.0-pdb-msvc2019-win64(1)-C++文档类资源-CSDN下载

qt-opensource-windows-x86-5.14.2-C++文档类资源-CSDN下载

VTK-8.2.0(1)-C++文档类资源-CSDN下载

VisualStudio2019(64bit)(1)-C++文档类资源-CSDN下载

二、安装过程中的注意事项

1、要将pcl、vtk、opencv的包含目录、库目录、链接器-输入-附加依赖项都添加

OpencvRelease属性表我之前已经配过,直接加载进来的

PCL1.11.0_VTK8.20-Release的包含目录:

PCL1.11.0_VTK8.20-Release的库目录:

PCL1.11.0_VTK8.20-Release的链接器-输入-附加依赖项:

libboost_atomic-vc142-mt-x64-1_73.lib
libboost_bzip2-vc142-mt-x64-1_73.lib
libboost_chrono-vc142-mt-x64-1_73.lib
libboost_container-vc142-mt-x64-1_73.lib
libboost_context-vc142-mt-x64-1_73.lib
libboost_contract-vc142-mt-x64-1_73.lib
libboost_coroutine-vc142-mt-x64-1_73.lib
libboost_date_time-vc142-mt-x64-1_73.lib
libboost_exception-vc142-mt-x64-1_73.lib
libboost_fiber-vc142-mt-x64-1_73.lib
libboost_filesystem-vc142-mt-x64-1_73.lib
libboost_graph-vc142-mt-x64-1_73.lib
libboost_graph_parallel-vc142-mt-x64-1_73.lib
libboost_iostreams-vc142-mt-x64-1_73.lib
libboost_locale-vc142-mt-x64-1_73.lib
libboost_log-vc142-mt-x64-1_73.lib
libboost_log_setup-vc142-mt-x64-1_73.lib
libboost_math_c99-vc142-mt-x64-1_73.lib
libboost_math_c99f-vc142-mt-x64-1_73.lib
libboost_math_c99l-vc142-mt-x64-1_73.lib
libboost_math_tr1-vc142-mt-x64-1_73.lib
libboost_math_tr1f-vc142-mt-x64-1_73.lib
libboost_math_tr1l-vc142-mt-x64-1_73.lib
libboost_mpi-vc142-mt-x64-1_73.lib
libboost_nowide-vc142-mt-x64-1_73.lib
libboost_numpy38-vc142-mt-x64-1_73.lib
libboost_prg_exec_monitor-vc142-mt-x64-1_73.lib
libboost_program_options-vc142-mt-x64-1_73.lib
libboost_python38-vc142-mt-x64-1_73.lib
libboost_random-vc142-mt-x64-1_73.lib
libboost_regex-vc142-mt-x64-1_73.lib
libboost_serialization-vc142-mt-x64-1_73.lib
libboost_stacktrace_noop-vc142-mt-x64-1_73.lib
libboost_stacktrace_windbg-vc142-mt-x64-1_73.lib
libboost_stacktrace_windbg_cached-vc142-mt-x64-1_73.lib
libboost_system-vc142-mt-x64-1_73.lib
libboost_test_exec_monitor-vc142-mt-x64-1_73.lib
libboost_thread-vc142-mt-x64-1_73.lib
libboost_timer-vc142-mt-x64-1_73.lib
libboost_type_erasure-vc142-mt-x64-1_73.lib
libboost_unit_test_framework-vc142-mt-x64-1_73.lib
libboost_wave-vc142-mt-x64-1_73.lib
libboost_wserialization-vc142-mt-x64-1_73.lib
libboost_zlib-vc142-mt-x64-1_73.lib
flann.lib
flann_cpp.lib
flann_cpp_s.lib
flann_s.lib
qhull.lib
qhullcpp.lib
qhullstatic.lib
qhullstatic_r.lib
qhull_p.lib
qhull_r.lib
vtkChartsCore-8.2.lib
vtkCommonColor-8.2.lib
vtkCommonComputationalGeometry-8.2.lib
vtkCommonCore-8.2.lib
vtkCommonDataModel-8.2.lib
vtkCommonExecutionModel-8.2.lib
vtkCommonMath-8.2.lib
vtkCommonMisc-8.2.lib
vtkCommonSystem-8.2.lib
vtkCommonTransforms-8.2.lib
vtkDICOMParser-8.2.lib
vtkDomainsChemistry-8.2.lib
vtkDomainsChemistryOpenGL2-8.2.lib
vtkdoubleconversion-8.2.lib
vtkexodusII-8.2.lib
vtkexpat-8.2.lib
vtkFiltersAMR-8.2.lib
vtkFiltersCore-8.2.lib
vtkFiltersExtraction-8.2.lib
vtkFiltersFlowPaths-8.2.lib
vtkFiltersGeneral-8.2.lib
vtkFiltersGeneric-8.2.lib
vtkFiltersGeometry-8.2.lib
vtkFiltersHybrid-8.2.lib
vtkFiltersHyperTree-8.2.lib
vtkFiltersImaging-8.2.lib
vtkFiltersModeling-8.2.lib
vtkFiltersParallel-8.2.lib
vtkFiltersParallelImaging-8.2.lib
vtkFiltersPoints-8.2.lib
vtkFiltersProgrammable-8.2.lib
vtkFiltersSelection-8.2.lib
vtkFiltersSMP-8.2.lib
vtkFiltersSources-8.2.lib
vtkFiltersStatistics-8.2.lib
vtkFiltersTexture-8.2.lib
vtkFiltersTopology-8.2.lib
vtkFiltersVerdict-8.2.lib
vtkfreetype-8.2.lib
vtkGeovisCore-8.2.lib
vtkgl2ps-8.2.lib
vtkglew-8.2.lib
vtkGUISupportMFC-8.2.lib
vtkhdf5-8.2.lib
vtkhdf5_hl-8.2.lib
vtkImagingColor-8.2.lib
vtkImagingCore-8.2.lib
vtkImagingFourier-8.2.lib
vtkImagingGeneral-8.2.lib
vtkImagingHybrid-8.2.lib
vtkImagingMath-8.2.lib
vtkImagingMorphological-8.2.lib
vtkImagingSources-8.2.lib
vtkImagingStatistics-8.2.lib
vtkImagingStencil-8.2.lib
vtkInfovisCore-8.2.lib
vtkInfovisLayout-8.2.lib
vtkInteractionImage-8.2.lib
vtkInteractionStyle-8.2.lib
vtkInteractionWidgets-8.2.lib
vtkIOAMR-8.2.lib
vtkIOAsynchronous-8.2.lib
vtkIOCityGML-8.2.lib
vtkIOCore-8.2.lib
vtkIOEnSight-8.2.lib
vtkIOExodus-8.2.lib
vtkIOExport-8.2.lib
vtkIOExportOpenGL2-8.2.lib
vtkIOExportPDF-8.2.lib
vtkIOGeometry-8.2.lib
vtkIOImage-8.2.lib
vtkIOImport-8.2.lib
vtkIOInfovis-8.2.lib
vtkIOLegacy-8.2.lib
vtkIOLSDyna-8.2.lib
vtkIOMINC-8.2.lib
vtkIOMovie-8.2.lib
vtkIONetCDF-8.2.lib
vtkIOParallel-8.2.lib
vtkIOParallelXML-8.2.lib
vtkIOPLY-8.2.lib
vtkIOSegY-8.2.lib
vtkIOSQL-8.2.lib
vtkIOTecplotTable-8.2.lib
vtkIOVeraOut-8.2.lib
vtkIOVideo-8.2.lib
vtkIOXML-8.2.lib
vtkIOXMLParser-8.2.lib
vtkjpeg-8.2.lib
vtkjsoncpp-8.2.lib
vtklibharu-8.2.lib
vtklibxml2-8.2.lib
vtklz4-8.2.lib
vtklzma-8.2.lib
vtkmetaio-8.2.lib
vtkNetCDF-8.2.lib
vtkogg-8.2.lib
vtkParallelCore-8.2.lib
vtkpng-8.2.lib
vtkproj-8.2.lib
vtkpugixml-8.2.lib
vtkRenderingAnnotation-8.2.lib
vtkRenderingContext2D-8.2.lib
vtkRenderingContextOpenGL2-8.2.lib
vtkRenderingCore-8.2.lib
vtkRenderingExternal-8.2.lib
vtkRenderingFreeType-8.2.lib
vtkRenderingGL2PSOpenGL2-8.2.lib
vtkRenderingImage-8.2.lib
vtkRenderingLabel-8.2.lib
vtkRenderingLOD-8.2.lib
vtkRenderingOpenGL2-8.2.lib
vtkRenderingVolume-8.2.lib
vtkRenderingVolumeOpenGL2-8.2.lib
vtksqlite-8.2.lib
vtksys-8.2.lib
vtktheora-8.2.lib
vtktiff-8.2.lib
vtkverdict-8.2.lib
vtkViewsContext2D-8.2.lib
vtkViewsCore-8.2.lib
vtkViewsInfovis-8.2.lib
vtkzlib-8.2.lib
pcl_common.lib
pcl_features.lib
pcl_filters.lib
pcl_io.lib
pcl_io_ply.lib
pcl_kdtree.lib
pcl_keypoints.lib
pcl_ml.lib
pcl_octree.lib
pcl_outofcore.lib
pcl_people.lib
pcl_recognition.lib
pcl_registration.lib
pcl_sample_consensus.lib
pcl_search.lib
pcl_segmentation.lib
pcl_stereo.lib
pcl_surface.lib
pcl_tracking.lib
pcl_visualization.lib
vtkGUISupportQt-8.2.lib
vtkGUISupportQtOpenGL-8.2.lib
vtkGUISupportQtSQL-8.2.lib
vtkRenderingQt-8.2.lib
vtkViewsQt-8.2.lib

OpencvRelease的包含目录:

OpencvRelease的库目录:

OpencvRelease的链接器-输入-附加依赖项:

2、这里只配置成功了release模式下,因为在在debug模式下,QT中没有出现QVTKWidght,原因不详

3、如果出现了.dll错误,要注意看环境变量是否添加

4、出现错误:“没有为 vtkGUISupportQt-8.2.dll 加载的符号文件”

添加以下三行代码:

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle)

5、出现了警告窗口,还不知道怎么消除,但不影响使用

6、配了很久,过程并不顺利,有些问题不太记得了。

实例:在QT窗口界面加载显示点云和图片

头文件QVTK.h

#pragma once
#include <QWidget>
#include "ui_QVTK.h"
#include <QFileDialog>
#include <vtkRenderWindow.h>
#include<pcl/io/pcd_io.h>
#include<pcl/point_types.h>
#include<pcl/visualization/pcl_visualizer.h>#include<opencv2/opencv.hpp>
using namespace cv;
class QVTK : public QWidget
{Q_OBJECTpublic:QVTK(QWidget *parent = Q_NULLPTR);~QVTK();Mat src;private:Ui::QVTK ui;pcl::PointCloud<pcl::PointXYZ>::Ptr cloud;boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer;void initialVtkWidget();void ShowPicture_label(Mat image);//显示图片到label
private slots:void onOpen();//加载显示点云void openImage();//加载图片
};

源文件  QVTK.cpp

#include "QVTK.h"
#include<opencv2/opencv.hpp>
using namespace std;QVTK::QVTK(QWidget *parent): QWidget(parent)
{ui.setupUi(this);initialVtkWidget();
}QVTK::~QVTK()
{
}void QVTK::initialVtkWidget()
{cloud.reset(new pcl::PointCloud<pcl::PointXYZ>);viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));viewer->addPointCloud(cloud, "cloud");ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());viewer->setupInteractor(ui.qvtkWidget->GetInteractor(),    ui.qvtkWidget->GetRenderWindow());ui.qvtkWidget->update();}void QVTK::onOpen()//加载显示点云
{QString fileName = QFileDialog::getOpenFileName(this, "Open PointCloud", ".", "Open PCD files(*.pcd)");pcl::io::loadPCDFile(fileName.toStdString(), *cloud);viewer->updatePointCloud(cloud, "cloud");viewer->resetCamera();ui.qvtkWidget->update();
}void QVTK::openImage()//加载图片
{QString filename = QFileDialog::getOpenFileName();string s1 = string(filename.toLocal8Bit());std::cout << s1 << std::endl;const char* str = s1.c_str();Mat src = imread(str);QVTK::ShowPicture_label(src);QVTK::src = src;
}void QVTK::ShowPicture_label(Mat image)//显示图片
{QImage img;Mat src = image;Mat rgb;if (src.channels() == 3){cvtColor(src, rgb, CV_BGR2RGB);img = QImage((const uchar*)(rgb.data),rgb.cols, rgb.rows,rgb.cols * rgb.channels(),QImage::Format_RGB888);}else{img = QImage((const uchar*)(src.data),src.cols, src.rows,src.cols * src.channels(),QImage::Format_Indexed8);}ui.label->setPixmap(QPixmap::fromImage(img));ui.label->resize(ui.label->pixmap()->size());ui.label->show();
}

QT中ui界面

点击“加载点云”,选择.pcd点云文件(只试了pcd格式点云,其它格式不清楚),点击加载图片,选择图片文件。

显示结果:

VS2019++QT5.12.10+PCL1.11.1+VTK8.2.0+opencv(camke3.18.0)环境搭配及演示实例相关推荐

  1. Wondow10 编译 Wireshark 源码(Windows10 + Vs2019 +Qt5.12)

    1.编译环境 Windows10 + Vs2019 Qt5.12 Python3 2.官方教程 wireshark提供windows平台的编译方法,点此查看 3.遇到的问题 3.1 cmake错误 理 ...

  2. LibreCAD v2.2.0源码编译,使用VS2019+Qt5.12.9+Boost1.71.0环境

    零.前言 LibreCAD is a fork of QCAD community edition version 2.0.5.0;therefore, any modifications of or ...

  3. DeepinUOS Linux QT5.12.10静态编译DTK教程

    首先我们要去DTK开发者文档参观下,具体参观什么,你需要什么就参观什么 地址:https://docs.deepin.org 编译DTK需要编译以下三个东西: dtkcore dtkgui dtkwi ...

  4. QT工程转成VS2019+QT5.12的工程方法。(.pro to .sln)

    1.打开Visual stdio 2019 2.扩展 --QT VS TOOLS--Open QT Project file(.pro); 3.随便打开一个QT的工程(这是一个开源的项目.) 4.可以 ...

  5. 兼容ie(8、9、10、11),google等浏览器的多附件上传完整演示

    上传演示效果 以下是操作步骤 1.下载相关文件 地址:链接: https://pan.baidu.com/s/1pNgWup18eGh32lXqUqxKAQ 提取码: wt27 2.文件存放在项目中的 ...

  6. 【OBS】vs2019 + QT5.15.2 : obs-studio-27.2.4 configure和vs工程生成

    要自己来的工作还挺多. 下载的官方 发布版本, 但是https://github.91chi.fun/https://github.com/obsproject/libdshowcapture.git ...

  7. Qt 5.12.10 用Design ui 设计界面,连续输入中文时,变成英文输入

    情景: Qt 版本:Qt5.12.10 问题: 使用ui设计器设计界面时,如果连续输入中文,会变成英文,无法正常输入中文. 解决办法:在界面输入中文后,实时保存下,然后继续输入中文,情况有所改善.具体 ...

  8. 桌面排版软件Scribus v1.5.5源码编译,使用VS2017+Qt5.12.7环境

    软件官网 Scribus – Open Source Desktop Publishing Scribus Wiki Scribus Forums - Index 官方论坛 WebSVN - Scri ...

  9. QT5.14.2基于PCL1.11.1显示点云(基于Windows VS2019开发环境)

    文章目录 一.安装 1.1 PCL安装 1.2 QT安装 1.3 VTK编译 二.程序配置 1. 基于mscv创建QT的程序 2. 配置QT工程文件和依赖项 3. 编写点云显示的小程序 总结 一.安装 ...

最新文章

  1. URL编码转义,冒号和/不转,否则导致http链接失效
  2. Error creating bean with name 'multipleEntityManagerFactory' defined in class
  3. SAP MM 物料主数据采购视图中的字段'Var. OUn'的作用?
  4. yii redirect
  5. 说说程序员、编译器、CPU之间的三角恋
  6. Darknet_Yolov4实战(一)_安装Ubuntu+cuda+cudnn
  7. eclipse将java工程转换为java动态web工程(工程转换均可参照)
  8. 使用字符缓冲流读取数据
  9. 【转】windows程序设计(14):鼠标消息详解
  10. 技术干货 | mPaaS 框架下如何使用 Crash SDK 对闪退进行分析?
  11. Docker实战6 之构建自己的docker镜像
  12. 威伦触摸屏和三菱PLC通信
  13. 屏幕录像专家 - 视频压缩教程
  14. 如何根据电脑显卡选择CUDA版本及显卡驱动
  15. 王者荣耀英雄测试用例
  16. 腾讯地图API使用指南
  17. DPCA 密度峰值聚类记录
  18. 四年级下册计算机有错必改教案,小学四年级下册语文《步行18里》必
  19. 新来个技术总监要我做一个 IP 属地功能~
  20. 【信息系统项目管理师】第二十三章 信息系统综合测试与管理(考点汇总篇)

热门文章

  1. iso8583 协议详解
  2. word长公式不换行显示的方法
  3. Android仿朋友圈照片定点放大和滑动查看(未完待续)
  4. python基础系统学习整理,自学者可以参考的不二笔记
  5. 使用Python套接字编程的视频聊天应用
  6. 开发一个App来为你的女神“化妆”!
  7. Python基础 | 快速实现label_to_index
  8. 租用国外服务器兴起的背景
  9. Mobaxterm终端工具和Neokylin7基础
  10. Altium Designer的PCB无法显示Designator