Windows下三维处理库——PCL点云库安装教程

本文详细介绍了在Windows环境下安装PCL点云库的过程,包括必备软件的下载与安装,以及如何配置环境并运行一个简单的PCL程序。重点在于通过实际操作演示了解安装细节和常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows下三维处理库——PCL点云库安装教程


每次使用新的东西都会在安装上花费大量的时间,这次虽然走了些弯路,但也还算顺利,还是有很多人会出现安装失败的教程,还是发个帖归纳下吧。

平台:windows 10 X64(只看)

所需数据文件:

vs2010 X64安装文件

PCL all-in-one安装包

pbd文件数据包

QT4.8.0安装文件

cmake3.3.1安装文件

除了vs2010需要自行下载,以上所有文件都可以在官网上找到:
http://pointclouds.org/downloads/windows.html
(有些文件下载速度比较慢,建议翻墙下载)

然后就可以开始安装了:

先关闭所有其他程序,安装vs2010,默认安装路径就行;

然后安装PCL all-in-one 安装包,默认安装路径就好,其间会问你需不需要添加PATH,请选择第二个:添加PATH到所有用户

PCL all-in-one安装好以后,并不能使用,还需要解压PBD数据文件,然后把解压后文件夹内所有数据复制到PCL安装目录下的bin文件夹中,这一步很关键,一定是要文件下的文件,直接复制文件夹貌似是不行的,我就走了这个弯路。。。

接下来安装QT4.8.0 ,同样是默认安装路径,其间也会问你需不需要添加PATH,和安装PCL all-in-one是一个道理,选择第二个就行。

最后安装cmake3.3.1 默认选项就好,这个都没什么问题。

于是环境文件就安装好了,我们可以尝试运行一个PCL程序:

在VS2010中新建一个C++空项目,然后新建一个CPP文件,贴入如下代码:

//这些代码都是从官网找到的实例
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/filters/project_inliers.h>

int
 main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_projected (new pcl::PointCloud<pcl::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<pcl::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);
}

我们会发现#include 处会报错,原因很简单,这段代码所需要的库文件是需要用cmake生成的,这也是我们要用到cmake的原因

接下来是很关键的几步,我们找到vs中这个项目的文件,比如说项目名字叫PCLTest,那我们就进入到PCLTest的文件夹下(注意是vs项目目录project下的那个文件夹,不要搞错了)。

新建一个叫source的空文件夹,再新建一个叫cmake-bin 的文件夹,把唯一的cpp文件拷贝到source中去,取名PCLtest.cpp,然后在cmake-bin中新建一个txt文件,名字叫Cmakelists

这些准备工作做完了,于是就可以编译库了,在Cmakelist.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})

打开cmake3.3.1

第一行填写source的目录,第二行添加cmake-bin的目录(路径不可以有中文出现,不然cmake会报错的)

然后点下面的configure按钮,等待一段时间,下面的输出框显示Configuring done

然后点击Generate 按钮 ,等待出现
Generating done

说明编译成功,接下来用vs2010打开source文件夹下面的PCLTest.sln,打开项目,右键设置PCLTest为启动项目,然后运行,如果所有步骤都完美的话,会出带有以下信息的窗口:

Cloud before projection:
1.28125 577.094 197.938
828.125 599.031 491.375
358.688 917.438 842.563
764.5 178.281 879.531
727.531 525.844 311.281
Cloud after projection:
1.28125 577.094 0
828.125 599.031 0
358.688 917.438 0
764.5 178.281 0
727.531 525.844 0

如果是一闪就没有了的,请随便加个断点就行。

全文虽然没有图,但是应该是写清楚了得

### 中职学校网络安全理论课程大纲和教学内容 #### 2025年中职学校网络安全理论课程概述 随着信息技术的发展网络安全已成为信息化社会的重要组成部分。为了适应这一需求,中职学校的网络安全理论课程旨在培养学生具备基本的网络安全意识和技术能力,使学生能够在未来的职业生涯中应对各种网络威胁。 #### 教学目标 该课程的目标是让学生理解网络安全的基本概念、原理和技术手段,掌握常见的安全防护措施,并能应用这些知识解决实际问题。具体来说,学生应达到以下几点: - 掌握计算机网络基础架构及其工作原理; - 理解信息安全管理体系框架及其实现方法; - 学习密码学基础知识以及加密算法的应用场景; - 能够识别常见攻击方式并采取有效防御策略; #### 主要章节安排 ##### 第一章 计算机网络与互联网协议 介绍计算机网络的基础结构和服务模型,重点讲解TCP/IP五层体系结构中的各层次功能特点,特别是传输控制协议(TCP)和用户数据报协议(UDP)[^1]。 ##### 第二章 信息系统安全保障概论 探讨信息系统的脆弱性和风险评估机制,阐述如何通过物理隔离、访问控制等措施来保障系统安全性。 ##### 第三章 密码学入门 讲述对称密钥体制和非对称密钥体制的区别与发展历程,分析公钥基础设施(PKI)的工作流程及其重要性。 ##### 第四章 防火墙技术与入侵检测系统(IDS) 解释防火墙的作用原理及其分类形式(包过滤型、代理服务器型),讨论IDS的功能特性及部署建议。 ##### 第五章 Web应用程序安全 针对Web环境下的特殊挑战展开论述,如SQL注入漏洞利用、跨站脚本(XSS)攻击防范等内容。 ##### 实践环节设置 除了上述理论部分外,在每学期还设有专门实践课时用于模拟真实环境中可能遇到的安全事件处理过程,增强学生的动手操作能力和应急响应水平。 ```python # Python代码示例:简单的MD5哈希函数实现 import hashlib def md5_hash(text): hasher = hashlib.md5() hasher.update(text.encode('utf-8')) return hasher.hexdigest() print(md5_hash("example")) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值