HALCON——连接相机、调节参数、采集图像
本章介绍使用HALCON助手和梅卡曼德提供的HALCON例程连接Mech-Eye工业级3D相机、调节参数并采集图像。
使用前提
Nano(V3)和Pro XS(V3)相机推荐与电脑直接连接,不使用交换机。 |
-
电脑上已安装HALCON 20.11或以上。
低于20.11版本的HALCON未经完全验证。 |
-
电脑上已安装Mech-Eye SDK 2.0.0或以上。
相机固件版本与软件版本一致时,才可使用Mech-Eye SDK。如需升级固件版本,请参考升级相机固件。 |
-
相机与电脑IP地址在同一网段。
建议将相机与电脑设置为静态IP地址,IP地址设置请参考使用Mech-Eye Viewer设置相机IP地址。 |
在HALCON中,你可以通过HALCON助手或梅卡曼德提供的HALCON例程连接相机。
使用HALCON助手
使用HALCON中的图像采集助手可快速连接相机、采集图像和调节参数。
在电脑上运行HALCON软件,选择
,即可打开图像采集助手。连接相机
-
在Image Acquisition窗口的资源选项卡中,选择图像获取接口,并从下拉菜单中选择GigEVision2。
如下拉菜单中无GigEVision2选项,表明GigEVision2图像获取接口未安装。请参考HALCON的安装指南,通过MVTec软件管理器(SOM)安装接口。 -
在连接选项卡中,选择设备,单击连接可连接相机。
|
采集图像
相机连接后,在连接选项卡中单击采集即可进行单次图像采集。
如相机采图时间较长,可调大相机的MTU值,并开启电脑上的巨型帧功能。 |
你也可以进行多次或连续图像采集,为此需先调节AcquisitionMode参数的值。
-
进行多次图像采集:
-
切换至参数选项卡,将AcquisitionMode参数设置为MultiFrame。
-
单击右上角的刷新后,在AcquisitionFrameCount中设置需进行的图像采集次数。
-
切换至连接选项卡,单击实时进行图像采集。
-
设定次数的图像采集完成后,实时按钮变为停止。单击停止停止图像采集。
-
-
进行连续图像采集:
-
切换至参数选项卡,将AcquisitionMode参数设置为Continuous。
-
切换至连接选项卡,单击实时进行图像采集。
-
实时按钮变为停止。单击停止停止图像采集。
-
|
选择数据类型
相机连接后,默认采集的数据类型是2D图。你可通过调节DeviceScanType参数选择要获取的数据类型(2D图或深度图)。
-
单击参数选项卡,将DeviceScanType参数设置为需要的数据类型。数据类型说明如下:
值 数据类型 Areascan
2D图
Areascan3D
深度图(包含深度信息的2D图)
-
进行图像采集,获取所选的数据类型。
勾选参数选项卡右上角的更新图像,调节参数后Canvas窗口中的图像将自动更新。
设置采集区域
相机连接后,如需对获取的图像进行裁剪,可通过调节Height、Width、OffsetX和OffsetY四个参数设置采集区域。
请按照以下步骤设置采集区域:
-
选择需要设置采集区域的数据类型。
-
单击采集进行单次图像采集,确认当前图像。
-
切换至参数选项卡,调节Height、Width、OffsetX和OffsetY参数。下图展示这四个参数及其所定义的采集区域(橙色方框)与原始图像的关系。
-
Width:采集区域宽度
-
Height:采集区域高度
-
OffsetX:采集区域左上角的x坐标(原始图像左上角坐标为 (0, 0) )
-
OffsetY:采集区域左上角的y坐标
以上四个参数的设置需满足以下要求:
-
(Width + OffsetX)不超过原始图像的宽度
-
(Height + OffsetY)不超过原始图像的高度
原始图像的宽度和高度可在只读参数的WidthMax和HeightMax中查看(需将可视度设为专家或以上)。
-
-
-
再次进行图像采集,确认裁剪结果。
勾选参数选项卡右上角的更新图像,调节参数后Canvas窗口中的图像将自动更新。 |
-
切换至代码生成选项卡,单击插入代码生成相应的代码。
-
如需为另一数据类型设置采集区域:
-
在当前助手窗口中断开相机连接。
-
打开一个新的助手窗口并连接相机。
-
选择另一数据类型并重复上述步骤。
-
|
调节参数
如获取的数据不满足需求,可在参数选项卡下调节相机参数。
|
执行以下步骤调节参数:
-
相机连接后,单击参数选项卡,将UserSetSelector参数设置为要修改的参数组。
-
找到UserSetLoad参数,单击右侧的应用读取配置。
如单击应用后,各参数的值未更新,请再次单击。
-
找到需要修改的参数,并修改参数值。
-
找到UserSetSave参数,单击右侧的应用保存配置。
-
切换至代码生成选项卡,单击插入代码生成相应的代码。
参考信息
-
GenICam支持的相机参数与Mech-Eye Viewer提供的参数基本上一一对应。关于参数的对应关系,以及GenICam支持的相机参数的描述和解释,请参考GenICam支持的相机参数。
-
设置自动曝光感兴趣区域、深度范围及感兴趣区域等相机参数时,通常需要借助可视化工具不断调节从而获取理想的值。由于HALCON并未提供辅助参数设置的可视化工具,你可以借助Mech-Eye Viewer的可视化设置工具来设置这些参数。详细信息请查看借助Mech-Eye Viewer为GenICam客户端设置相机参数。
使用Mech-Eye Viewer连接相机前,需断开相机与HALCON的连接。如连接不成功,请关闭HALCON软件后,再重新连接。 |
使用HALCON例程
GitHub上提供了一系列HALCON例程。本章介绍如何使用其中的connect_to_camera_and_capture_images例程连接相机、采集数据、修改参数并保存数据。你可以直接使用例程或者根据实际需要进行修改以满足项目需求。
HALCON例程使用C++语言编写,可以在HALCON软件的HDevelop集成开发环境中直接运行。 |
运行例程
请执行以下步骤运行例程:
-
获取connect_to_camera_and_capture_images例程,依次单击 即可下载。
-
在HALCON中打开例程:运行HALCON,将例程拖拽至HALCON的程序窗口中。
-
选中程序窗口中info_framegrabber算子所在的行,单击工具栏中的按钮或单击键盘上的F6,运行该算子。
-
双击控制变量区域的DeviceInfos,可查看所有可连接的相机。
-
选中相机并双击,复制unique_name:或user_name:的相机名。
user_name为自定义的相机备注。可在Mech-Eye Viewer中设置。 -
定位至如下命令行,将MechEye替换为unique_name或user_name。
DeviceInfo := 'MechEye'
-
单击工具栏中的按钮或单击键盘上的F5,运行例程。
-
运行结束后,在例程文件夹内查看本次运行获取的2D图和点云数据结果,默认保存文件名为image2d.bmp和PointCloud.ply。
|
调节参数
如获取的数据不满足需求,可调节相应参数。
|
执行以下步骤调节参数:
-
使用以下算子获取相机的参数组列表。
get_framegrabber_param (AcqHandle, 'UserSetSelector_values', ParameterValues)
-
在控制变量区域的ParameterValues中,查看所有的参数组名称。
-
使用以下算子选择要修改的参数组。UserSetSelector和UserSetLoad为相机参数,分别用于选择和加载参数组。ParameterGroupName替换为实际参数组名称。
set_framegrabber_param (AcqHandle, 'UserSetSelector','ParameterGroupName') set_framegrabber_param (AcqHandle, 'UserSetLoad','ParameterGroupName')
-
使用以下算子获取指定参数的值。ParameterName替换为实际相机参数名称。ParameterValues是保存获取参数值的变量,可以根据需要更改。注意变量不需要置于引号内。
get_framegrabber_param (AcqHandle, 'ParameterName', ParameterValues)
-
在控制变量区域的ParameterValues中,查看该参数的值。
-
使用以下算子修改参数设置。ParameterName替换为实际相机参数名称,NewParameterValue替换为新的参数值。
set_framegrabber_param (AcqHandle, 'ParameterName', 'NewParameterValue')
-
使用以下算子将参数设置修改保存到参数组中。UserSetSave为相机参数,用于保存参数设置到参数组。ParameterGroupName替换为实际参数组名称。
set_framegrabber_param (AcqHandle, 'UserSetSave', 'ParameterGroupName')
参考信息
-
GenICam支持的相机参数与Mech-Eye Viewer提供的参数基本上一一对应。关于参数的对应关系,以及GenICam支持的相机参数的描述和解释,请参考GenICam支持的相机参数。
-
设置自动曝光感兴趣区域、深度范围及感兴趣区域等相机参数时,通常需要借助可视化工具不断调节从而获取理想的值。由于HALCON并未提供辅助参数设置的可视化工具,你可以借助Mech-Eye Viewer的可视化设置工具来设置这些参数。详细信息请查看借助Mech-Eye Viewer为GenICam客户端设置相机参数。
使用Mech-Eye Viewer连接相机前,需断开相机与HALCON的连接。如连接不成功,请关闭HALCON软件后,再重新连接。