HALCON 中的捕获设置

简介

当您在 HALCON 中通过 GenICam GenTL 接口 使用 Zivid 相机时,每个 Zivid 捕获设置都会作为 GenICam 特性节点公开。您可以使用 set_framegrabber_param 和 get_framegrabber_param 在 HDevelop 中配置和读取这些节点,也可以在 HDevelop 的 Image Acquisition Assistant 中直观地浏览它们。

本页说明:

  • 如何配置捕获设置

  • 如何查看已连接相机公开的设置

  • Zivid SDK 设置如何映射到 GenICam 节点名称

备注

我们建议通过 .yml 设置文件配置捕获设置(请参阅下文的 通过 YML 文件配置设置(推荐)),而不是逐个设置节点。这样可以确保设置有单一的真实来源,并且是配置没有独立 GenICam 节点的设置(例如 2D Color 设置)的唯一方式。

要了解各个设置的作用,请参阅 相机设置。

查看可用设置和当前生效的设置

确定哪些捕获设置可用,以及当前设置了哪些值,是在 HALCON 中最不直观的部分。 有两种方法可以做到这一点。

使用 HDevelop Image Acquisition Assistant

在 HDevelop 中,打开 Assistants → Open New Image Acquisition 并连接到 Zivid 设备。Parameters 选项卡会显示已连接相机的完整 GenICam 特性树,您可以在其中交互式地读取和编辑每个可用设置。这是探索特定相机型号支持哪些功能的最快方式。

以编程方式

要通过代码枚举设置,请查询接口和已连接的相机:

* Parameters exposed by the GenICam GenTL interface
info_framegrabber ('GenICamTL', 'parameters', Information_parameters, ValueList_parameters)
info_framegrabber ('GenICamTL', 'parameters_readonly', Information_parameters_readonly, ValueList_parameters_readonly)

* All node names available on the connected camera
get_framegrabber_param (AcqHandle, 'available_param_names', Value_available_param_names)

获得节点名称后,可以使用 get_framegrabber_param 读取其中任意一个的当前值,例如:

get_framegrabber_param (AcqHandle, 'Engine', CurrentEngine)
get_framegrabber_param (AcqHandle, 'SamplingColor', CurrentSamplingColor)

QuerySettingsAndParameters.hdev 示例枚举了接口参数,并读取了一系列相机、设备和流节点。

备注

逐次采集设置(Aperture、ExposureTime、Gain 和 Brightness)属于用于 HDR 捕获的采集列表,而不是单一的固定值。当设置从 .yml 文件加载时,该文件仍然是真实来源;上述节点用于检查和调试。某些节点还具有特定型号的限制和选项,因此不同相机型号的可用参数可能有所不同。

配置单个设置节点(高级)

您也可以通过直接写入其 GenICam 节点来配置各项设置。这对于小幅调整或以编程方式生成设置很有用,但对于完整设置,我们建议 加载 YML 文件。

逐次采集设置通过多采集列表进行配置。切换到 HDR 模式,重置之前的所有采集,然后为每次曝光添加一个采集:

set_framegrabber_param (AcqHandle, 'AcquisitionMode', 'MultiAcquisitionFrame')
set_framegrabber_param (AcqHandle, 'ResetAcquisitions', 1)

set_framegrabber_param (AcqHandle, 'Aperture', 5.66)
set_framegrabber_param (AcqHandle, 'ExposureTime', 6500)
set_framegrabber_param (AcqHandle, 'Brightness', 1.8)
set_framegrabber_param (AcqHandle, 'Gain', 1.0)
set_framegrabber_param (AcqHandle, 'AddAcquisition', 1)

其余设置(Engine、采样、感兴趣区域、过滤器和颜色)为全局设置,只需设置一次:

set_framegrabber_param (AcqHandle, 'Engine', 'stripe')
set_framegrabber_param (AcqHandle, 'SamplingColor', 'rgb')
set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianEnabled', 1)
set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianSigma', 1.5)

CaptureHDRCompleteSettings.hdev 示例明确配置了每个可用节点,是节点名称最完整的参考。

将 Zivid SDK 设置映射到 GenICam 节点

GenICam 节点名称是 Zivid SDK Settings 树的扁平化形式:取完整的设置路径,去掉 Settings 根节点,然后将剩余名称以 PascalCase 形式拼接起来。例如,Settings/Processing/Filters/Smoothing/Gaussian/Sigma 会变为 ProcessingFiltersSmoothingGaussianSigma。

下表列出了最常用设置的映射关系。

Zivid SDK 设置

GenICam 节点名称

Settings/Engine

Engine

Settings/Sampling/Color

SamplingColor

Settings/Sampling/Pixel

SamplingPixel

Settings/Acquisition/Aperture

Aperture

Settings/Acquisition/ExposureTime

ExposureTime

Settings/Acquisition/Brightness

Brightness

Settings/Acquisition/Gain

Gain

Settings/RegionOfInterest/Box/Enabled

RegionOfInterestBoxEnabled

Settings/RegionOfInterest/Box/PointO

RegionOfInterestBoxPointOX/OY/OZ

Settings/RegionOfInterest/Box/PointA

RegionOfInterestBoxPointAX/AY/AZ

Settings/RegionOfInterest/Box/PointB

RegionOfInterestBoxPointBX/BY/BZ

Settings/RegionOfInterest/Box/Extents

RegionOfInterestBoxExtentsMin/Max

Settings/RegionOfInterest/Depth/Enabled

RegionOfInterestDepthEnabled

Settings/RegionOfInterest/Depth/Range

RegionOfInterestDepthRangeMin/Max

Settings/Processing/Filters/Smoothing/Gaussian/Enabled

ProcessingFiltersSmoothingGaussianEnabled

Settings/Processing/Filters/Smoothing/Gaussian/Sigma

ProcessingFiltersSmoothingGaussianSigma

Settings/Processing/Filters/Noise/Removal/Enabled

ProcessingFiltersNoiseRemovalEnabled

Settings/Processing/Filters/Noise/Removal/Threshold

ProcessingFiltersNoiseRemovalThreshold

Settings/Processing/Filters/Noise/Suppression/Enabled

ProcessingFiltersNoiseSuppressionEnabled

Settings/Processing/Filters/Noise/Repair/Enabled

ProcessingFiltersNoiseRepairEnabled

Settings/Processing/Filters/Outlier/Removal/Enabled

ProcessingFiltersOutlierRemovalEnabled

Settings/Processing/Filters/Outlier/Removal/Threshold

ProcessingFiltersOutlierRemovalThreshold

Settings/Processing/Filters/Reflection/Removal/Enabled

ProcessingFiltersReflectionRemovalEnabled

Settings/Processing/Filters/Cluster/Removal/Enabled

ProcessingFiltersClusterRemovalEnabled

Settings/Processing/Filters/Hole/Repair/Enabled

ProcessingFiltersHoleRepairEnabled

Settings/Processing/Resampling/Mode

ProcessingResamplingMode

Settings/Processing/Color/Balance/Red

ProcessingColorBalanceRed

Settings/Processing/Color/Balance/Green

ProcessingColorBalanceGreen

Settings/Processing/Color/Balance/Blue

ProcessingColorBalanceBlue

要获取相机上可用节点名称的完整列表,请按照 查看可用设置和当前生效的设置 中的说明使用 available_param_names,或在 HDevelop 的 Image Acquisition Assistant 中浏览特性树。

警告

2D Color 设置(Settings/Color)没有独立的 GenICam 节点,只能通过 加载 YML 文件 进行配置。