第三方平台(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:
使用浏览器下载: https://github.com/percipioxyz/camport3_halcon_gentl.git。
使用 git 指令获取本地副本:打开终端,切换到需存放 SDK 的工作目录下,输入 git clone 命令克隆远程仓库。
git clone https://github.com/percipioxyz/camport3_halcon_gentl.git
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 中运行相机,操作步骤如下:
发现相机。 在程序窗口输入以下代码并运行。
info_framegrabber ('GenICamTL', 'info_boards', BoardInfo, BoardInfoValues)
BoardInfoValues 一栏会显示所有可发现的设备。
打开相机并采集图像。 在程序窗口输入以下代码并运行。此处 ‘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 和图形窗口显示采集到的彩色图。
根据相机属性读写参数,示例代码如下。关于相机属性,请参见 查看相机属性。
get_framegrabber_param(AcqHandle, 'ImageMode_values', ImageModeValues) set_framegrabber_param(AcqHandle, 'ImageMode', ImageModeValues[0])
查看相机属性
双击
samples
路径下的 genicamtl_parameters.hdev 文件。在程序窗口修改需打开的相机的序列号后,点击运行按钮。此处 ‘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 参数文件。
打开 parameters_info.dat 文件后,可查看相机支持的属性列表。
小技巧
parameters_info.dat 文件说明
结构:参数名 + <前缀> + 当前值 + [参数范围]