C++

本章介绍如何在 Windows 系统中使用 CMake 配置 Mech-Eye API 的 C++ 例程,并使用 Visual Studio 构建例程。

例程简介

例程分为 6 类:BasicAdvancedUtilLaserUHPHalcon

Basic 例程:与连接和基础采集相关。
Advanced 例程:与高级采集技巧相关。
Util 例程:与获取相机信息及设置参数相关。
Laser 例程:仅适用于 Laser,LSR 和 DEEP 系列相机。
UHP 例程:仅适用于 UHP 系列相机。
Halcon 例程:通过 Mech-Eye API 获取HALCON可读取的点云。

使用前提

使用 Mech-Eye API 的 C++ 例程,需先满足以下使用前提:

必需软件和可选软件及其安装注意事项,详见以下小节。

安装必需软件

使用 Mech-Eye API 的 C++ 例程,必须安装 Mech-Eye SDK、CMake 及 Visual Studio。

安装最新版本的 Mech-Eye SDK

请根据 Mech-Eye SDK 安装指南 安装或升级 Mech-Eye SDK。

安装CMake(3.2 或以上版本)
  1. 下载 CMake:下载 Windows x64 Installer 右侧的安装包。

    ../../../_images/cmake_download.png
  2. 安装时,请选择以下两个选项,以将 CMake 添加至环境变量,并创建 CMake 的桌面快捷方式。

    • Add CMake to the system PATH for all users

    • Create Cmake Desktop Icon

../../../_images/cmake_1.png
安装Visual Studio(2015 或以上版本)
  1. 下载 Visual Studio 安装包

  2. 安装时,勾选 桌面应用和移动应用 分类中的以下两个工作负荷,再点击 安装

    • 使用 C++ 的桌面开发

    • 通用 Windows 平台开发

提示

安装完成后,请重启工控机或 PC。如仍需安装可选软件,可在 添加环境变量 后再重启。

安装可选软件

部分例程中的功能依赖以下第三方软件库。如需使用下表中列出的例程,则必须安装其依赖的软件。

  • OpenCV:3.4.5 或以上版本

  • PCL:1.12.1 版本

    注解

    Visual Studio 2015 不支持 PCL。

  • HALCON:20.11 或以上版本

注意

如未安装可选软件,则配置例程前必须执行 禁用不需要的例程(可选) 中的操作。

依赖第三方软件库的例程详见下表。

例程

OpenCV

PCL

HALCON

CaptureColorMap

CaptureDepthMap

CapturePointCloud

CaptureHDRPointCloud

CapturePointCloudROI

CapturePointCloudFromTextureMask

CaptureCloudFromDepth

CaptureTimedAndPeriodically

CaptureSimultaneouslyMultiCamera

CaptureSequentiallyMultiCamera

CaptureHalconPointCloud

安装 OpenCV
  1. 下载并安装 OpenCV。请记录 OpenCV 的安装路径。

  2. 将 OpenCV 添加至环境变量。详见下一节 添加环境变量

安装 PCL
  1. 打开 PCL 下载页面,单击 PCL 1.12.1 下的 Assets,并下载 PCL-1.12.1-AllInOne-msvc2019-win64.exe

  2. 运行 PCL-1.12.1-AllInOne-msvc2019-win64.exe 安装 PCL。安装时,请选择 Add PCL to the system PATH for all users, 以将 PCL 添加至环境变量。

    ../../../_images/pcl_2.png

    提示

    安装过程中,可能弹出如下报错:

    Warning! PATH too long installer unable to modify PATH!

    此情况下,需安装完成后手动将 PCL 添加至系统变量。详见下一节 添加环境变量

  3. 将 PCL 依赖的 OpenNI2 添加至环境变量。详见下一节 添加环境变量

安装 HALCON

安装 HALCON 20.11 或以上版本。需确保 HALCON 的证书在有效期内。

添加环境变量

如需使用依赖 OpenCV 或 PCL 的例程,请根据以下步骤添加相关的环境变量。

  1. 右键单击桌面上的 此电脑 ,选择 属性

  2. 选择 高级系统设置,再在弹出的 系统属性 窗口单击 环境变量,进入 环境变量 界面。

  3. 双击 Path 变量进入 编辑环境变量 页面。单击右上角 新建,依次添加以下路径。添加完成后,单击右下角 确定

    • PCL 相关:C:\Program Files\OpenNI2\Tools

    • OpenCV 相关:xxx\OpenCV\build\x64\vc14\bin

    • OpenCV 相关:xxx\OpenCV\build\x64\vc14\lib

    如安装 PCL 时弹出报错,则需添加以下路径:

    • xxx\PCL 1.12.1\bin

    • xxx\PCL 1.12.1\3rdParty\VTK\bin

提示

添加环境变量后,请重启工控机或 PC,否则可能导致添加的环境变量不生效。

构建及运行例程

您可以一次性构建全部例程,也可以仅构建单独一个例程。

禁用不需要的例程(可选)

注意

未安装可选软件的情况下一次性构建全部例程时,必须进行该节的操作。否则使用 CMake 配置例程时将报错。

如不需要使用依赖 OpenCV、PCL 或 HALCON 的例程,在一次性构建全部例程前,需对 CMakeLists 文件进行编辑,禁用这些例程。

  1. 打开 xxx\Mech-Eye SDK-x.x.x\API\samples 路径下的 CMakeLists.txt

  2. 编辑 option 语句:找到以 option 开头的行,将行末的 ON 改为 OFF,可禁用依赖该行提及软件的例程。

    示例:不需要构建依赖 HALCON 的例程,则将以 option(USE_HALCON 开头的行末尾的 ON 改为 OFF

  3. 保存修改后,关闭 CMakeLists.txt

使用 CMake 配置例程

  1. 右键单击 CMake 并选择 以管理员身份运行

  2. 输入源码路径与构建目录路径。

    • 如需一次性构建所有例程,请输入如下路径。

    Where is the source code

    xxx\Mech-Eye SDK-x.x.x\API\samples

    Where to build the binaries

    xxx\Mech-Eye SDK-x.x.x\API\samples\build

    • 如需单独构建某一例程,请输入如下路径。将路径中的 Category 替换为例程所在类别的名称,将 SampleName 替换为例程名称。

    Where is the source code

    xxx\Mech-Eye SDK-x.x.x\API\samples\Category\SampleName

    Where to build the binaries

    xxx\Mech-Eye SDK-x.x.x\API\samples\Category\SampleName\build

  3. 单击 Configure,进入配置页面。选择 Visual Studio 的版本,然后单击 Finish。配置成功后,日志最末行将显示 Configuring done

    ../../../_images/configuration_1.png
  4. 单击 Generate 生成解决方案。生成成功后,日志最末行将显示 Generating done。然后,单击 Open Project,使用 Visual Studio 打开解决方案。

使用 Visual Studio 构建例程

  1. 在 Visual Studio 工具栏中,将解决方案配置从 Debug 改为 Release 模式。

  2. 解决方案资源管理器 窗口中右键单击顶端的 解决方案 “xxx”, 并选择 生成解决方案。每个例程会生成对应的 exe 格式可执行文件,保存在 Release 文件夹中,位于在 CMake 中输入的 Where to build the binaries 目录下。

运行例程

您可以在 Visual Studio 中直接运行例程,也可以双击运行例程的可执行文件。

在 Visual Studio中运行例程
  1. 解决方案资源管理器 窗口中右键单击想要运行的例程,并选择 设为启动项目

  2. 单击工具栏中的 本地 Windows 调试器 即可在 Visual Studio 中运行例程。

    例程运行过程中,请根据提示输入待连接相机的编号 (device index),并按回车键连接相机。

  3. 如例程保存了图像或点云,将在 build 文件夹中得到保存的文件(即在 CMake 中输入的 Where to build the binaries 目录)。

运行例程可执行文件
  1. 进入在 CMake 中输入的 Where to build the binaries 目录,打开其中的 Release 文件夹。

  2. 运行与例程同名的 exe 文件。

    例程运行过程中,请根据提示输入待连接相机的编号 (device index),并按回车键连接相机。

  3. 如例程保存了图像或点云,将在 Release 文件夹中得到保存的文件。