

MAC 如何配置 PCL 库并在 VS Code 中使用 - Last_Whisper
source link: https://www.cnblogs.com/Last--Whisper/p/17185436.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

MAC 如何配置 PCL 库并在 VS Code 中使用#
首先,让我们简单介绍一下。PCL(英语:Point Cloud Library)是一个开源的算法库,用于处理点云和计算机视觉中的三维几何过程。PCL包含点云滤波、特征估计、三维重建、点云配准、模型拟合、目标识别和分割等算法。每个模块都由一个更小的库实现(如:libpcl_filters
、libpcl_features
、libpcl_surface
等),可以单独编译。PCL有自己的存储点云的数据格式——PCD(英语:Point Cloud Data),但也可以加载和保存许多其他格式的数据。它是用C++ 编写的,并在BSD许可下发布。
接下来我将介绍我如何在 MAC OS 上配置 PCL 并编译运行一个示例程序。
Step1 安装 Homebrew#
打开终端,输入:
ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Step2 使用 Home-brew 安装 PCL#
brew install pcl
这样就会安装到 PCL 的相关依赖库。我这里下载到的路径是:(通过 ⌘command + ⇧shift + . 打开隐藏软件视图)/usr/local/Cellar
下(这在后面的配置中很重要)
Step3 编译并测试一个示例的 PCL 代码#
首先,我们需要在工程目录,或者当前的目录下新建 CMakeLists.txt
例如 (~/Desktop/PCL_Test/CMakeLists.txt
),在该文件中写入:
我们可以先在终端中测试是否存在
cmake
,如果不存在可以使用brew install cmake
安装
cmake_minimum_required(VERSION 2.6 FATAL_ERROR) # 选择cmake版本
project(PCLtest) # 给工程命名
find_package(PCL 1.3 REQUIRED COMPONENTS common io) # 使用find_package寻找指定版本PCL的指定模块,如果想导入全部模块,也可以写为 find_package(PCL REQUIRED) include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(PCLtest main.cpp)
target_link_libraries(PCLtest ${PCL_LIBRARIES})
这一段我目前也没有看懂。
其次,我们在当前工作目录创建一个 main.cpp
(~/Desktop/PCL_Test/main.cpp
),并写入:
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;
// Fill in the cloud data
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
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);
}
pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
std::cerr << "Saved " << cloud.points.size () << " data points to test_pcd.pcd." << 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;
return (0);
}
随后在,当前工作目录新建 build
文件夹,如(~/Desktop/PCL_Test/build
)
cd ~/Desktop/PCL_Test
mkdir build
最后打开终端,进行编译:
cd build
cmake ..
make
编译后运行工程文件(样例中,我们命名的是 PCLtest
:
>>>> ./PCLtest
>>>> Saved 5 data points to test_pcd.pcd.
0.0080142 0.694695 -0.26015
-0.342265 -0.446349 0.214207
0.173687 -0.84253 -0.400481
-0.874475 0.706127 -0.117635
0.908514 -0.598159 0.744714
Step4 解决在 VS Code 中的使用问题。#
因为 PCL
是新下载的,如果我们不把路径告诉 VS Code 的话,就会在 include
的位置,出现特别折磨的红色波浪线。
我们通过以下几步即决:
⌘command + shift + p
呼叫出命令面板- 选择,
首选项,打开用户设置(JSON)
- 进去后,找到
"C_Cpp.default.includePath"
添加对应路径:(我们只需要添加最后两个即可,eigen
是用于解决 #include <pcl/io/pcd_io.h>
的路径问题。
"C_Cpp.default.includePath": [
"xxxxx",
"/usr/local/Cellar/pcl/1.12.1_2/include/pcl-1.12/",
"/usr/local/Cellar/eigen/3.4.0_1/include/eigen3"
],
Reference#
Recommend
-
66
2014年,刺客信条大革命刚出的时候,育碧对它寄予厚望,相信它会成为整个系列最具革命性的作品。但是步子…
-
22
送人玫瑰,手有余香,你是什么,你的世界就是什么💡 前言 网络上与axios相关的教程、以及源码解析有很多,还有健全的官方文档,本篇文章面向于初学axios库的开发者,目标是快速上手,如果觉得本篇文章帮助到了你,也就达到了这篇文章的目的😊 安装依赖 本文
-
15
Table of Contents⛳️ 学习前 本系列博客目标定位是 7 天内学会 Go 语言,并且找一个 Go 相关的工作,那必然存在一些前提条件,即前置技术点。 具备一门编程语言基础,Python,PHP,C# …… 都可以; 熟悉 Li...
-
3
V2EX › 程序员 什么配置的电脑能把 OpenAI 的 Whisper 跑快一点
-
7
OpenAI推出ChatGPT和Whisper API供第三方使用 ...
-
6
Stanford CS 144, Lab 0: networking warmup# Finish Stanford CS144 lab0 and pass the test. 2023/03/29 - 01:45...
-
7
使用GPT4和Whisper API大幅提升写作效率 ...
-
6
Mac M1 使用 whisper 和 ffmpeg 将视频转换为文字 2023-05-29 tech
-
12
使用 Transformers 为多语种语音识别任务微调 Whisper 模型 ...
-
3
从 DigiCert 获取证书并在 Azure KeyVault 中导入使用 Posted on 11/15/2023 , Last modi...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK