第三方平台(Halcon)

下载并安装 Halcon

在 Halcon 官网 (https://www.mvtec.com/downloads) 下载 Halcon (Windows 版) 安装包,并根据官方文档安装 Halcon。

重要

Image Acquisition Interfaces 安装包必须安装。若无特殊要求,建议勾选所有安装包并安装。

下载 SDK

选择以下任意方式,下载 Camport3_Halcon_gentl SDK:

  • 使用浏览器下载:https://gitee.com/percipioxyz/camport3_halcon_gentl.git

  • 使用 git 指令获取本地副本:打开终端,切换到需存放 SDK 的工作目录下,输入 git clone 命令克隆远程仓库。

    git clone https://gitee.com/percipioxyz/camport3_halcon_gentl.git
    

Camport3_Halcon_gentl SDK 目录结构如下图所示:

Halcon SDK 目录

Camport3_Halcon_gentl SDK 目录

samples 目录

存放了可供用户编程参考的示例程序。

  • check_status.hdev:该示例程序用于展示相机连接的状态。

  • fetchframe.hdev:该示例程序用于 1 台深度相机采集图像数据。

  • fetchframe_2cameras.hdev:该示例程序用于 2 台深度相机同时连续采集图像并输出图像数据。

  • fetchframe_RGBD.hdev:该示例程序用于获取 RGBD 深度彩色对齐图。

  • genicamtl_parameters.hdev:该示例程序用于枚举图漾支持设置的参数。

  • triggermode1.hdev:该示例程序用于设置深度相机工作在模式 1,相机收到软触发指令或硬触发信号后采集图像并输出图像数据。

其他

samples 同级目录下还包括:

  • percipio.cti:GenTL Producer 的实现文件

  • tycam.dll:GenTL Producer 依赖的图漾 SDK 的动态链接库

  • README.md:说明文档

配置环境变量

进入环境变量页面,新建一个环境变量。变量名为 GENICAM_GENTL64_PATH,变量值为 percipio.cti 的存储路径,即 Camport3_Halcon_gentl SDK 文件夹路径。重启电脑后,配置生效。

配置环境变量

配置环境变量

运行示例

以 207000144850 序列号相机为例,介绍如何在 Halcon 中运行相机,操作步骤如下:

  1. 发现相机。 在程序窗口输入以下代码并运行。

    info_framegrabber ('GenICamTL', 'info_boards', BoardInfo, BoardInfoValues)
    

    BoardInfoValues 一栏会显示所有可发现的设备。

  2. 打开相机并采集图像。 在程序窗口输入以下代码并运行。此处 ‘PercipioTL_DEV_207000144850’ 为举例说明,请替换成目标相机后再运行。

    open_framegrabber ('GenICamTL', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'PercipioTL_DEV_207000144850', -1, -1, AcqHandle)
    set_framegrabber_param(AcqHandle, 'SourceSelector', 'Source_Color')
    set_framegrabber_param(AcqHandle, 'SourceMode', 'On')
    set_framegrabber_param(AcqHandle, 'SourceSelector', 'Source_Depth')
    set_framegrabber_param(AcqHandle, 'SourceMode', 'Off')
    grab_data_async(Image, Region, Contours, AcqHandle, -1, Data)
    

    AcqHandle 一栏显示获取到的 handle。 图像变量 Image 和图形窗口显示采集到的彩色图。

  3. 根据相机属性读写参数,示例代码如下。关于相机属性,请参见 查看相机属性

    get_framegrabber_param(AcqHandle, 'ImageMode_values', ImageModeValues)
    set_framegrabber_param(AcqHandle, 'ImageMode', ImageModeValues[0])
    

查看相机属性

  1. 双击 samples 路径下的 genicamtl_parameters.hdev 文件。

  2. 在程序窗口修改需打开的相机的序列号后,点击运行按钮。此处 ‘PercipioTL_DEV_207000144850’ 为举例说明,请替换成目标相机后再运行。

    open_framegrabber ('GenICamTL', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'PercipioTL_DEV_207000144850', -1, -1, AcqHandle)
    

    在 genicamtl_parameters.hdev 文件的同级目录下会生成 parameters_info.dat 参数文件。

  3. 打开 parameters_info.dat 文件后,可查看相机支持的属性列表。

小技巧

parameters_info.dat 文件说明

结构:参数名 + <前缀> + 当前值 + [参数范围]