C#

本章介绍如何在Windows系统中使用Visual Studio构建Mech-Eye API的C#例程。

例程简介

例程分为以下类别:BasicAdvancedUtil

  • Basic例程:连接和采集数据。

  • Advanced例程:通过复杂、高阶的方式采集数据,设置部分型号特有参数。

  • Util例程:获取相机信息和设置通用参数。

各分类中包含的例程及其简介如下。

Basic
  • ConnectToCamera:连接相机。

  • ConnectAndCaptureImages:连接相机并获取2D图、深度图及点云数据。

  • Capture2DImage:从相机获取并保存2D图。

  • CaptureDepthMap:从相机获取并保存深度图。

  • CapturePointCloud:从相机获取并保存无纹理点云和纹理点云。

  • CapturePointCloudHDR:设置多个曝光时间,然后从相机获取并保存点云。

  • CapturePointCloudWithNormals:计算法向量,并保存含法向量的点云。

Advanced
  • ConvertDepthMapToPointCloud:从深度图生成并保存点云。

  • MultipleCamerasCaptureSequentially:使用多台相机按序获取并保存2D图、深度图及点云。

  • MultipleCamerasCaptureSimultaneously:使用多台相机同时获取并保存2D图、深度图及点云。

  • CapturePeriodically:在设定时间内,定时获取并保存2D图、深度图和点云。

  • Mapping2DImageToDepthMap:从覆盖掩膜的2D图和深度图生成并保存无纹理点云和纹理点云。

  • RenderDepthMap:获取并保存使用jet配色方案渲染的深度图。

  • TransformPointCloud:获取并保存自定义坐标系下的点云。

  • SetParametersOfLaserCameras:设置激光相机特有的参数。

  • SetParametersOfUHPCameras:设置UHP系列相机特有的参数。

  • RegisterCameraEvent:定义并注册检测相机事件的回调函数。

  • CaptureStereo2DImages:获取Deep(V3)、Laser L Enhanced(V3)、PRO XS(V4)、LSR L(V4)、LSR S(V4)和DEEP(V4)的两个2D相机的2D图像。

Util
  • GetCameraIntrinsics:获取并打印相机内参。

  • PrintCameraInfo:获取并打印相机型号、序列号、固件版本、温度等信息。

  • SetScanningParameters:设置3D参数2D参数感兴趣区域分组下的参数。

  • SetDepthRange:设置深度范围参数。

  • SetPointCloudProcessingParameters:设置点云后处理参数。

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

  • SaveAndLoadUserSet:从JSON文件导入并替换所有参数组,将所有参数组保存为JSON文件。

使用前提

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

获取例程

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

  • 安装路径中的例程位于xxx/Mech-Eye SDK-2.4.0/API/samples/csharp/area_scan_3d_camera路径下;

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

安装必需软件

使用Mech-Eye API的C#例程,必须安装Mech-Eye SDK、Visual Studio和Emgu CV。

安装最新版本的Mech-Eye SDK

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

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

  1. 下载Visual Studio安装包

  2. 安装时,勾选以下工作负荷和单个组件,再点击安装

    • 桌面应用和移动应用分类的工作负荷:

      • .NET桌面开发

      • 使用C++的桌面开发

      • 通用Windows平台开发

    • 单个组件:.NET Framework 4.8目标包

C#的Mech-Eye API基于.NET Framework 4.8。如未安装.NET Framework 4.8,将无法构建例程。

安装Emgu CV

CaptureDepthMapRenderDepthMap例程中的功能依赖OpenCV软件库,因此需通过Visiual Studio的NuGet管理器安装Emgu CV(即OpenCV的.NET封装)。

具体安装方式请参考 Microsoft提供的指南

构建及运行例程

在Visual Studio中构建例程后,可选择合适的方式运行例程。

使用Visual Studio构建例程

  1. 双击area_scan_3d_camera文件夹中的MechEyeCSharpSamples.sln

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

  3. 在菜单栏中选择生成  生成解决方案。每个例程会生成对应的可执行文件(.exe),保存在Build文件夹中,该文件夹位于area_scan_3d_camera文件夹中。

运行例程

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

在Visual Studio中运行例程

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

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

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

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

运行例程可执行文件

  1. 进入area_scan_3d_camera文件夹中的Build文件夹。

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

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

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

我们重视您的隐私

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