Halcon 平台

下载并安装 Halcon

Halcon 官网 下载 Halcon (Windows 版) 安装包,并根据官方文档安装 Halcon。

重要

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

下载 SDK

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

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

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

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

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

📦 camport_gentl
├── 📁 win_x64
│   └── percipio.cti                  # Windows x64 平台的 GenTL Producer 实现文件(供 Halcon 加载)
│
├── 📁 ubuntu_x64
│   └── percipio.cti                  # Ubuntu x64 平台的 GenTL Producer 实现文件
│
├── 📁 halcon_samples
│   ├── check_status.hdev             # Halcon 示例:设备状态检查
│   ├── fetchframe.hdev               # Halcon 示例:单相机取图
│   ├── fetchframe_2cameras.hdev      # Halcon 示例:双相机取图
│   ├── fetchframe_RGBD.hdev          # Halcon 示例:RGBD 数据采集
│   ├── genicamtl_parameters.hdev     # Halcon 示例:GenTL/GenICam 参数访问
│   └── triggermode1.hdev             # Halcon 示例:触发模式采集
│
├── README.md                         # 仓库说明、支持平台与使用方法
└── Release.log                       # 版本发布记录与变更日志

halcon_samples 目录

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

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

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

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

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

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

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

ubuntu_x64 目录

  • percipio.cti:Linux 系统下的 GenTL Producer 实现文件。

win_x64 目录

  • percipio.cti:Windows 系统下的 GenTL Producer 实现文件。

配置环境变量

进入环境变量页面,新建一个环境变量。变量名为 GENICAM_GENTL64_PATH,变量值为 percipio.cti 的存储路径,如果是 Windows 系统,则为 win_x64 目录下的路径;如果是 Ubuntu 系统,则为 ubuntu_x64 目录下的路径。重启电脑后,配置生效。

配置环境变量

配置环境变量

查看相机属性

  1. 双击 “halcon_samples” 路径下的 genicamtl_parameters.hdev 文件。

  2. 在 Halcon 程序窗口修改程序:

    • 在 “open_framegrabber” 前指定相机序列号。下方以 ‘PercipioTL_DEV_207000155512’ 为例。

      Device:= 'PercipioTL_DEV_207000155512'
      open_framegrabber ('GenICamTL', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'Device', -1, -1, AcqHandle)
      
    • 在 “get_framegrabber_param” 前打开目标组件。程序才会将该组件下所有的属性列出来。 下方以 Left IR 组件为例。

      * 如是 Gige_2_0 相机,请使用以下代码打开 Left IR 组件
      set_framegrabber_param(AcqHandle, 'SourceSelector', 'Source_LeftIR')
      set_framegrabber_param(AcqHandle, 'ComponentEnable', 1)
      
      * 如是 Gige_2_1 相机,请使用以下代码打开 Left 组件
      set_framegrabber_param(AcqHandle, 'SourceSelector', 'Left')
      set_framegrabber_param(AcqHandle, 'ComponentEnable', 1)
      

      备注

      相机的定义见 Gige_2_0 相机Gige_2_1 相机

  3. 点击运行按钮,执行 genicamtl_parameters.hdev 程序。 在 genicamtl_parameters.hdev 文件的同级目录下会生成 parameters_info.dat 参数文件。

  4. 打开 parameters_info.dat 文件可查看相机支持的属性列表,详细说明及读写方法请点击 下载 PDF 查阅参考。

小技巧

parameters_info.dat 文件说明

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

  2. 在该文件还可查看 Halcon GenTL Producer 的版本号。

运行示例

  1. 在程序窗口中输入相机序列号,此处 ‘PercipioTL_DEV_207000155512’ 为举例说明,请替换成目标相机后再运行。

    * 设置目标相机设备标识(替换为设备的实际序列号)
    Device := 'PercipioTL_DEV_207000155512'
    
    * 通过GenICam协议打开相机
    open_framegrabber ('GenICamTL', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', Device, -1, -1, AcqHandle)
    
  2. 点击运行按钮,执行 fetchframe.hdev 示例。

  3. 查看运行结果。