pcl qt cmake linux,Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试

Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试

在这里只介绍all in one方式安装

1.软件准备

安装pcl(点云库)需要涉及pcl、pcl-pdb、cmake、openni、visual studio、qt等软件。

pcl是点云算法库。

pcl-pdb是pcl的数据库文件。

cmake是用来为你所编写的程序进行环境配置及生成项目文件。

visual studion是windows的开发工具,将经过cmake生成的项目文件执行产生可执行文件。

qt是一个图形库,这里需要安装qt是因为pcl中有一个第三库vtk中涉及qt库中的函数。

从网上下载这些软件需要遵守一定的规则,下载的所有软件位数最好统一,全部为32位,或64位。其中在pcl官网下载pcl、pdb文件时要与visual studio的版本相对应。你如果想省事的话,可以下载我云盘里的所有文件。

PCL-1.6.0-AllInOne-msvc2010-win32.exe 提取密码:3jim

pcl-1.6.0-pdb-msvc2010-win32.zip 提取密码:vdd6

cmake-3.4.0-rc3-win32-x86.exe 提取密码:c09l

OpenNI-Win32-1.5.4-Dev.msi 提取密码:qj08

cn_visual_studio_2010_ultimate_x86_dvd_532347.iso 提取密码:h45r

qt-opensource-windows-x86-vs2010-4.8.6.exe 提取密码:sdr9

2.pcl安装

安装过程如图:

bVqTO9

bVqTPa

bVqTPb

建议取消openni,openni单独安装,因为未去掉openni时发生了错误,可能是我系统的问题,你可以先尝试一下不去掉openni安装

bVqTPc

bVqTPr

单独安装openni

bVqTPs

将下载的pcl的pdb文件解压,并将解压后的所有文件拷贝到pcl安装目录下的bin目录下,如E:/program files/pcl 1.6.0/bin

bVqTPt

关于cmake、visual studio的安装很简单,在这里就不再讲解。

3.测试

新建一个目录example,在其目录下新建两个子目录source、cmake-bin,在source下新建两个文件project_inliers.cpp和CMakeLists.txt。

project_inliers.cpp内容如下:

#include

#include

#include

#include

#include

int

main (int argc, char** argv)

{

pcl::PointCloud<:pointxyz>::Ptr cloud (new pcl::PointCloud<:pointxyz>);

pcl::PointCloud<:pointxyz>::Ptr cloud_projected (new pcl::PointCloud<:pointxyz>);

// Fill in the cloud data

cloud->width = 5;

cloud->height = 1;

cloud->points.resize (cloud->width * cloud->height);

for (size_t i = 0; i < cloud->points.size (); ++i)

{

cloud->points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);

cloud->points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);

cloud->points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);

}

std::cerr << "Cloud before projection: " << std::endl;

for (size_t i = 0; i < cloud->points.size (); ++i)

std::cerr << " " << cloud->points[i].x << " "

<< cloud->points[i].y << " "

<< cloud->points[i].z << std::endl;

// Create a set of planar coefficients with X=Y=0,Z=1

pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients ());

coefficients->values.resize (4);

coefficients->values[0] = coefficients->values[1] = 0;

coefficients->values[2] = 1.0;

coefficients->values[3] = 0;

// Create the filtering object

pcl::ProjectInliers<:pointxyz> proj;

proj.setModelType (pcl::SACMODEL_PLANE);

proj.setInputCloud (cloud);

proj.setModelCoefficients (coefficients);

proj.filter (*cloud_projected);

std::cerr << "Cloud after projection: " << std::endl;

for (size_t i = 0; i < cloud_projected->points.size (); ++i)

std::cerr << " " << cloud_projected->points[i].x << " "

<< cloud_projected->points[i].y << " "

<< cloud_projected->points[i].z << std::endl;

return (0);

}

CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

project(project_inliers)

find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})

link_directories(${PCL_LIBRARY_DIRS})

add_definitions(${PCL_DEFINITIONS})

add_executable (project_inliers project_inliers.cpp)

target_link_libraries (project_inliers ${PCL_LIBRARIES})

运行cmake按照下图操作

bVqTPB

bVqTPD

bVqTPF

bVqTPH

bVqTPI

cmake配置生成最终会产生如下项目,该项目包含如下文件

bVqTPK

双击运行*.sln文件,会以visual studio打开

通过视图--解决方案资源管理器,打开*.cpp文件

bVqTPT

将Proj_Name右击设置成启动项

开始debug

但是在运行时很可能出现错误:

fatal error LNK1104: 无法打开文件“C:\Qt\4.8.0\lib\QtGuid4.lib”,这主要是因为VTK库里面依赖函数的关系不对应,我的QT版本是Qt4.8.6所以必须修改这些依赖函数。

解决方法是打开路径E:\Program Files\PCL 1.6.0\3rdParty\VTK\lib\vtk-5.8下的三个文件:

VTKConfigQt.cmake

VTKTargets-debug.cmake

VTKTargets-release.cmake

将其中的路径C:\Qt\4.8.0替换成你现有版本的Qt路径,例如我的是:E:\Qt4.8.6,(当然也可以将这个路径定义为环境变量 $(QT_ROOT));最终即可正常运行。

4.执行可执行文件

上面几个步骤运行无误后,就会在cmake-bin/Debug目录下产生一个exe的可执行文件,windows下可通过cmd运行该文件。

win+R——cmd,运行效果如下:

bVqTSn

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值