C++(Windows)

您正在查看V2.3.4版本的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您想使用最新版本,可以从梅卡曼德下载中心下载。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持。

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

例程简介

目前提供了如下例程:

  • TriggerWithSoftwareAndFixedRate:通过软触发 + 固定频率的方式触发数据采集,然后获取并保存采集的数据。

  • TriggerWithExternalDeviceAndFixedRate:通过外部触发 + 固定频率的方式触发数据采集,然后获取并保存采集的数据。

  • TriggerWithSoftwareAndEncoder:通过软触发 + 编码器的方式触发数据采集,然后获取并保存采集的数据。

  • TriggerWithExternalDeviceAndEncoder:通过外部触发 + 编码器的方式触发数据采集,然后获取并保存采集的数据。

  • TriggerMultipleProfilersSimultaneously:异步触发多台轮廓测量仪进行采集,然后获取并保存采集的数据。

  • ManageUserSets:管理参数组,如获取所有参数组的名称、新增参数组、切换参数组和保存参数设置至参数组。

  • PrintProfilerStatus:获取并打印轮廓测量仪型号、序列号、固件版本、温度等信息。

  • RegisterProfilerEvent:定义并注册检测相机连接状态的回调函数。

  • UseVirtualDevice:获取虚拟设备中储存的轮廓线数据,并生成和保存强度图和深度图。

关于触发轮廓测量仪进行数据采集的不同方式,请参考触发数据采集的方式

使用前提

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

获取例程

C++例程包含在Mech-Eye SDK的安装路径中,也可从GitHub克隆获取。安装路径中的例程为Mech-Eye SDK发布时的版本,GitHub上的例程可能包含最新修改。

  • 安装路径中的例程位于xxx/Mech-Eye SDK-2.3.4/API/samples/cpp/profiler路径下;

  • 通过GitHub克隆获取的例程位于xxx/mecheye_cpp_samples/profiler路径下。

安装必需软件

使用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右侧的安装包。

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

    • Add CMake to the system PATH for all users

    • Create Cmake Desktop Icon

cmake 1

安装Visual Studio(2017或以上版本)

  1. 下载Visual Studio安装包

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

    • 使用C++的桌面开发

    • 通用Windows平台开发

安装完成后,请重启电脑。如仍需安装可选软件,可在全部安装完成后再重启。

(可选)安装依赖的软件库

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

  • OpenCV:3.4.5或以上版本

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

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

例程

TriggerWithSoftwareAndFixedRate

TriggerWithExternalDeviceAndFixedRate

TriggerWithSoftwareAndEncoder

TriggerWithExternalDeviceAndEncoder

TriggerMultipleProfilersSimultaneously

UseVirtualDevice

安装OpenCV

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

  2. 将OpenCV添加至环境变量:

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

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

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

      • xxx/OpenCV/build/x64/vc14/bin

      • xxx/OpenCV/build/x64/vc14/lib

添加环境变量后,请重启电脑,否则可能导致添加的环境变量不生效。

构建及运行例程

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

本节以安装路径中包含的例程为例提供相关路径,如使用从GitHub克隆获取的例程,需对应更改路径。

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

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

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

  1. 打开xxx/Mech-Eye SDK-2.3.4/API/samples/cpp/profiler路径下的CMakeLists.txt

  2. 编辑option语句:找option(USE_OPENCV…​)行,将行末的ON改为OFF,可禁用依赖OpenCV的例程。

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

使用CMake配置例程

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

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

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

      Where is the source code

      xxx/Mech-Eye SDK-2.3.4/API/samples/cpp/profiler

      Where to build the binaries

      xxx/Mech-Eye SDK-2.3.4/API/samples/cpp/profiler/build

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

      Where is the source code

      xxx/Mech-Eye SDK-2.3.4/API/samples/cpp/profiler/SampleName

      Where to build the binaries

      xxx/Mech-Eye SDK-2.3.4/API/samples/cpp/profiler/SampleName/build

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

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

使用Visual Studio构建例程

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

  2. 在菜单栏中选择生成  生成解决方案。每个例程会生成对应的可执行文件(.exe),保存在Release文件夹中,位于在CMake中输入的Where to build the binaries目录下。

运行例程

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

在Visual Studio中运行例程

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

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

    例程运行过程中,请根据提示输入待连接轮廓测量仪的编号(index),并按Enter键连接轮廓测量仪。

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

运行例程可执行文件

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

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

    例程运行过程中,请根据提示输入待连接轮廓测量仪的编号(index),并按Enter键连接轮廓测量仪。

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

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。