VS2019+PCL1.12.1+OpenCV4.6.0详细配置流程

一.整体流程简介

本流程可实现vs2019项目包含pcl1.12.1+opencv4.6.0库配置,以实现对点云及图像的处理

流程为安装vs2019->安装配置opencv->安装配置pcl->配置cv+pcl(opencv和pcl安装配置无先后顺序,但vs安装要在pcl前)

注意:不同项目可能使用不同的软件及库版本,注意不同版本配置可能稍有差距,这里只演示上述版本

二.附件

包含本流程所需所有安装文件(附加CloudCompare 三维点云处理软件)

阿里云盘链接:http:// https://www.alipan.com/s/74NjRGcQ694 提取码: 97gr

百度网盘链接:https://pan.baidu.com/s/1fwuqza5-EstDMybAlbqOGA?pwd=e4pg 提取码:e4pg

三.安装准备 

1.到vs官网[Visual Studio 旧版下载 - 2019、2017、2015 (microsoft.com)](https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/)或附件(附件包含流程所有所需安装文件)下载对应vs版本安装包

dd460ed536684b2b9be07a488edfcf11.png

2.到pcl官网[Releases · PointCloudLibrary/pcl (github.com)](https://github.com/PointCloudLibrary/pcl/releases)或附件下载对应pcl版本安装包及pdb包

f4dca28fa0944815b1a1f0bd36ef1c8c.png

3.到opencv官网[[Releases - OpenCV](https://opencv.org/releases/)](https://github.com/PointCloudLibrary/pcl/releases)或附件下载对应opencv版本安装包

f9f6a8084df042d6988ab0fc37ef9de6.png

四.安装vs

1.运行vs安装文件,点击继续安装installer

9df9733635624def8872ce686ad71bac.png

2.等待installer下载完毕,选择工作负载(选择使用C++的桌面开发,其他根据项目需求选择),并建议更改安装位置(更改在图中绿色框位置),在新窗口中更改Visual Studio IDE及下载缓存安装位置,根据网络情况选择下载时安装(较慢)或全部下载后安装

e37f4d0e399e4b12ae305fb67e340e7b.png

0dbf5de59b244bc6b7054d741d77b813.png

f686ad85c6474bab9c1d214fbb7a77e2.png

3.等待安装完成即可,安装过程稍长,可以跳转到一下步安装opencv,注意虽然pcl和opencv安装无顺序,但是pcl需要vs2019安装完成后才可以安装,因此建议先配置opencv

862d95f9b1f04d1da166ff9d85afaf61.png

4.安装完成登录或以后再说,选择任意主题颜色,启动vs,注意若未弹出vs窗口,可以在win窗口中所有应用栏中搜索visual studio右键打开所在文件夹,发送lnk至桌面快捷方式,安装完成

fdad101eb6c74f90bddf243b73dacaa6.png

7ef3c534d65e446e8d9245f263fabdf6.png

b9ebcef1a09b4ac98fec70c3d41f4f6d.png

五.安装opencv 

1.运行opencv安装文件,建议更改安装位置(更改在图中绿色框位置),按Extract开始,等待安装完成

1642b846ec63406aaaa969d3792941bc.png

2.检查是否安装成功,打开安装位置查看

71acda8ca7c74831acc96bd03ebe97f2.png

3.配置环境变量(使得计算机系统中脚本或程序可以访问到变量 只需要初始化配置一次)

右键此电脑,属性,win11和win10界面布局稍有不同,但都是找到高级系统设置(蓝色小字)

8e27bec140d0454a9631844c5774cbd5.png

d9bc44c7c10247f583b3e630f13b9edc.png

4.点击环境变量,选择path,点击新建

a18946bcfe724abeb975b195ec5c7e08.png

5.在变量名处添加OPENCV_DIR,变量值选择浏览目录,选择自己的安装位置,最后两级应为vc15/lib,点击确定

7fced3d9b802408eae8c1f95a31ef977.png

6.在栏里出现此条,再继续点击确定,要注意修改完变量后一定要一直点击确定直到配置完成

4296391867674cffaee5b7f4ff62c6dc.png

7.同时继续查看系统环境里的path是否添加了opencv库的路径,若有,跳过,若无,添加

36fd422e5af44e13ad8a6898fa955dc5.png

8.再点击确定,配置完成

fa2fc955b7bf49fe9eb73cd7966b50eb.png

六.安装pcl

1.运行pcl安装文件,点击下一步,点击我接受

f766724f66c04fc0877b411cad81a6d8.png

8f5cc3c826da4370bbb90f18e87a88b0.png

2.选择第二条为所有用户添加环境变量,点击下一步,若不选择,请安装完成后查看下面的步骤9

1e385361a51340b8815eb5864b756a07.png

3.建议更改安装位置(更改在图中绿色框位置)点击下一步

c9247951b75c4b0c82df95761e506192.png

点击下一步

679be7ce16e64a60a165e04d4e33f15b.png

4.全选组件,点击安装,等待安装完成,途中有弹窗继续即可,安装完成

455555e44cb047548fdfa6205c65ab61.png

2346929ce1654cf887e2115bbdb9fffd.png

849c5990873c45de957fbd17584dde34.png

5.检查所有组件是否安装成功,找到安装位置,查看pcl目录下面是否有这些文件夹,若有,下一步,若无,请检查并重新安装

8b4991072c5e48ccb077049a06a4f57f.png

接着注意需要进入pcl目录下的3rdparty目录下的OpenNI2目录,查看是否已经安装正确,若已经安装正常请跳过此步骤

f5387fa022494b53b1835d9345bc4001.png

8559aeae7cc44c2e8512551dd9a0e304.png

上面这样表示安装正常且成功,下面这样显示并未安装正确(只有msi文件,安装不在此目录下)

5cf3e01d96184716ab2585c5d3a1ec20.png

双击运行此可执行文件,点击next

ab2371a5a9a34053828c3d3f5982751b.png

点击remove

21ec2ac35c204b8ba7ae392d94c1dc58.png

点击remove

c8a16df2ff144063845e8b59adf65276.png

6.finish后再次双击此可执行文件,更改安装目录,注意要安装在pcl安装位置的3rdparty目录下的OpenNI2目录,点击install

2cc8369503b14255bd6ecf203c477edf.png

e871812bfee34eab9fbbf4327dfe423f.png

cc4444ab08634f1092cc1eb684176385.png

7.再次查看文件是否安装在3rdparty目录下的OpenNI2目录,显示如此则表示安装成功

3df0b1d828e54bfcbe38a79f95e316bb.png

查看系统环境里的path是否添加了OpenNI2和所有库的路径,若有,跳过,若无,添加

ab391274a80d47bbbc3603c8e19b9561.png

8.将官网下载或附件里的pdb压缩包解压,将里面的所有pdb文件,复制到pcl目录下的bin目录里面,安装完成

e1e3c5bd466b49059ad276e4a4b34202.png

35c68b6d3acb4087848a92071ec933c6.png

9.在步骤2里若选择为所有用户添加环境变量,此步可忽略(也可以作为安装成功依据),若未选择,则需要手动添加系统变量,右键path,新建变量名和变量值(参考opencv配置里新建环境变量),注意变量名要与下图一致,变量值跟据自己的安装目录选择,注意目录对应关系,INCLUDE6对应include文件夹,以此类推,添加完成后一直点击确定直至完成配置

c938f9be2a3641468d9f24221bdaed9f.png

ab391274a80d47bbbc3603c8e19b9561.png

七.vs2019下配置pcl及opencv库

1.创建新项目或打开已有项目(已有项目请跳过此步骤)选择空项目下一步,更改名称和位置并创建

ec19e79420a84c68ab69988a6ebb326f.png

46eacf1ef19d43cb88197ad6c82b9c7e.png

94208fbe4b4b490082a72472abc7863a.png

2.在解决方案资源管理器(若无此窗口,点击上边栏视图(V),点击解决方案资源管理器即可出现此栏)右键源文件,添加,新建项

5e81a2276edc4981860ec9367a297668.png

3.选择cpp文件,更改名称,添加,项目新建完成,下面将引入pcl与opencv库,注意这里可以使用一劳永逸的方法即配置项目属性表的方法以及相对路径项目打包移植的方法,这两种方法也是与下面步骤基本相同,这里不做演示,只做普通的路径配置加载,可以参考此教程https://blog.csdn.net/weixin_46402470/article/details/142620212?spm=1001.2014.3001.5501,将会演示这两种方便快捷的配置方式,但是建议可以先尝试下面的这种方式

18fce7c3f57c4012bf4365ce56d203ee.png

4.这里还需要注意解决方案配置和解决方案平台的设置,如debug或release,x64或x86,建议先行配置,release x64,若此处不先行配置,后续更换配置和平台时,路径可能需要重新配置

f09b9333a4bf4071b0089919b8120067.png

a03d4640cb1445cb964e30b7f04acd0f.png

5.配置完平台后i继续右键解决方案,选择属性,找到VC++目录,分别添加包含目录和库目录

5fbca34ddcc6467594027125c98a4b5a.png

6.在包含目录处点击下拉按钮,编辑包含目录,在包含目录下包含include文件夹,注意这里的路径要改为自己的安装路径,PCL 1.12.1/级及之后全部相同,可以复制粘贴,这里若为pcl其他版本,请注意名称和其他库尤其是vtk boost库等的版本,这里PCL1.12.1对应vtk9.1,boost1_78,完成后确定(且注意opencv的路径尽量要在pcl之下,否则可能会导致报错)

5741a1a1b02647f0b8fb49e3f0ec09e2.png

385ded60cc2b4a2fb82efbe36d8ae8d6.png

93da6bfab97a4f91965f0ee759a7f706.png

包含目录

YOUR PATH\PCL 1.12.1\3rdParty\OpenNI2\Include C:\Program Files\PCL 1.11.1\3rdParty\VTK\include\vtk-9.1

YOUR PATH\PCL 1.12.1\3rdParty\Qhull\include

YOUR PATH\PCL 1.12.1\3rdParty\FLANN\include

YOUR PATH\PCL 1.12.1\3rdParty\Eigen\eigen3

YOUR PATH\PCL 1.12.1\3rdParty\Boost\include\boost-1_78

YOUR PATH\PCL 1.12.1\include\pcl-1.12

YOUR PATH\opencv\build\include

YOUR PATH\opencv\build\include\opencv2

7.同样的在库目录点击下拉按钮,新建库目录,完成后确定

a8c4de65f3e24499a566d2169a903fea.png

b0842c1fb7f1413a8f7c796157e293fa.png

库目录

YOUR PATH\PCL 1.12.1\3rdParty\OpenNI2\Lib

YOUR PATH\PCL 1.12.1\3rdParty\VTK\lib

YOUR PATH\PCL 1.12.1\3rdParty\Qhull\lib

YOUR PATH\PCL 1.12.1\3rdParty\FLANN\lib

YOUR PATH\PCL 1.12.1\3rdParty\Boost\lib

YOUR PATH\PCL 1.12.1\lib

YOUR PATH\opencv\build\x64\vc15\lib

8.选择链接器,输入,选择附加依赖项,粘贴以下内容(粘贴pcl和opencv库 带d后缀的是debug项目,不带的是release),目的是将pcl和opencv内的库引入项目,这里可以直接复制粘贴以下内容,或参考其他教程通过脚本文件到目录内自动提取,这里不做演示

33d6a1f8f13e40c0bc48312dfe4613ca.png

注意pcl libboost flann OpenNI2 qhull vtk都是pcl对应的库,最后一个opencv是opencv的库,这里若使用其他opencv版本,记得更换对应的库名字,若粘贴以下内容时无换行,请粘贴到txt文件内,再粘贴进vs

release:

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
libboost_atomic-vc142-mt-x64-1_78.lib
libboost_bzip2-vc142-mt-x64-1_78.lib
libboost_chrono-vc142-mt-x64-1_78.lib
libboost_container-vc142-mt-x64-1_78.lib
libboost_context-vc142-mt-x64-1_78.lib
libboost_contract-vc142-mt-x64-1_78.lib
libboost_coroutine-vc142-mt-x64-1_78.lib
libboost_date_time-vc142-mt-x64-1_78.lib
libboost_exception-vc142-mt-x64-1_78.lib
libboost_filesystem-vc142-mt-x64-1_78.lib
libboost_graph-vc142-mt-x64-1_78.lib
libboost_graph_parallel-vc142-mt-x64-1_78.lib
libboost_iostreams-vc142-mt-x64-1_78.lib
libboost_json-vc142-mt-x64-1_78.lib
libboost_locale-vc142-mt-x64-1_78.lib
libboost_log-vc142-mt-x64-1_78.lib
libboost_log_setup-vc142-mt-x64-1_78.lib
libboost_math_c99-vc142-mt-x64-1_78.lib
libboost_math_c99f-vc142-mt-x64-1_78.lib
libboost_math_c99l-vc142-mt-x64-1_78.lib
libboost_math_tr1-vc142-mt-x64-1_78.lib
libboost_math_tr1f-vc142-mt-x64-1_78.lib
libboost_math_tr1l-vc142-mt-x64-1_78.lib
libboost_mpi-vc142-mt-x64-1_78.lib
libboost_nowide-vc142-mt-x64-1_78.lib
libboost_numpy38-vc142-mt-x64-1_78.lib
libboost_prg_exec_monitor-vc142-mt-x64-1_78.lib
libboost_program_options-vc142-mt-x64-1_78.lib
libboost_python38-vc142-mt-x64-1_78.lib
libboost_random-vc142-mt-x64-1_78.lib
libboost_regex-vc142-mt-x64-1_78.lib
libboost_serialization-vc142-mt-x64-1_78.lib
libboost_system-vc142-mt-x64-1_78.lib
libboost_test_exec_monitor-vc142-mt-x64-1_78.lib
libboost_thread-vc142-mt-x64-1_78.lib
libboost_timer-vc142-mt-x64-1_78.lib
libboost_type_erasure-vc142-mt-x64-1_78.lib
libboost_unit_test_framework-vc142-mt-x64-1_78.lib
libboost_wave-vc142-mt-x64-1_78.lib
libboost_wserialization-vc142-mt-x64-1_78.lib
libboost_zlib-vc142-mt-x64-1_78.lib
flann.lib
flann_cpp.lib
flann_cpp_s.lib
flann_s.lib
OpenNI2.lib
qhullcpp.lib
qhullstatic.lib
qhullstatic_r.lib
qhull_r.lib
vtkcgns-9.1.lib
vtkChartsCore-9.1.lib
vtkCommonColor-9.1.lib
vtkCommonComputationalGeometry-9.1.lib
vtkCommonCore-9.1.lib
vtkCommonDataModel-9.1.lib
vtkCommonExecutionModel-9.1.lib
vtkCommonMath-9.1.lib
vtkCommonMisc-9.1.lib
vtkCommonSystem-9.1.lib
vtkCommonTransforms-9.1.lib
vtkDICOMParser-9.1.lib
vtkDomainsChemistry-9.1.lib
vtkDomainsChemistryOpenGL2-9.1.lib
vtkdoubleconversion-9.1.lib
vtkexodusII-9.1.lib
vtkexpat-9.1.lib
vtkFiltersAMR-9.1.lib
vtkFiltersCore-9.1.lib
vtkFiltersExtraction-9.1.lib
vtkFiltersFlowPaths-9.1.lib
vtkFiltersGeneral-9.1.lib
vtkFiltersGeneric-9.1.lib
vtkFiltersGeometry-9.1.lib
vtkFiltersHybrid-9.1.lib
vtkFiltersHyperTree-9.1.lib
vtkFiltersImaging-9.1.lib
vtkFiltersModeling-9.1.lib
vtkFiltersParallel-9.1.lib
vtkFiltersParallelImaging-9.1.lib
vtkFiltersPoints-9.1.lib
vtkFiltersProgrammable-9.1.lib
vtkFiltersSelection-9.1.lib
vtkFiltersSMP-9.1.lib
vtkFiltersSources-9.1.lib
vtkFiltersStatistics-9.1.lib
vtkFiltersTexture-9.1.lib
vtkFiltersTopology-9.1.lib
vtkFiltersVerdict-9.1.lib
vtkfmt-9.1.lib
vtkfreetype-9.1.lib
vtkGeovisCore-9.1.lib
vtkgl2ps-9.1.lib
vtkglew-9.1.lib
vtkhdf5-9.1.lib
vtkhdf5_hl-9.1.lib
vtkImagingColor-9.1.lib
vtkImagingCore-9.1.lib
vtkImagingFourier-9.1.lib
vtkImagingGeneral-9.1.lib
vtkImagingHybrid-9.1.lib
vtkImagingMath-9.1.lib
vtkImagingMorphological-9.1.lib
vtkImagingSources-9.1.lib
vtkImagingStatistics-9.1.lib
vtkImagingStencil-9.1.lib
vtkInfovisCore-9.1.lib
vtkInfovisLayout-9.1.lib
vtkInteractionImage-9.1.lib
vtkInteractionStyle-9.1.lib
vtkInteractionWidgets-9.1.lib
vtkIOAMR-9.1.lib
vtkIOAsynchronous-9.1.lib
vtkIOCGNSReader-9.1.lib
vtkIOChemistry-9.1.lib
vtkIOCityGML-9.1.lib
vtkIOCONVERGECFD-9.1.lib
vtkIOCore-9.1.lib
vtkIOEnSight-9.1.lib
vtkIOExodus-9.1.lib
vtkIOExport-9.1.lib
vtkIOExportGL2PS-9.1.lib
vtkIOExportPDF-9.1.lib
vtkIOGeometry-9.1.lib
vtkIOHDF-9.1.lib
vtkIOImage-9.1.lib
vtkIOImport-9.1.lib
vtkIOInfovis-9.1.lib
vtkIOIOSS-9.1.lib
vtkIOLegacy-9.1.lib
vtkIOLSDyna-9.1.lib
vtkIOMINC-9.1.lib
vtkIOMotionFX-9.1.lib
vtkIOMovie-9.1.lib
vtkIONetCDF-9.1.lib
vtkIOOggTheora-9.1.lib
vtkIOParallel-9.1.lib
vtkIOParallelXML-9.1.lib
vtkIOPLY-9.1.lib
vtkIOSegY-9.1.lib
vtkIOSQL-9.1.lib
vtkioss-9.1.lib
vtkIOTecplotTable-9.1.lib
vtkIOVeraOut-9.1.lib
vtkIOVideo-9.1.lib
vtkIOXML-9.1.lib
vtkIOXMLParser-9.1.lib
vtkjpeg-9.1.lib
vtkjsoncpp-9.1.lib
vtkkissfft-9.1.lib
vtklibharu-9.1.lib
vtklibproj-9.1.lib
vtklibxml2-9.1.lib
vtkloguru-9.1.lib
vtklz4-9.1.lib
vtklzma-9.1.lib
vtkmetaio-9.1.lib
vtknetcdf-9.1.lib
vtkogg-9.1.lib
vtkParallelCore-9.1.lib
vtkParallelDIY-9.1.lib
vtkpng-9.1.lib
vtkpugixml-9.1.lib
vtkRenderingAnnotation-9.1.lib
vtkRenderingContext2D-9.1.lib
vtkRenderingContextOpenGL2-9.1.lib
vtkRenderingCore-9.1.lib
vtkRenderingFreeType-9.1.lib
vtkRenderingGL2PSOpenGL2-9.1.lib
vtkRenderingImage-9.1.lib
vtkRenderingLabel-9.1.lib
vtkRenderingLOD-9.1.lib
vtkRenderingOpenGL2-9.1.lib
vtkRenderingSceneGraph-9.1.lib
vtkRenderingUI-9.1.lib
vtkRenderingVolume-9.1.lib
vtkRenderingVolumeOpenGL2-9.1.lib
vtkRenderingVtkJS-9.1.lib
vtksqlite-9.1.lib
vtksys-9.1.lib
vtkTestingRendering-9.1.lib
vtktheora-9.1.lib
vtktiff-9.1.lib
vtkverdict-9.1.lib
vtkViewsContext2D-9.1.lib
vtkViewsCore-9.1.lib
vtkViewsInfovis-9.1.lib
vtkWrappingTools-9.1.lib
vtkzlib-9.1.lib
opencv_world460.lib

debug:

pcl_commond.lib
pcl_featuresd.lib
pcl_filtersd.lib
pcl_iod.lib
pcl_io_plyd.lib
pcl_kdtreed.lib
pcl_keypointsd.lib
pcl_mld.lib
pcl_octreed.lib
pcl_outofcored.lib
pcl_peopled.lib
pcl_recognitiond.lib
pcl_registrationd.lib
pcl_sample_consensusd.lib
pcl_searchd.lib
pcl_segmentationd.lib
pcl_stereod.lib
pcl_surfaced.lib
pcl_trackingd.lib
pcl_visualizationd.lib
libboost_atomic-vc142-mt-gd-x64-1_78.lib
libboost_bzip2-vc142-mt-gd-x64-1_78.lib
libboost_chrono-vc142-mt-gd-x64-1_78.lib
libboost_container-vc142-mt-gd-x64-1_78.lib
libboost_context-vc142-mt-gd-x64-1_78.lib
libboost_contract-vc142-mt-gd-x64-1_78.lib
libboost_coroutine-vc142-mt-gd-x64-1_78.lib
libboost_date_time-vc142-mt-gd-x64-1_78.lib
libboost_exception-vc142-mt-gd-x64-1_78.lib
libboost_filesystem-vc142-mt-gd-x64-1_78.lib
libboost_graph-vc142-mt-gd-x64-1_78.lib
libboost_graph_parallel-vc142-mt-gd-x64-1_78.lib
libboost_iostreams-vc142-mt-gd-x64-1_78.lib
libboost_json-vc142-mt-gd-x64-1_78.lib
libboost_locale-vc142-mt-gd-x64-1_78.lib
libboost_log-vc142-mt-gd-x64-1_78.lib
libboost_log_setup-vc142-mt-gd-x64-1_78.lib
libboost_math_c99-vc142-mt-gd-x64-1_78.lib
libboost_math_c99f-vc142-mt-gd-x64-1_78.lib
libboost_math_c99l-vc142-mt-gd-x64-1_78.lib
libboost_math_tr1-vc142-mt-gd-x64-1_78.lib
libboost_math_tr1f-vc142-mt-gd-x64-1_78.lib
libboost_math_tr1l-vc142-mt-gd-x64-1_78.lib
libboost_mpi-vc142-mt-gd-x64-1_78.lib
libboost_nowide-vc142-mt-gd-x64-1_78.lib
libboost_numpy38-vc142-mt-gd-x64-1_78.lib
libboost_prg_exec_monitor-vc142-mt-gd-x64-1_78.lib
libboost_program_options-vc142-mt-gd-x64-1_78.lib
libboost_python38-vc142-mt-gd-x64-1_78.lib
libboost_random-vc142-mt-gd-x64-1_78.lib
libboost_regex-vc142-mt-gd-x64-1_78.lib
libboost_serialization-vc142-mt-gd-x64-1_78.lib
libboost_system-vc142-mt-gd-x64-1_78.lib
libboost_test_exec_monitor-vc142-mt-gd-x64-1_78.lib
libboost_thread-vc142-mt-gd-x64-1_78.lib
libboost_timer-vc142-mt-gd-x64-1_78.lib
libboost_type_erasure-vc142-mt-gd-x64-1_78.lib
libboost_unit_test_framework-vc142-mt-gd-x64-1_78.lib
libboost_wave-vc142-mt-gd-x64-1_78.lib
libboost_wserialization-vc142-mt-gd-x64-1_78.lib
libboost_zlib-vc142-mt-gd-x64-1_78.lib
flann-gd.lib
flann_cpp-gd.lib
flann_cpp_s-gd.lib
flann_s-gd.lib
OpenNI2.lib
qhullcpp_d.lib
qhullstatic_d.lib
qhullstatic_rd.lib
qhull_rd.lib
vtkcgns-9.1d.lib
vtkChartsCore-9.1d.lib
vtkCommonColor-9.1d.lib
vtkCommonComputationalGeometry-9.1d.lib
vtkCommonCore-9.1d.lib
vtkCommonDataModel-9.1d.lib
vtkCommonExecutionModel-9.1d.lib
vtkCommonMath-9.1d.lib
vtkCommonMisc-9.1d.lib
vtkCommonSystem-9.1d.lib
vtkCommonTransforms-9.1d.lib
vtkDICOMParser-9.1d.lib
vtkDomainsChemistry-9.1d.lib
vtkDomainsChemistryOpenGL2-9.1d.lib
vtkdoubleconversion-9.1d.lib
vtkexodusII-9.1d.lib
vtkexpat-9.1d.lib
vtkFiltersAMR-9.1d.lib
vtkFiltersCore-9.1d.lib
vtkFiltersExtraction-9.1d.lib
vtkFiltersFlowPaths-9.1d.lib
vtkFiltersGeneral-9.1d.lib
vtkFiltersGeneric-9.1d.lib
vtkFiltersGeometry-9.1d.lib
vtkFiltersHybrid-9.1d.lib
vtkFiltersHyperTree-9.1d.lib
vtkFiltersImaging-9.1d.lib
vtkFiltersModeling-9.1d.lib
vtkFiltersParallel-9.1d.lib
vtkFiltersParallelImaging-9.1d.lib
vtkFiltersPoints-9.1d.lib
vtkFiltersProgrammable-9.1d.lib
vtkFiltersSelection-9.1d.lib
vtkFiltersSMP-9.1d.lib
vtkFiltersSources-9.1d.lib
vtkFiltersStatistics-9.1d.lib
vtkFiltersTexture-9.1d.lib
vtkFiltersTopology-9.1d.lib
vtkFiltersVerdict-9.1d.lib
vtkfmt-9.1d.lib
vtkfreetype-9.1d.lib
vtkGeovisCore-9.1d.lib
vtkgl2ps-9.1d.lib
vtkglew-9.1d.lib
vtkhdf5-9.1d.lib
vtkhdf5_hl-9.1d.lib
vtkImagingColor-9.1d.lib
vtkImagingCore-9.1d.lib
vtkImagingFourier-9.1d.lib
vtkImagingGeneral-9.1d.lib
vtkImagingHybrid-9.1d.lib
vtkImagingMath-9.1d.lib
vtkImagingMorphological-9.1d.lib
vtkImagingSources-9.1d.lib
vtkImagingStatistics-9.1d.lib
vtkImagingStencil-9.1d.lib
vtkInfovisCore-9.1d.lib
vtkInfovisLayout-9.1d.lib
vtkInteractionImage-9.1d.lib
vtkInteractionStyle-9.1d.lib
vtkInteractionWidgets-9.1d.lib
vtkIOAMR-9.1d.lib
vtkIOAsynchronous-9.1d.lib
vtkIOCGNSReader-9.1d.lib
vtkIOChemistry-9.1d.lib
vtkIOCityGML-9.1d.lib
vtkIOCONVERGECFD-9.1d.lib
vtkIOCore-9.1d.lib
vtkIOEnSight-9.1d.lib
vtkIOExodus-9.1d.lib
vtkIOExport-9.1d.lib
vtkIOExportGL2PS-9.1d.lib
vtkIOExportPDF-9.1d.lib
vtkIOGeometry-9.1d.lib
vtkIOHDF-9.1d.lib
vtkIOImage-9.1d.lib
vtkIOImport-9.1d.lib
vtkIOInfovis-9.1d.lib
vtkIOIOSS-9.1d.lib
vtkIOLegacy-9.1d.lib
vtkIOLSDyna-9.1d.lib
vtkIOMINC-9.1d.lib
vtkIOMotionFX-9.1d.lib
vtkIOMovie-9.1d.lib
vtkIONetCDF-9.1d.lib
vtkIOOggTheora-9.1d.lib
vtkIOParallel-9.1d.lib
vtkIOParallelXML-9.1d.lib
vtkIOPLY-9.1d.lib
vtkIOSegY-9.1d.lib
vtkIOSQL-9.1d.lib
vtkioss-9.1d.lib
vtkIOTecplotTable-9.1d.lib
vtkIOVeraOut-9.1d.lib
vtkIOVideo-9.1d.lib
vtkIOXML-9.1d.lib
vtkIOXMLParser-9.1d.lib
vtkjpeg-9.1d.lib
vtkjsoncpp-9.1d.lib
vtkkissfft-9.1d.lib
vtklibharu-9.1d.lib
vtklibproj-9.1d.lib
vtklibxml2-9.1d.lib
vtkloguru-9.1d.lib
vtklz4-9.1d.lib
vtklzma-9.1d.lib
vtkmetaio-9.1d.lib
vtknetcdf-9.1d.lib
vtkogg-9.1d.lib
vtkParallelCore-9.1d.lib
vtkParallelDIY-9.1d.lib
vtkpng-9.1d.lib
vtkpugixml-9.1d.lib
vtkRenderingAnnotation-9.1d.lib
vtkRenderingContext2D-9.1d.lib
vtkRenderingContextOpenGL2-9.1d.lib
vtkRenderingCore-9.1d.lib
vtkRenderingFreeType-9.1d.lib
vtkRenderingGL2PSOpenGL2-9.1d.lib
vtkRenderingImage-9.1d.lib
vtkRenderingLabel-9.1d.lib
vtkRenderingLOD-9.1d.lib
vtkRenderingOpenGL2-9.1d.lib
vtkRenderingSceneGraph-9.1d.lib
vtkRenderingUI-9.1d.lib
vtkRenderingVolume-9.1d.lib
vtkRenderingVolumeOpenGL2-9.1d.lib
vtkRenderingVtkJS-9.1d.lib
vtksqlite-9.1d.lib
vtksys-9.1d.lib
vtkTestingRendering-9.1d.lib
vtktheora-9.1d.lib
vtktiff-9.1d.lib
vtkverdict-9.1d.lib
vtkViewsContext2D-9.1d.lib
vtkViewsCore-9.1d.lib
vtkViewsInfovis-9.1d.lib
vtkWrappingTools-9.1d.lib
vtkzlib-9.1d.lib
opencv_world460d.lib

9.c/c++ 选择预处理器 预处理器定义,添加 _CRT_SECURE_NO_DEPRECATE

1b9e8250129143b1adbd89d877adf0e0.png

10.配置完成,进行测试,在vs里使用此代码,注意修改文件名称与路径,文件可以自己下载(pcd和jpg/png类型)或在附件中找到

//c++库
#include <iostream>
#include <Thread>
//pcl库
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/io/pcd_io.h>
//opencv库
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;
using namespace pcl;

int main() {

	//测试opencv
	//创建mat类型图片,用于加载图片
	cv::Mat img_for_show = cv::imread("./room_scan1.png");

	//测试pcl
	//创建xyz类型点云,用于加载点云
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_for_show(new pcl::PointCloud<pcl::PointXYZ>);
	//加载pcd类型点云文件
	if (pcl::io::loadPCDFile<pcl::PointXYZ>("./room_scan1.pcd", *cloud_for_show) == -1) {
		std::cout << "加载失败" << endl;
		return -1;
	}
	else {
		std::cout << "加载成功" << endl;
	}
	//创建visualization点云查看器,用于显示点云
	pcl::visualization::CloudViewer viewer("pcd viewer");
	//显示点云
	viewer.showCloud(cloud_for_show);

	//调用imshow,用于显示图片
	cv::imshow("pictre viewer", img_for_show);

	//无限等待
	waitKey(0);

	return 0;
}

28e96c79c7af457e9e7ae2af87170d8b.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值