KinectV2 qt pcl 实现点云显示

3 篇文章 0 订阅
1 篇文章 0 订阅

本实验是利用Kinect V2、opencv3.0、PCL1.8、qt5实现点云显示,验证PCL1.8移植qt效果,效果如图所示,软件平台开发所用的是Window10 操作系统,采用Qt Creater5进行软件开发,可以使软件具有交互和跨平台特性。(注:opencv3.0并没有使用,但是也配置了,方便调用)

工程项目程序文件见:http://download.csdn.net/detail/cs2539263027/9882043

qt5配置Opencv3.0和Kinect V2环境中所使用的工程pro文件如下:

#-------------------------------------------------
#
# Project created by QtCreator 2017-06-03T12:19:25
#
#-------------------------------------------------
 
QT       += core gui
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
TARGET = point3d_opencv_pcl
TEMPLATE = app
 
 
SOURCES += main.cpp\
        mainwindow.cpp
 
INCLUDEPATH+=C:\PCL-master\include\pcl-1.8\pcl \
C:\PCL-master\include\pcl-1.8 \
d:\Opencv3.0\opencv\build\include\opencv \
d:\Opencv3.0\opencv\build\include\opencv2 \
d:\Opencv3.0\opencv\build\include \
C:\Program Files (x86)\OpenNI2\Include \
C:\boost\include\boost-1_59\boost \
C:\boost\include\boost-1_59 \
C:\eigen\include\eigen3 \
C:\flann\include\flann \
C:\qhull\include \
C:\VTK\include\vtk-6.3 \
c:\Program Files\Microsoft SDKs\Kinect\v2.0_1409 \
c:\Users\liulu\Documents\untitled1\inc
 
 
 
LIBS+=d:\Opencv3.0\opencv\build\x64\vc12\lib\opencv_world300d.lib
 
LIBS += C:\PCL-master\lib\pcl_common_debug.lib\
        C:\PCL-master\lib\pcl_features_debug.lib\
        C:\PCL-master\lib\pcl_filters_debug.lib\
        C:\PCL-master\lib\pcl_io_debug.lib\
        C:\PCL-master\lib\pcl_io_ply_debug.lib\
        C:\PCL-master\lib\pcl_kdtree_debug.lib\
        C:\PCL-master\lib\pcl_keypoints_debug.lib\
        C:\PCL-master\lib\pcl_ml_debug.lib\
        C:\PCL-master\lib\pcl_octree_debug.lib\
        C:\PCL-master\lib\pcl_outofcore_debug.lib\
        C:\PCL-master\lib\pcl_people_debug.lib\
        C:\PCL-master\lib\pcl_recognition_debug.lib\
        C:\PCL-master\lib\pcl_registration_debug.lib\
        C:\PCL-master\lib\pcl_sample_consensus_debug.lib\
        C:\PCL-master\lib\pcl_search_debug.lib\
        C:\PCL-master\lib\pcl_segmentation_debug.lib\
        C:\PCL-master\lib\pcl_stereo_debug.lib\
        C:\PCL-master\lib\pcl_surface_debug.lib\
        C:\PCL-master\lib\pcl_tracking_debug.lib\
        C:\PCL-master\lib\pcl_visualization_debug.lib
 
LIBS+= C:\boost\lib\libboost_atomic-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_chrono-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_container-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_context-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_coroutine-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_date_time-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_exception-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_filesystem-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_graph-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_iostreams-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_locale-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_log_setup-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_log-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_math_c99f-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_math_c99l-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_math_c99-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_math_tr1f-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_math_tr1l-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_math_tr1-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_mpi-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_prg_exec_monitor-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_program_options-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_random-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_regex-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_serialization-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_signals-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_system-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_test_exec_monitor-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_thread-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_timer-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_unit_test_framework-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_wave-vc120-mt-gd-1_59.lib\
       C:\boost\lib\libboost_wserialization-vc120-mt-gd-1_59.lib
LIBS+=  C:\flann\lib\flann_cpp_s-gd.lib\
        C:\flann\lib\flann_s-gd.lib\
        C:\flann\lib\flann-gd.lib
LIBS+=  C:\qhull\lib\qhullstatic.lib\
        C:\qhull\lib\qhullstatic_p.lib\
        C:\qhull\lib\qhull.lib\
        C:\qhull\lib\qhull_p.lib\
        C:\qhull\lib\qhullcpp.lib
LIBS+=  C:\VTK\lib\vtkalglib-6.3-gd.lib\
        C:\VTK\lib\vtkChartsCore-6.3-gd.lib\
        C:\VTK\lib\vtkCommonColor-6.3-gd.lib\
        C:\VTK\lib\vtkCommonComputationalGeometry-6.3-gd.lib\
        C:\VTK\lib\vtkCommonCore-6.3-gd.lib\
        C:\VTK\lib\vtkCommonDataModel-6.3-gd.lib\
        C:\VTK\lib\vtkCommonExecutionModel-6.3-gd.lib\
        C:\VTK\lib\vtkCommonMath-6.3-gd.lib\
        C:\VTK\lib\vtkCommonMisc-6.3-gd.lib\
        C:\VTK\lib\vtkCommonSystem-6.3-gd.lib\
        C:\VTK\lib\vtkCommonTransforms-6.3-gd.lib\
        C:\VTK\lib\vtkDICOMParser-6.3-gd.lib\
        C:\VTK\lib\vtkDomainsChemistry-6.3-gd.lib\
        C:\VTK\lib\vtkexoIIc-6.3-gd.lib\
        C:\VTK\lib\vtkexpat-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersAMR-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersCore-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersExtraction-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersFlowPaths-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersGeneral-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersGeneric-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersGeometry-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersHybrid-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersHyperTree-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersImaging-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersModeling-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersParallel-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersParallelImaging-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersProgrammable-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersSelection-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersSMP-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersSources-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersStatistics-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersTexture-6.3-gd.lib\
        C:\VTK\lib\vtkFiltersVerdict-6.3-gd.lib\
        C:\VTK\lib\vtkfreetype-6.3-gd.lib\
        C:\VTK\lib\vtkGeovisCore-6.3-gd.lib\
        C:\VTK\lib\vtkgl2ps-6.3-gd.lib\
        C:\VTK\lib\vtkhdf5-6.3-gd.lib\
        C:\VTK\lib\vtkhdf5_hl-6.3-gd.lib\
        C:\VTK\lib\vtkImagingColor-6.3-gd.lib\
        C:\VTK\lib\vtkImagingCore-6.3-gd.lib\
        C:\VTK\lib\vtkImagingFourier-6.3-gd.lib\
        C:\VTK\lib\vtkImagingGeneral-6.3-gd.lib\
        C:\VTK\lib\vtkImagingHybrid-6.3-gd.lib\
        C:\VTK\lib\vtkImagingMath-6.3-gd.lib\
        C:\VTK\lib\vtkImagingMorphological-6.3-gd.lib\
        C:\VTK\lib\vtkImagingSources-6.3-gd.lib\
        C:\VTK\lib\vtkImagingStatistics-6.3-gd.lib\
        C:\VTK\lib\vtkImagingStencil-6.3-gd.lib\
        C:\VTK\lib\vtkInfovisCore-6.3-gd.lib\
        C:\VTK\lib\vtkInfovisLayout-6.3-gd.lib\
        C:\VTK\lib\vtkInteractionImage-6.3-gd.lib\
        C:\VTK\lib\vtkInteractionStyle-6.3-gd.lib\
        C:\VTK\lib\vtkInteractionWidgets-6.3-gd.lib\
        C:\VTK\lib\vtkIOAMR-6.3-gd.lib\
        C:\VTK\lib\vtkIOCore-6.3-gd.lib\
        C:\VTK\lib\vtkIOEnSight-6.3-gd.lib\
        C:\VTK\lib\vtkIOExodus-6.3-gd.lib\
        C:\VTK\lib\vtkIOExport-6.3-gd.lib\
        C:\VTK\lib\vtkIOGeometry-6.3-gd.lib\
        C:\VTK\lib\vtkIOImage-6.3-gd.lib\
        C:\VTK\lib\vtkIOImport-6.3-gd.lib\
        C:\VTK\lib\vtkIOInfovis-6.3-gd.lib\
        C:\VTK\lib\vtkIOLegacy-6.3-gd.lib\
        C:\VTK\lib\vtkIOLSDyna-6.3-gd.lib\
        C:\VTK\lib\vtkIOMINC-6.3-gd.lib\
        C:\VTK\lib\vtkIOMovie-6.3-gd.lib\
        C:\VTK\lib\vtkIONetCDF-6.3-gd.lib\
        C:\VTK\lib\vtkIOParallel-6.3-gd.lib\
        C:\VTK\lib\vtkIOParallelXML-6.3-gd.lib\
        C:\VTK\lib\vtkIOPLY-6.3-gd.lib\
        C:\VTK\lib\vtkIOSQL-6.3-gd.lib\
        C:\VTK\lib\vtkIOVideo-6.3-gd.lib\
        C:\VTK\lib\vtkIOXML-6.3-gd.lib\
        C:\VTK\lib\vtkIOXMLParser-6.3-gd.lib\
        C:\VTK\lib\vtkjpeg-6.3-gd.lib\
        C:\VTK\lib\vtkjsoncpp-6.3-gd.lib\
        C:\VTK\lib\vtklibxml2-6.3-gd.lib\
        C:\VTK\lib\vtkmetaio-6.3-gd.lib\
        C:\VTK\lib\vtkNetCDF-6.3-gd.lib\
        C:\VTK\lib\vtkNetCDF_cxx-6.3-gd.lib\
        C:\VTK\lib\vtkoggtheora-6.3-gd.lib\
        C:\VTK\lib\vtkParallelCore-6.3-gd.lib\
        C:\VTK\lib\vtkpng-6.3-gd.lib\
        C:\VTK\lib\vtkproj4-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingAnnotation-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingContext2D-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingContextOpenGL-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingCore-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingFreeType-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingGL2PS-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingImage-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingLabel-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingLIC-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingLOD-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingOpenGL-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingVolume-6.3-gd.lib\
        C:\VTK\lib\vtkRenderingVolumeOpenGL-6.3-gd.lib\
        C:\VTK\lib\vtksqlite-6.3-gd.lib\
        C:\VTK\lib\vtksys-6.3-gd.lib\
        C:\VTK\lib\vtktiff-6.3-gd.lib\
        C:\VTK\lib\vtkverdict-6.3-gd.lib\
        C:\VTK\lib\vtkViewsContext2D-6.3-gd.lib\
        C:\VTK\lib\vtkViewsCore-6.3-gd.lib\
        C:\VTK\lib\vtkViewsInfovis-6.3-gd.lib\
        C:\VTK\lib\vtkzlib-6.3-gd.lib
 
 
 
 
HEADERS  += mainwindow.h
 
FORMS    += mainwindow.ui
 
 
 

进行项目移植有以下几点需要注意:

1:KinectV2配置按照http://blog.csdn.net/hhu1506010220/article/details/53223732 

2:Opencv3.0配置按照http://blog.sina.com.cn/s/blog_15bf744320102wh8w.html,进行单独验证Opencv的配置环境

3:两种方法:第一种VS2013的PCL1.8自编译,配置按照http://blog.csdn.net/yzheately/article/details/50938322,http://www.lai18.com/content/2483374.html,http://www.07net01.com/linux/2016/04/1460283.html;第二种采用PCL1.8官网一键安装包pcl 1.8.0 all-in-one installer,具体可以参考http://blog.csdn.net/u014283958/article/details/52599457,进行配置。

4:pro文件中Opencv的相应目录记得进行更改,本实验的目录为 d:\Opencv3.0\opencv\build\include\opencv2 \  PCL1.8目录C:\PCL-master\include\pcl-1.8 \

5:每次修改完pro文件记得在构建菜单下的qmake项目上构建一下,这样才能生效 

6:目录与目录之间用\间隔,不要有空格,不要有重复的\,Opencv库,Kinect库不能有空格,由于我的Kinect目录中 Microsoft SDKs,因此我添加了一个inc目录,将Kinect目录中的头文件和库全都移入在该目录,详细的目录结构参考工程项目程序文件。

联系qq:2539263027,欢迎大家提出改进意见!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不走平常路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值