1. C++¶
本章主要介绍如何在 Windows 系统中使用 CMake 配置 C++ 例程,并使用 Visual Studio 创建并使用例程。
1.1. 例程简介¶
例程主要分为 5 类: Basic 、 Advanced 、 Util 、 Laser 和 UHP。
Basic
ConnectToCamera :连接相机
ConnectAndCaptureImage :连接相机并获取 2D 图、深度图及 3D 图
CaptureColorMap :从相机获取 OpenCV 格式的彩色图
CaptureDepthMap :从相机获取 OpenCV 格式的深度图
CapturePointCloud :使用单个曝光时间采集图像,生成 PCL 格式的白色点云和彩色点云
CaptureHDRPointCloud :使用多组曝光时间获取图像,生成 PCL 格式的白色点云和彩色点云
CapturePointCloudROI :获取感兴趣区域内的 PCL 格式白色点云和彩色点云
Advanced
CaptureCloudFromDepth :使用 2D 图与深度图生成点云
CaptureSequentiallyMultiCamera :使用多台相机按序获取 2D 图、深度图及 3D 图
CaptureSimultaneouslyMultiCamera :使用多台相机同时获取 2D 图、深度图及 3D 图
CaptureTimedAndPeriodically :设定时间内,定时获取 2D 图像、深度图和 3D 图
Util
GetCameraIntri :获取并打印相机内参
PrintDeviceInfo :获取并打印相机型号、序列号、固件版本等信息
SetDepthRange :设置相机深度范围
SetParameters :设置相机参数
SetUserSets :参数组相关功能,如获取参数组名称,修改参数组名称,保存参数组参数信息。参数组可以保存一组参数值并快速应用
Laser
SetLaserFramePartitionCount :将激光器视野分为多个分区,结构光一次投射到一个分区。整个视野的输出由所有分区的图像融合而成
SetLaserFrameRange :设置结构光投射范围,整个视野范围从 0 到 100
SetLaserFringeCodingMode :设置结构光样式的编码模式
SetLaserPowerLevel :设置激光器的输出功率,影响激光强度
UHP
SetUHPCaptureMode :设置采集模式(分为:相机 1,相机 2 及同时使用两个相机并融合输出)
SetUHPFringeCodingMode :设置结构光样式的编码模式
1.2. 准备工作¶
Mech-Eye SDK
Visual Studio(推荐:2015 及以上版本)
CMake(推荐:3.2 及以上版本)
OpenCV(推荐:3.4.5 及以上版本)
PCL(推荐:1.12.1 版本)
部分例程需安装 OpenCV 或者 PCL 后,才可使用,详见下表:
例程
OpenCV
PCL
CaptureColorMap
√
CaptureDepthMap
√
CapturePointCloud
√
CaptureHDRPointCloud
√
CapturePointCloudROI
√
CaptureCloudFromDepth
√
CaptureTimedAndPeriodically
√
√
CaptureSimultaneouslyMultiCamera
√
√
CaptureSequentiallyMultiCamera
√
√
1.3. 使用指南¶
1.3.1. 软件安装¶
安装 Visual Studio 。安装完成后,还需安装组件,如下图所示,组件安装完成后重启电脑。
安装 CMake ,下载位置如下图所示。
安装时,需将安装路径添加到系统路径,勾选建立桌面快捷方式。
安装 OpenCV 。
安装 PCL 。需下载两个文件,如下图所示。pdb 文件(pcl-1.12.1-pdb-msvc2019-win64.zip)下载完成后需解压。
安装时,需将 PCL 安装路径添加到系统路径。
PCL 安装时需安装第三方软件。
提示
如出现安装路径无法添加至系统路径的报错,如下图所示。需手动添加 PCL 的安装路径至系统变量,详见下文 添加环境变量 。
1.3.2. 添加环境变量¶
右键单击桌面上的 此电脑 ,选择 属性 。在 设置 页面的 相关设置 中选择 高级系统设置,在 系统属性 页面单击 环境变量,进入 环境变量 界面,如下图所示。
选择上图 Path ,单击 编辑 进入 编辑环境变量 页面,如下图所示。在此页面中,单击右上角 新建,依次添加以下路径,添加完成单击 确定 。
需添加环境变量的路径如下:
C:/Program Files/OpenNI2/Tools
XXX/OpenCV/build/x64/vc15/bin
如 PCL 安装路径未添加至系统路径,需手动添加,路径如下:
C:/Program Files/PCL 1.12.1/bin
C:/Program Files/PCL 1.12.1/3rdParty/VTK/bin
1.3.3. CMake 配置¶
以管理员身份运行 运行 CMake (cmake-gui)。
输入源码路径与构建目录路径。
Where is the source code
C:/Program Files/Mech-Eye SDK/API/samples
Where to build the binaries
C:/Program Files/Mech-Eye SDK/API/samples/build
单击 Configure ,进入配置页面,请根据实际情况配置,完成后单击 Finish。
如配置中断,出现如下报错,此时需将OpenCV_DIR的路径更新为 XXX/OpenCV/build/x64/vc14/lib 。
在 Search 中搜索 OpenCV_DIR ,修改路径,如下图所示。完成后,重新单击 Configure 。
配置成功,提示 Configuring done ,然后单击 Generate ,成功后提示 Generating done ,最后单击 Open Project 即可。
1.3.4. 使用 Visual Studio 生成解决方案¶
使用 Visual Studio 打开项目,选择 Release 模式。
在 解决方案资源管理器 窗口,可查看所有的例程。
选择例程,单击鼠标右键,选择 设为启动项目 。
单击 可生成解决方案。
1.3.5. 运行例程¶
以 CaptureColorMap.exe 为例:
进入到 XXX/Mech-Eye SDK/API/samples/build/Release 目录下。
运行 CaptureColorMap.exe 。
程序运行过程中,请根据提示选择待连接相机编号 (device index),并等待程序运行完毕。
程序运行完成后,将在 Release 目录下得到:ColorMap(彩色图) 。