1.下载并安装 Halcon

1.1 下载Halcon软件

   在Halcon官网(https://www.mvtec.com/downloads) 下载Halcon(Windows 版)安装包,并根据官方文档安装Halcon,下载HALCON25.11Progress-Steady。
在这里插入图片描述

1.2 安装Halcon

  • 1.解压HALCON 25.11的安装包压缩文件,并解压到HALCON-25.11.1.0-x64-win64文件夹。
  • 2.进入HALCON-25.11.1.0-x64-win64文件夹,右键点击som.exe文件,选择以管理员身份运行,自动弹出HTML页面。
  • 3.在安装页面上选择语言为中文(CN),选中第二个所有用户安装。
  • 4.安装类型选择高级安装

在这里插入图片描述

   简易安装会省略一些部件,比如GenICam、GigeVision、USB采集接口、VS调试插件等。

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

  • 5.选择安装包,选择全部,点击 下一步
    在这里插入图片描述
  • 6.完成安装。
    在这里插入图片描述

2.下载Camport_Halcon_gentl SDK

2.1 下载Camport_Halcon_gentl SDK

   1.使用浏览器下载:https://gitee.com/percipioxyz/camport3_halcon_gentl
   2.使用 git 指令获取本地副本:打开终端,切换到需存放 SDK 的工作目录下,输入 git clone 命令克隆远程仓库。

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

   详情请参考图漾官网:https://doc.percipio.xyz/cam/latest/getstarted/sdk-halcon-compile.html#camera-feature-label

2.2 Camport Halcon SDK介绍

   Camport Halcon SDK 的目录,包含了:samples目录 、库文件、实现文件。
在这里插入图片描述

Halcon SDK介绍

   其中根目录下:

  • ubunt_x64/percipio.ctiwin_x64/percipio.cti:GenTL Producer 的实现文件。
    其中halcon_samples目录下:
  • check_status.hdev:该示例程序用于展示相机连接的状态。
  • fetchframe.hdev:该示例程序用于1台深度相机采集图像数据。
  • fetchframe_2cameras.hdev:该示例程序用于2台深度相机同时连续采集图像并输出图像数据。
  • fetchframe_RGBD.hdev:该示例程序用于采集RGBD对齐后的点云图。
  • genicamtl_parameters.hdev:该示例程序用于枚举图漾支持设置的参数。
  • triggermode1.hdev:该示例程序用于设置深度相机工作在模式1,相机收到软触发指令或硬触发信号后采集图像并输出图像数据。

2.3 Halcon SDK环境配置与运行

2.3.1 SDK环境配置

   配置环境变量。进入环境变量页面,新建一个环境变量。变量名为GENICAM_GENTL64_PATH,变量值为percipio.cti的存储路径,即Halcon2.1.6文件夹路径,重启电脑后,配置生效。,重启电脑后,配置生效。
在这里插入图片描述

配置环境变量

   注意:版本更新一定要记得配置环境变量。

2.3.1.1 License下载与配置

   1.访问Halcon Licenses下载链接,下载授权。
在这里插入图片描述
   2.下载并解压后获得若干.dat文件。将所有.dat文件放于Halcon程序安装目录下的License目录下,如C:\Program Files\MVTec\HALCON-25.11-Progress-Steady\license(也可以通过右击,Halcon桌面快捷方式-属性-打开文件所在位置,直接访问到安装目录)
在这里插入图片描述

获取文件所在位置

   注意:License需要每月更新一次。

2.3.1.2 官网购买加密狗

   前期测试可以使用临时License,如项目中需要使用Halcon软件,请联系官网购买正版加密狗。

2.3.2 获取相机支持的参数

   第一步,修改示例程序genicamtl_parameters.hdev。
   在open_framegrabber (InterfaceName, 0, 0, 0, 0, 0, 0, ‘default’, -1, ‘default’, GenericParam, ‘false’, ‘default’, Device, 0, -1, AcqHandle)之前添加如下代码:

Device:='PercipioTL_DEV_207000159544'

   注意:根据实际情况填写

   在get_framegrabber_param (AcqHandle, ‘available_param_names’, ParameterValues)之前添加如下代码:

*SDK3.0相机
set_framegrabber_param(AcqHandle, 'SourceSelector', 'Source_LeftIR')
set_framegrabber_param(AcqHandle, 'ComponentEnable', 1)

*SDK4.0相机
set_framegrabber_param(AcqHandle, 'SourceSelector', 'Left')
set_framegrabber_param(AcqHandle, 'ComponentEnable', 1)

   先确认查找哪个组件,需要先将组件打开。程序才会将该组件下所有的属性列出来。

   第二步,运行genicamtl_parameters.hdev程序。
在这里插入图片描述

参数获取示例程序

   第三步,查看相机支持的属性列表,运行后会在sample路径下生成参数文件parameters_info.dat
在这里插入图片描述

生成后的参数文件

   例:TriggerLedExpo: 0 [0,1088,1,0]
   参数名 + streamable or non-streamable + 当前值 + [最小值,最大值,步长,当前值]

   第四步,确认Halcon的版本号,使用notepad++ 打开parameters_info.dat文件。
在这里插入图片描述

版本确认

2.3.3 配置相机参数并运行相机

   配置参数,可以根据如下流程进行参数配置。
在这里插入图片描述

程序流程图

   1.通过 SDK 示例程序 DumpAllFeatures 可列出当前操作相机的所有组件和支持的属性信息。
   2.通过 SDK 示例程序 DumpAllFeatures -d,可以生成 fetch_config.xml文件,在该文件中可以查看深度相机支持的组件和和属性。
   3.这个需要下载C++的SDK才能获取,详细获取链接如下:
   Camport4 C++语言SDK下载链接

   打开程序fetchframe.hdev,点击Halcon的 执行 按钮,相机开始采集图像。
在这里插入图片描述

Halcon采集图像

   注意:1TLRemoteDeviceNodemapExtTY.xml1中,pmin和min区别是pmin会去拿fetch_config.xml的min;min直接拿xml的值。

2.4 遍历Percipio cti4.0支持的参数

   根据下表遍历不同组件下的参数设置,对于Color组件,包括彩色相机的分辨率和格式读取,分辨率大小的设置、AEC、AWB、ROI以及曝光增益参数等设置。对于Depth组件,主要测试为SGBM参数。对于IR组件,则包括所有曝光增益参数的设置。

相机型号 主要测试项
PMD02-E1 SGBM 参数
Color: YUYV2560x1920、YUYV1280x960、YUYV640x480、CSI BayerGB 12P2560x1920、AE_TARGET_Y、AEC、Exposure time、AEC-ROI
IR: Analog-gain、Exposure time
Device: time-sync、triggerDelay、TriggerOutIO
GM641-E1 Color: R/G/B-gain、AnalogAll、AGC|AWB
IR: AEC、AEC-ROI

2.5 遍历Percipio cti3.0支持的参数

相机型号 主要测试项
PS800-E1 SGBM参数参数链接
Color:YUYV2560x1920、YUYV1280x960、YUYV640x480、YUYV1920x1440、CSI BAYER12GBRG2560x1920、AE_TARGET_Y、AEC、Exposure time、AEC-ROI
IR:HDR、HDR-Parameter、Exposure time
Device:PresetMode
FM851-E1 Color:R/G/B-gain、Analog-Gain、AGC|AWB
IR:Gain、Analog-gain
Device:cmos-sync、time-sync、triggerDelay、TriggerOutIO
TL430-E1 Depth-quality、tof-modulation-threshold、tof-jitter-threshold、filter-threshold、tof-channel、HDR-ratio
TM265-E1 Color:JPEG1920x1080、YUYV1280x720、YUYV640x360
Depth:depth16 240x96、xyz48 240x96
Tof-anti-sunlight-index、tof-anti-interference、MaxSpeckleDiff、MaxSpeckleSize
遍历参数

   注意:查看Halcon官网文档说明,使用正确的方式读取参数的使用范围及当前的值。

在这里插入图片描述
   1.红色的部分表示无法设置的参数。
   2.标准的属性支持Range的读取,客制的属性支持读取最大值和最小值。

3.`2.X.X版本SDK属性设置

3.1 Device组件

属性 写操作代码 读操作代码
struct trigger mode set_framegrabber_param(AcqHandle, ‘TriggerMode’, ‘On’) get_framegrabber_param(AcqHandle, ‘TriggerMode’, workmode)
persistent IP set_framegrabber_param(AcqHandle,‘GevPersistentIPAddress’,‘192.168.2.188’) get_framegrabber_param(AcqHandle,‘GevPersistentIPAddress’,IP)
persistent netmask set_framegrabber_param(AcqHandle,‘GevPersistentSubnetMask’,‘255.255.255.0’) get_framegrabber_param(AcqHandle,‘GevPersistentSubnetMask’,netmask)
persistent gateway set_framegrabber_param(AcqHandle,‘GevPersistentDefaultGateway’,‘192.168.2.1’) get_framegrabber_param(AcqHandle,‘GevPersistentDefaultGateway’,gateway)
packet delay set_framegrabber_param(AcqHandle, ‘GevSCPD’, 20000) get_framegrabber_param(AcqHandle, ‘GevSCPD’, packetDelay)
packet size set_framegrabber_param(AcqHandle, ‘GevSCPSPacketSize’, 1000) get_framegrabber_param(AcqHandle, ‘GevSCPSPacketSize’, packetSize)
keep alive onoff set_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatMode’,‘Off’) get_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatMode’,devicelink)
keep alive timeout set_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatTimeout’,15000) get_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatTimeout’,timeout)
trigger delay (us) set_framegrabber_param (AcqHandle, ‘TriggerDelay’,130000) get_framegrabber_param (AcqHandle, ‘TriggerDelay’, TriggerDelay)
Frame per trigger set_framegrabber_param(AcqHandle, ‘FramePerTrigger’, 10) get_framegrabber_param(AcqHandle, ‘FramePerTrigger’, TriggerFps)
trigger Out IO set_framegrabber_param(AcqHandle, ‘TriggerOutIO’, 0) get_framegrabber_param(AcqHandle, ‘TriggerOutIO’, TriggerOutIO)
CaptureTimeUs N/A get_framegrabber_param (AcqHandle, ‘CaptureTimeUs’, CaptureTimeUs)
sync type set_framegrabber_param (AcqHandle, ‘SyncType’, ‘SyncType_host’) get_framegrabber_param (AcqHandle, ‘SyncType’,SyncType )
NtpServerIp set_framegrabber_param(AcqHandle,‘NtpServerIp’,3232236033) get_framegrabber_param(AcqHandle,‘NtpServerIp’, ntpServer)
SyncReady N/A get_framegrabber_param (AcqHandle, ‘SyncReady’, SyncReady)
StreamAsync set_framegrabber_param (AcqHandle, ‘StreamAsync’,‘StreamAsync_depth’ ) get_framegrabber_param (AcqHandle, ‘StreamAsync’, StreamAsync)
cmos sync set_framegrabber_param (AcqHandle, ‘CmosSync’,1 ) get_framegrabber_param (AcqHandle, ‘CmosSync’, CmosSync)
PresetMode set_framegrabber_param(AcqHandle, ‘PresetMode_Val’, 1)
set_framegrabber_param(AcqHandle, ‘PresetMode’, ‘Fast’)

注意:两个方法选其中一个就可以。
get_framegrabber_param(AcqHandle, ‘PresetMode_Val’, value)
get_framegrabber_param(AcqHandle, ‘PresetMode’, PresetMode)
Temperature Info N/A set_framegrabber_param(AcqHandle,‘DeviceTemperatureSelector_Val’,0)
get_framegrabber_param(AcqHandle,‘DeviceTemperatureSelector_Val’,value)
get_framegrabber_param(AcqHandle,‘DeviceTemperatureSelector’,value0)
get_framegrabber_param(AcqHandle,‘DeviceTemperature’,temp0)

注意:0,1,2,3,4 分别可以读取到leftIR、RightIR、Color、CPU和主板的温度

3.2 Depth组件

属性 写操作代码 读操作代码
打开/关闭Depth数据流 set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_Depth’)
get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1)
get_framegrabber_param(AcqHandle,‘ComponentEnable’,depth)
Intrinsic N/A get_framegrabber_param(AcqHandle, ‘Intrinsic_fx’, Intrinsic_fx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cx’, Intrinsic_cx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_fy’, Intrinsic_fy)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cy’, Intrinsic_cy)
PixelMode N/A get_framegrabber_param(AcqHandle,‘PixelFormat’,format)
Width/Height N/A get_framegrabber_param(AcqHandle,‘Width’,width)
get_framegrabber_param(AcqHandle,‘Height’,height)
BinningHorizontal/BinningVertical set_framegrabber_param (AcqHandle,‘BinningHorizontal’,2)
set_framegrabber_param (AcqHandle,‘BinningVertical’,2)
get_framegrabber_param(AcqHandle,‘BinningHorizontal’,H)
get_framegrabber_param(AcqHandle,’ BinningVertical ',V)
sgbm scale unit set_framegrabber_param (AcqHandle, ‘ScaleUnit’, 0.25) get_framegrabber_param (AcqHandle, ‘ScaleUnit’, ScaleUnit)
sgbm image number set_framegrabber_param (AcqHandle, ‘SgbmImageNum’, 10) get_framegrabber_param (AcqHandle, ‘SgbmImageNum’, SgbmImageNum)
sgbm disparity num set_framegrabber_param (AcqHandle, ‘SgbmDisparityNum’, 320) get_framegrabber_param (AcqHandle, ‘SgbmDisparityNum’, SgbmDisparityNum)
sgbm disparity offset set_framegrabber_param (AcqHandle, ‘SgbmDisparityOffset’, -32) get_framegrabber_param (AcqHandle, ‘SgbmDisparityOffset’, SgbmDisparityOffset)
sgbm match window height set_framegrabber_param (AcqHandle, ‘SgbmMatchWinHeight’, 3) get_framegrabber_param (AcqHandle, ‘SgbmMatchWinHeight’, SgbmMatchWinHeight)
sgbm match window width set_framegrabber_param (AcqHandle, ‘SgbmMatchWinWidth’,3 ) get_framegrabber_param (AcqHandle, ‘SgbmMatchWinWidth’, SgbmMatchWinWidth)
sgbm semi global param p1 set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1’, 100) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1’, SgbmSemiParamP1)
sgbm semi global param p1 scale set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1Scale’,10 ) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1Scale’, SgbmSemiParamP1Scale)
sgbm semi global param p2 set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP2’, 100) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP2’, SgbmSemiParamP2)
sgbm enable half window size set_framegrabber_param (AcqHandle, ‘SgbmHfilterHalfWin’, 1) get_framegrabber_param (AcqHandle, ‘SgbmHfilterHalfWin’, SgbmHfilterHalfWin )
sgbm uniqueness factor param set_framegrabber_param (AcqHandle, ‘SgbmUniqueFactor’, 130) get_framegrabber_param (AcqHandle, ‘SgbmUniqueFactor’, SgbmUniqueFactor)
sgbm uniqueness min absolute diff set_framegrabber_param (AcqHandle, ‘SgbmUniqueAbsdiff’, 1000) get_framegrabber_param (AcqHandle, ‘SgbmUniqueAbsdiff’, SgbmUniqueAbsdiff)
sgbm enable LRC set_framegrabber_param (AcqHandle, ‘SgbmLrc’, 1) get_framegrabber_param (AcqHandle, ‘SgbmLrc’, SgbmLrc )
sgbm max LRC diff set_framegrabber_param (AcqHandle, ‘SgbmLrcDiff’, 2500) get_framegrabber_param (AcqHandle, ‘SgbmLrcDiff’, SgbmLrcDiff)
sgbm enable median filter set_framegrabber_param (AcqHandle, ‘SgbmMedfilter’,1 ) get_framegrabber_param (AcqHandle, ‘SgbmMedfilter’, SgbmMedfilter)
sgbm median filter thresh set_framegrabber_param (AcqHandle, ‘SgbmMedfilterThresh’, 250) get_framegrabber_param (AcqHandle, ‘SgbmMedfilterThresh’, SgbmMedfilterThresh)
sgbm texture Thresh set_framegrabber_param (AcqHandle, ’ SgbmTextureThresh’, 500) get_framegrabber_param (AcqHandle, ’ SgbmTextureThresh’, SgbmTextureThresh)
Sgbm texture offset NC get_framegrabber_param (AcqHandle, ’ SgbmTextureOffset’, SgbmTextureOffset)
depth quality set_framegrabber_param(AcqHandle, ‘DepthQuality’, ‘DepthQuality_High’) get_framegrabber_param(AcqHandle, ‘DepthQuality’, DepthQuality)
tof anti-sunlight index set_framegrabber_param(AcqHandle, ‘TofAntiSunlightIndex’, 2) get_framegrabber_param(AcqHandle, ‘TofAntiSunlightIndex’, TofAntiSunlightIndex)
Tof anti-interference set_framegrabber_param(AcqHandle, ‘TofAntiInterference’,1) get_framegrabber_param(AcqHandle, ‘TofAntiInterference’,TofAntiInterference)
MaxSpeckleSize set_framegrabber_param(AcqHandle,‘MaxSpeckleSize’,200) get_framegrabber_param(AcqHandle,‘MaxSpeckleSize’,MaxSpeckleSize)
MaxSpeckleDiff set_framegrabber_param(AcqHandle,‘MaxSpeckleDiff’,500) get_framegrabber_param(AcqHandle,‘MaxSpeckleDiff’,MaxSpeckleDiff)
tof modulation threshold set_framegrabber_param(AcqHandle, ‘TofModulationThreshold’, 80) get_framegrabber_param(AcqHandle, ‘TofModulationThreshold’, TofModulationThreshold)
tof jitter threshold set_framegrabber_param(AcqHandle, ‘TofJitterThreshold’, 10) get_framegrabber_param(AcqHandle, ‘TofJitterThreshold’, TofJitterThreshold)
filter threshold set_framegrabber_param(AcqHandle, ‘FilterThreshold’, 190) get_framegrabber_param(AcqHandle, ‘FilterThreshold’, FilterThreshold)
tof channel set_framegrabber_param(AcqHandle, ‘TofChannel’, 4) get_framegrabber_param(AcqHandle, ‘TofChannel’, TofChannel)
HDR ratio set_framegrabber_param(AcqHandle, ‘TofHdrRatio’, 80) get_framegrabber_param(AcqHandle, ‘TofHdrRatio’, TofHdrRatio)

3.3 Color组件

属性 写操作代码 读操作代码
打开/关闭Color数据流 set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_Color’)
get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1)
get_framegrabber_param(AcqHandle,‘ComponentEnable’,ComponentEnable)
Intrinsic N/A get_framegrabber_param(AcqHandle, ‘Intrinsic_fx’, Intrinsic_fx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cx’, Intrinsic_cx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_fy’, Intrinsic_fy)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cy’, Intrinsic_cy)
Extrinsic N/A get_framegrabber_param(AcqHandle, ‘Extrinsic_r11’, Extrinsic_r11)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r12’, Extrinsic_r12)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r13’, Extrinsic_r13)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t1’, Extrinsic_t1)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r21’, Extrinsic_r21)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r22’, Extrinsic_r22)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r23’, Extrinsic_r23)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t2’, Extrinsic_t2)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r31’, Extrinsic_r31)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r32’, Extrinsic_r32)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r33’, Extrinsic_r33)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t3’, Extrinsic_t3)
Distortion N/A get_framegrabber_param(AcqHandle, ‘Distortion_k1’, Distortion_k1)
get_framegrabber_param(AcqHandle, ‘Distortion_k2’, Distortion_k2)
get_framegrabber_param(AcqHandle, ‘Distortion_p1’, Distortion_p1)
get_framegrabber_param(AcqHandle, ‘Distortion_p2’, Distortion_p2)
get_framegrabber_param(AcqHandle, ‘Distortion_k3’, Distortion_k3)
get_framegrabber_param(AcqHandle, ‘Distortion_k4’, Distortion_k4)
get_framegrabber_param(AcqHandle, ‘Distortion_k5’, Distortion_k5)
get_framegrabber_param(AcqHandle, ‘Distortion_k6’, Distortion_k6)
get_framegrabber_param(AcqHandle, ‘Distortion_s1’, Distortion_s1)
get_framegrabber_param(AcqHandle, ‘Distortion_s2’, Distortion_s2)
get_framegrabber_param(AcqHandle, ‘Distortion_s3’, Distortion_s3)
get_framegrabber_param(AcqHandle, ‘Distortion_s4’, Distortion_s4)
PixelMode N/A get_framegrabber_param(AcqHandle,‘PixelFormat’,format)
Width/Height N/A get_framegrabber_param(AcqHandle,‘Width’,width)
get_framegrabber_param(AcqHandle,‘Height’,height)
BinningHorizontal/BinningVertical set_framegrabber_param (AcqHandle,‘BinningHorizontal’,2)
set_framegrabber_param (AcqHandle,‘BinningVertical’,2)
get_framegrabber_param(AcqHandle,‘BinningHorizontal’,H)
get_framegrabber_param(AcqHandle,’ BinningVertical ',V)
exposure time set_framegrabber_param (AcqHandle, ‘ExposureTime’,10000 ) get_framegrabber_param (AcqHandle, ‘ExposureTime’, ExposureTime)
r gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalRed’) set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
g gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalGreen’) set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
b gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalBlue’) set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
analog gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘AnalogAll’) set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
auto gain ctrl set_framegrabber_param (AcqHandle, ‘GainAuto’,‘Off’) get_framegrabber_param (AcqHandle, ‘GainAuto’, GainAuto)
auto exposure(RgbAutoExpo) set_framegrabber_param (AcqHandle, ‘ExposureAuto’,‘Continuous’ ) get_framegrabber_param (AcqHandle, ‘ExposureAuto’, ExposureAuto)
auto balance(RgbAWB) set_framegrabber_param (AcqHandle, ‘BalanceWhiteAuto’,‘Continuous’ ) get_framegrabber_param (AcqHandle, ‘BalanceWhiteAuto’, BalanceWhiteAuto)
struct aec roi set_framegrabber_param (AcqHandle, ‘AEC_ROI_X’,987 )
set_framegrabber_param (AcqHandle, ‘AEC_ROI_Y’,769 )
set_framegrabber_param (AcqHandle, ‘AEC_ROI_W’,132 )
set_framegrabber_param (AcqHandle, ‘AEC_ROI_H’,113 )
get_framegrabber_param (AcqHandle, ‘AEC_ROI_X’,AEC_ROI_X)
get_framegrabber_param (AcqHandle, ‘AEC_ROI_Y’,AEC_ROI_Y)
get_framegrabber_param (AcqHandle, ‘AEC_ROI_W’,AEC_ROI_W)
get_framegrabber_param (AcqHandle, ‘AEC_ROI_H’,AEC_ROI_H)
Target y(0-4000) set_framegrabber_param (AcqHandle, ’ AE_TARGET_Y’,2000) get_framegrabber_param (AcqHandle, ’ AE_TARGET_Y’, AE_TARGET_Y)
Flashlight-rgb-enable set_framegrabber_param(AcqHandle,‘FlashLightEnable’,1) get_framegrabber_param(AcqHandle,‘FlashLightRgbEnable’,FlashLightRgbEnable)
Flashlight-rgb-Intensity set_framegrabber_param(AcqHandle,‘FlashLightRgbIntensity’,100) get_framegrabber_param(AcqHandle,‘FlashLightRgbIntensity’,FlashLightRgbIntensity)

3.4 IR组件

属性 写操作代码 读操作代码
打开/关闭左IR set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_LeftIR’)
get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1)
get_framegrabber_param(AcqHandle,‘ComponentEnable’,ComponentEnable)
打开/关闭右IR set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_RightIR’)
get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1)
get_framegrabber_param(AcqHandle,‘ComponentEnable’,ComponentEnable)
Intrinsic N/A get_framegrabber_param(AcqHandle, ‘Intrinsic_fx’, Intrinsic_fx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cx’, Intrinsic_cx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_fy’, Intrinsic_fy)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cy’, Intrinsic_cy)
Extrinsic N/A get_framegrabber_param(AcqHandle, ‘Extrinsic_r11’, Extrinsic_r11)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r12’, Extrinsic_r12)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r13’, Extrinsic_r13)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t1’, Extrinsic_t1)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r21’, Extrinsic_r21)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r22’, Extrinsic_r22)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r23’, Extrinsic_r23)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t2’, Extrinsic_t2)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r31’, Extrinsic_r31)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r32’, Extrinsic_r32)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r33’, Extrinsic_r33)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t3’, Extrinsic_t3)
Distortion N/A get_framegrabber_param(AcqHandle, ‘Distortion_k1’, Distortion_k1)
get_framegrabber_param(AcqHandle, ‘Distortion_k2’, Distortion_k2)
get_framegrabber_param(AcqHandle, ‘Distortion_p1’, Distortion_p1)
get_framegrabber_param(AcqHandle, ‘Distortion_p2’, Distortion_p2)
get_framegrabber_param(AcqHandle, ‘Distortion_k3’, Distortion_k3)
get_framegrabber_param(AcqHandle, ‘Distortion_k4’, Distortion_k4)
get_framegrabber_param(AcqHandle, ‘Distortion_k5’, Distortion_k5)
get_framegrabber_param(AcqHandle, ‘Distortion_k6’, Distortion_k6)
get_framegrabber_param(AcqHandle, ‘Distortion_s1’, Distortion_s1)
get_framegrabber_param(AcqHandle, ‘Distortion_s2’, Distortion_s2)
get_framegrabber_param(AcqHandle, ‘Distortion_s3’, Distortion_s3)
get_framegrabber_param(AcqHandle, ‘Distortion_s4’, Distortion_s4)
PixelMode N/A get_framegrabber_param(AcqHandle,‘PixelFormat’,format)
Width/Height N/A get_framegrabber_param(AcqHandle,‘Width’,width)
get_framegrabber_param(AcqHandle,‘Height’,height)
BinningHorizontal/BinningVertical set_framegrabber_param (AcqHandle,‘BinningHorizontal’,2)
set_framegrabber_param (AcqHandle,‘BinningVertical’,2)
get_framegrabber_param(AcqHandle,‘BinningHorizontal’,H)
get_framegrabber_param(AcqHandle,’ BinningVertical ',V)
Undistort set_framegrabber_param(AcqHandle, ’ Undistort’, 0) get_framegrabber_param(AcqHandle, ‘Undistort’, Undistort)
exposure time set_framegrabber_param (AcqHandle, ’ ExposureTime’,10000 ) get_framegrabber_param (AcqHandle, ’ ExposureTime’, ExposureTime)
gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalAll’)
set_framegrabber_param(AcqHandle, ‘Gain’,255)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
* 返回值是:[min, max, step, current].
analog gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘AnalogAll’)
set_framegrabber_param(AcqHandle, ‘Gain’,3)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
* 返回值是:[min, max, step, current].
hdr set_framegrabber_param(AcqHandle, ‘HdrEnable’, 1) get_framegrabber_param(AcqHandle, ‘HdrEnable’, HdrEnable)
hdr parameter set_framegrabber_param(AcqHandle,‘HDR_PARAM_x’,x) get_framegrabber_param(AcqHandle,‘HDR_PARAM_x’, HDR_PARAM_x)

3.5 光源组件

属性 写操作代码 读操作代码
LaserAutoCtrl set_framegrabber_param (AcqHandle, ‘LaserAutoCtrl’,0) get_framegrabber_param (AcqHandle, ‘LaserAutoCtrl’, LaserAutoCtrl)
LaserPower set_framegrabber_param (AcqHandle, ‘LaserPower’,10 ) get_framegrabber_param (AcqHandle, ‘LaserPower’, LaserPower)
Flashlight-ir-enable set_framegrabber_param(AcqHandle,‘FlashLightIrEnable’,0) get_framegrabber_param(AcqHandle,‘FlashLightIrEnable’,FlashLightEnable)
Flashlight-ir-Intensity set_framegrabber_param(AcqHandle,‘FlashLightIrIntensity’,63) get_framegrabber_param(AcqHandle,‘FlashLightIrIntensity’,FlashLightIntensity)
Flashlight-rgb-enable set_framegrabber_param(AcqHandle,‘FlashLightEnable’,0) get_framegrabber_param(AcqHandle,‘FlashLightRgbEnable’,FlashLightEnable)
Flashlight-rgb-Intensity set_framegrabber_param(AcqHandle,‘FlashLightRgbIntensity’,100) get_framegrabber_param(AcqHandle,‘FlashLightRgbIntensity’,FlashLightIntensity)

4.1.1.X版本SDK属性设置

4.1 相机Device组件

属性名字 属性 写操作代码 读操作代码
工作模式 struct trigger mode set_framegrabber_param(AcqHandle, ‘TriggerMode’, ‘On’) get_framegrabber_param(AcqHandle, ‘TriggerMode’, workmode)
静态 IP 地址 persistent IP set_framegrabber_param(AcqHandle,‘GevPersistentIPAddress’,‘192.168.2.188’) get_framegrabber_param(AcqHandle,‘GevPersistentIPAddress’,IP)
静态 IP 子网掩码 persistent netmask set_framegrabber_param(AcqHandle,‘GevPersistentSubnetMask’,‘255.255.255.0’) get_framegrabber_param(AcqHandle,‘GevPersistentSubnetMask’,netmask)
静态 IP 网关 persistent gateway set_framegrabber_param(AcqHandle,‘GevPersistentDefaultGateway’,‘192.168.2.1’) get_framegrabber_param(AcqHandle,‘GevPersistentDefaultGateway’,gateway)
数据传输延迟时间 packet delay set_framegrabber_param(AcqHandle, ‘GevSCPD’, 20000) get_framegrabber_param(AcqHandle, ‘GevSCPD’, packetDelay)
数据传输包大小 packet size set_framegrabber_param(AcqHandle, ‘GevSCPSPacketSize’, 1000) get_framegrabber_param(AcqHandle, ‘GevSCPSPacketSize’, packetSize)
状态保持开关 keep alive onoff set_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatMode’,‘Off’) get_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatMode’,devicelink)
状态保持时间 keep alive timeout set_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatTimeout’,15000) get_framegrabber_param(AcqHandle, ‘DeviceLinkHeartbeatTimeout’,timeout)
触发延迟时间 trigger delay (us) set_framegrabber_param (AcqHandle, ‘TriggerDelay’,130000) get_framegrabber_param (AcqHandle, ‘TriggerDelay’, TriggerDelay)
触发后输出的帧数 Frame per trigger set_framegrabber_param(AcqHandle, ‘FramePerTrigger’, 10) get_framegrabber_param(AcqHandle, ‘FramePerTrigger’, TriggerFps)
触发 IO 输出控制 trigger Out IO set_framegrabber_param(AcqHandle, ‘TriggerOutIO’, 0) get_framegrabber_param(AcqHandle, ‘TriggerOutIO’, TriggerOutIO)
采集时间 CaptureTimeUs N/A get_framegrabber_param (AcqHandle, ‘CaptureTimeUs’, CaptureTimeUs)
对时方式 sync type set_framegrabber_param (AcqHandle, ‘SyncType’, ‘SyncType_host’) get_framegrabber_param (AcqHandle, ‘SyncType’,SyncType )
ntp服务器ip NtpServerIp set_framegrabber_param(AcqHandle,‘NtpServerIp’,3232236033) get_framegrabber_param(AcqHandle,‘NtpServerIp’, ntpServer)
对齐同步 SyncReady N/A get_framegrabber_param (AcqHandle, ‘SyncReady’, SyncReady)
数据流同步 StreamAsync set_framegrabber_param (AcqHandle, ‘StreamAsync’,‘StreamAsync_depth’ ) get_framegrabber_param (AcqHandle, ‘StreamAsync’, StreamAsync)
图像同步 cmos sync set_framegrabber_param (AcqHandle, ‘CmosSync’,1 ) get_framegrabber_param (AcqHandle, ‘CmosSync’, CmosSync)
出图模式 PresetMode set_framegrabber_param(AcqHandle, ‘PresetMode_Val’, 1)
set_framegrabber_param(AcqHandle, ‘PresetMode’, ‘Fast’)
两个方法选其中一个就可以。
get_framegrabber_param(AcqHandle, ‘PresetMode_Val’, value
get_framegrabber_param(AcqHandle, ‘PresetMode’, PresetMode)
相机温度 Temperature Info N/A set_framegrabber_param(AcqHandle,‘DeviceTemperatureSelector_Val’,0)
get_framegrabber_param(AcqHandle,‘DeviceTemperatureSelector_Val’,value)
get_framegrabber_param(AcqHandle,‘DeviceTemperatureSelector’,value0)
get_framegrabber_param(AcqHandle,‘DeviceTemperature’,temp0)
0,1,2,3,4 分别可以读取到leftIR、RightIR、Color、CPU和主板的温度

   注意
   1.只有在软/硬触发模式下可以获取到采集时间。
   2.IP\Netmask\Gateway设置支持整型、十六进制、点分方式
   3.NtpServerIP设置仅支持整型及十六进制,不支持点分方式。
   4.默认相机支持网络重传的,自动使用重传功能,未开接口对外。

4.2 相机Depth组件

属性名字 属性 写操作代码 读操作代码
打开/关闭Depth数据流 set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_Depth’)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1)
get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
get_framegrabber_param(AcqHandle,‘ComponentEnable’,depth)
相机内参 Intrinsic N/A get_framegrabber_param(AcqHandle, ‘Intrinsic_fx’, Intrinsic_fx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cx’, Intrinsic_cx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_fy’, Intrinsic_fy)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cy’, Intrinsic_cy)
PixelMode N/A get_framegrabber_param(AcqHandle,‘PixelFormat’,format)
Width/Height N/A get_framegrabber_param(AcqHandle,‘Width’,width)
get_framegrabber_param(AcqHandle,‘Height’,height)
BinningHorizontal/BinningVertical set_framegrabber_param (AcqHandle,‘BinningHorizontal’,2)
set_framegrabber_param (AcqHandle,‘BinningVertical’,2)
get_framegrabber_param(AcqHandle,‘BinningHorizontal’,H)
get_framegrabber_param(AcqHandle,’ BinningVertical ',V)
像素值的单位 scale unit set_framegrabber_param (AcqHandle, ‘ScaleUnit’, 1.0) get_framegrabber_param (AcqHandle, ‘ScaleUnit’, ScaleUnit)
用于深度计算的IR图数量 image number set_framegrabber_param (AcqHandle, ‘SgbmImageNum’, 1) get_framegrabber_param (AcqHandle, ‘SgbmImageNum’, SgbmImageNum)
视差搜索范围 disparity num set_framegrabber_param (AcqHandle, ‘SgbmDisparityNum’, 160) get_framegrabber_param (AcqHandle, ‘SgbmDisparityNum’, SgbmDisparityNum)
开始搜索的视差值 disparity offset set_framegrabber_param (AcqHandle, ‘SgbmDisparityOffset’, 16) get_framegrabber_param (AcqHandle, ‘SgbmDisparityOffset’, SgbmDisparityOffset)
视差匹配窗口的高 match window height set_framegrabber_param (AcqHandle, ‘SgbmMatchWinHeight’, 15) get_framegrabber_param (AcqHandle, ‘SgbmMatchWinHeight’, SgbmMatchWinHeight)
视差匹配窗口的宽 match window width set_framegrabber_param (AcqHandle, ‘SgbmMatchWinWidth’,15 ) get_framegrabber_param (AcqHandle, ‘SgbmMatchWinWidth’, SgbmMatchWinWidth)
相邻像素(+/-1)约束惩罚参数P1 semi global param p1 set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1’, 400) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1’, SgbmSemiParamP1)
相邻像素(+/-1)约束惩罚参数P1_scale semi global param p1 scale set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1Scale’,10 ) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1Scale’, SgbmSemiParamP1Scale)
相邻像素(+/-1)约束惩罚参数P2 semi global param p2 set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP2’, 400) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP2’, SgbmSemiParamP2)
搜索滤波开关 enable half window size set_framegrabber_param (AcqHandle, ‘SgbmHfilterHalfWin’, 1) get_framegrabber_param (AcqHandle, ‘SgbmHfilterHalfWin’, SgbmHfilterHalfWin )
最优匹配点与次优匹配点的百分比 uniqueness factor param set_framegrabber_param (AcqHandle, ‘SgbmUniqueFactor’, 60) get_framegrabber_param (AcqHandle, ‘SgbmUniqueFactor’, SgbmUniqueFactor)
最优匹配点与次优匹配点差值的绝对值 uniqueness min absolute diff set_framegrabber_param (AcqHandle, ‘SgbmUniqueAbsdiff’, 100) get_framegrabber_param (AcqHandle, ‘SgbmUniqueAbsdiff’, SgbmUniqueAbsdiff)
左右一致性检查开关 enable LRC set_framegrabber_param (AcqHandle, ‘SgbmLrc’, 1) get_framegrabber_param (AcqHandle, ‘SgbmLrc’, SgbmLrc )
左右一致性检查阈值 max LRC diff set_framegrabber_param (AcqHandle, ‘SgbmLrcDiff’, 2500) get_framegrabber_param (AcqHandle, ‘SgbmLrcDiff’, SgbmLrcDiff)
中值滤波开关 enable median filter set_framegrabber_param (AcqHandle, ‘SgbmMedfilter’,1 ) get_framegrabber_param (AcqHandle, ‘SgbmMedfilter’, SgbmMedfilter)
过滤噪点值 median filter thresh set_framegrabber_param (AcqHandle, ‘SgbmMedfilterThresh’, 60) get_framegrabber_param (AcqHandle, ‘SgbmMedfilterThresh’, SgbmMedfilterThresh)
深度质量 depth quality set_framegrabber_param(AcqHandle, ‘DepthQuality’, ‘DepthQuality_High’) get_framegrabber_param(AcqHandle, ‘DepthQuality’, DepthQuality)
抗阳光指数 tof anti-sunlight index set_framegrabber_param(AcqHandle, ‘TofAntiSunlightIndex’, 1) get_framegrabber_param(AcqHandle, ‘TofAntiSunlightIndex’, TofAntiSunlightIndex)
最大斑点噪声尺寸 MaxSpeckleSize set_framegrabber_param(AcqHandle,‘MaxSpeckleSize’,200) get_framegrabber_param(AcqHandle,‘MaxSpeckleSize’,MaxSpeckleSize)
最大差异 MaxSpeckleDiff set_framegrabber_param(AcqHandle,‘MaxSpeckleDiff’,500) get_framegrabber_param(AcqHandle,‘MaxSpeckleDiff’,MaxSpeckleDiff)
激光调制光强 tof modulation threshold set_framegrabber_param(AcqHandle, ‘TofModulationThreshold’, 640) get_framegrabber_param(AcqHandle, ‘TofModulationThreshold’, TofModulationThreshold)
抖动过滤 tof jitter threshold set_framegrabber_param(AcqHandle, ‘TofJitterThreshold’, 10) get_framegrabber_param(AcqHandle, ‘TofJitterThreshold’, TofJitterThreshold)
飞点滤波 filter threshold set_framegrabber_param(AcqHandle, ‘FilterThreshold’, 0) get_framegrabber_param(AcqHandle, ‘FilterThreshold’, FilterThreshold)
调制频道 tof channel set_framegrabber_param(AcqHandle, ‘TofChannel’, 0) get_framegrabber_param(AcqHandle, ‘TofChannel’, TofChannel)
高动态范围比 HDR ratio set_framegrabber_param(AcqHandle, ‘TofHdrRatio’, 8) get_framegrabber_param(AcqHandle, ‘TofHdrRatio’, TofHdrRatio)

   注意
   1. Depth格式支持读取不支持设置,当前仅支持Coord3D_ABC32f(点云),支持读取内参。
   2. Depth图像大小通过BinningHorizontalBinningVertical参数进行设置,BnningVertical只设置这个即可生效。
   3. Depth的分辨率只能设置最大分辨率和最大分辨率的1/2、1/3、1/4。

4.3 相机Color组件

属性名字 属性 写操作代码 读操作代码
打开/关闭Color数据流 set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_Color’)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1)
get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
get_framegrabber_param(AcqHandle,‘ComponentEnable’,ComponentEnable)
相机内参 Intrinsic N/A get_framegrabber_param(AcqHandle, ‘Intrinsic_fx’, Intrinsic_fx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cx’, Intrinsic_cx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_fy’, Intrinsic_fy)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cy’, Intrinsic_cy)
相机外参 Extrinsic N/A get_framegrabber_param(AcqHandle, ‘Extrinsic_r11’, Extrinsic_r11)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r12’, Extrinsic_r12)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r13’, Extrinsic_r13)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t1’, Extrinsic_t1)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r21’, Extrinsic_r21)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r22’, Extrinsic_r22)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r23’, Extrinsic_r23)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t2’, Extrinsic_t2)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r31’, Extrinsic_r31)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r32’, Extrinsic_r32)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r33’, Extrinsic_r33)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t3’, Extrinsic_t3)
畸变系数 Distortion N/A get_framegrabber_param(AcqHandle, ‘Distortion_k1’, Distortion_k1)
get_framegrabber_param(AcqHandle, ‘Distortion_k2’, Distortion_k2)
get_framegrabber_param(AcqHandle, ‘Distortion_p1’, Distortion_p1)
get_framegrabber_param(AcqHandle, ‘Distortion_p2’, Distortion_p2)
get_framegrabber_param(AcqHandle, ‘Distortion_k3’, Distortion_k3)
get_framegrabber_param(AcqHandle, ‘Distortion_k4’, Distortion_k4)
get_framegrabber_param(AcqHandle, ‘Distortion_k5’, Distortion_k5)
get_framegrabber_param(AcqHandle, ‘Distortion_k6’, Distortion_k6)
get_framegrabber_param(AcqHandle, ‘Distortion_s1’, Distortion_s1)
get_framegrabber_param(AcqHandle, ‘Distortion_s2’, Distortion_s2)
get_framegrabber_param(AcqHandle, ‘Distortion_s3’, Distortion_s3)
get_framegrabber_param(AcqHandle, ‘Distortion_s4’, Distortion_s4)
PixelMode N/A get_framegrabber_param(AcqHandle,‘PixelFormat’,format)
Width/Height N/A get_framegrabber_param(AcqHandle,‘Width’,width)
get_framegrabber_param(AcqHandle,‘Height’,height)
下采样参数 BinningHorizontal/BinningVertical set_framegrabber_param (AcqHandle,‘BinningHorizontal’,2)
set_framegrabber_param (AcqHandle,‘BinningVertical’,2)
get_framegrabber_param(AcqHandle,‘BinningHorizontal’,H)
get_framegrabber_param(AcqHandle,’ BinningVertical ',V)
曝光时间 exposure time set_framegrabber_param (AcqHandle, ‘ExposureTime’,1000 ) get_framegrabber_param (AcqHandle, ‘ExposureTime’, ExposureTime)
R通道增益 r gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalRed’)
set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
G通道增益 g gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalGreen’)
set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
B通道增益 b gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalBlue’)
set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
模拟增益 analog gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘AnalogAll’)
set_framegrabber_param(AcqHandle, ‘Gain’,20)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
自动增益 auto gain ctrl set_framegrabber_param (AcqHandle, ‘GainAuto’,‘Off’) get_framegrabber_param (AcqHandle, ‘GainAuto’, GainAuto)
自动曝光 auto exposure(RgbAutoExpo) set_framegrabber_param (AcqHandle, ‘ExposureAuto’,‘Continuous’ ) get_framegrabber_param (AcqHandle, ‘ExposureAuto’, ExposureAuto)
自动白平衡 auto balance(RgbAWB) set_framegrabber_param (AcqHandle, ‘BalanceWhiteAuto’,‘Continuous’ ) get_framegrabber_param (AcqHandle, ‘BalanceWhiteAuto’, BalanceWhiteAuto)
区域自动曝光设置 struct aec roi set_framegrabber_param (AcqHandle, ‘AEC_ROI_X’,987 )
set_framegrabber_param (AcqHandle, ‘AEC_ROI_Y’,769 )
set_framegrabber_param (AcqHandle, ‘AEC_ROI_W’,132 )
set_framegrabber_param (AcqHandle, ‘AEC_ROI_H’,113 )
get_framegrabber_param (AcqHandle, ‘AEC_ROI_X’,AEC_ROI_X)
get_framegrabber_param (AcqHandle, ‘AEC_ROI_Y’,AEC_ROI_Y)
get_framegrabber_param (AcqHandle, ‘AEC_ROI_W’,AEC_ROI_W)
get_framegrabber_param (AcqHandle, ‘AEC_ROI_H’,AEC_ROI_H)
曝光目标亮度 Target y(0-4000) set_framegrabber_param (AcqHandle, ’ AE_TARGET_Y’,3500) get_framegrabber_param (AcqHandle, ’ AE_TARGET_Y’, AE_TARGET_Y)
RGB泛光使能 Flashlight-rgb-enable set_framegrabber_param(AcqHandle,‘FlashLightEnable’,1) get_framegrabber_param(AcqHandle,‘FlashLightRgbEnable’,FlashLightRgbEnable)
RGB泛光数值 Flashlight-rgb-Intensity set_framegrabber_param(AcqHandle,‘FlashLightRgbIntensity’,100) get_framegrabber_param(AcqHandle,‘FlashLightRgbIntensity’,FlashLightRgbIntensity)

   注意
   1.Gain类型属性包含了数字增益(Gain、R-gain、G-gain、B-gain)和模拟增益(Analog-gain)。
   2.设置方法:选择Gain类型:GainSelector,读写Gain值(浮点数):Gain。
   3.Color的图像格式不可设置,仅支持读取,且当前仅有RGB8格式,支持读取内参、外参、畸变参数。
   4.Color图像大小通过BinningHorizontal和BinningVertical参数进行设置,BinningVertical只设置这个即可生效。
   5.Color的分辨率只能最大分辨率和最大分辨率的1/2、1/3、1/4。

4.4 相机IR和Laser组件

属性名字 属性 写操作代码 读操作代码
打开/关闭左IR set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_LeftIR’) get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1) get_framegrabber_param(AcqHandle,‘ComponentEnable’,ComponentEnable)
打开/关闭右IR set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_RightIR’) get_framegrabber_param(AcqHandle, ‘ComponentEnable’, ComponentEnable)
set_framegrabber_param(AcqHandle, ‘ComponentEnable’, 1) get_framegrabber_param(AcqHandle,‘ComponentEnable’,ComponentEnable)
相机内参 Intrinsic N/A get_framegrabber_param(AcqHandle, ‘Intrinsic_fx’, Intrinsic_fx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cx’, Intrinsic_cx)
get_framegrabber_param(AcqHandle, ‘Intrinsic_fy’, Intrinsic_fy)
get_framegrabber_param(AcqHandle, ‘Intrinsic_cy’, Intrinsic_cy)
相机外参 Extrinsic N/A get_framegrabber_param(AcqHandle, ‘Extrinsic_r11’, Extrinsic_r11)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r12’, Extrinsic_r12)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r13’, Extrinsic_r13)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t1’, Extrinsic_t1)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r21’, Extrinsic_r21)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r22’, Extrinsic_r22)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r23’, Extrinsic_r23)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t2’, Extrinsic_t2)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r31’, Extrinsic_r31)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r32’, Extrinsic_r32)
get_framegrabber_param(AcqHandle, ‘Extrinsic_r33’, Extrinsic_r33)
get_framegrabber_param(AcqHandle, ‘Extrinsic_t3’, Extrinsic_t3)
畸变系数 Distortion N/A get_framegrabber_param(AcqHandle, ‘Distortion_k1’, Distortion_k1)
get_framegrabber_param(AcqHandle, ‘Distortion_k2’, Distortion_k2)
get_framegrabber_param(AcqHandle, ‘Distortion_p1’, Distortion_p1)
get_framegrabber_param(AcqHandle, ‘Distortion_p2’, Distortion_p2)
get_framegrabber_param(AcqHandle, ‘Distortion_k3’, Distortion_k3)
get_framegrabber_param(AcqHandle, ‘Distortion_k4’, Distortion_k4)
get_framegrabber_param(AcqHandle, ‘Distortion_k5’, Distortion_k5)
get_framegrabber_param(AcqHandle, ‘Distortion_k6’, Distortion_k6)
get_framegrabber_param(AcqHandle, ‘Distortion_s1’, Distortion_s1)
get_framegrabber_param(AcqHandle, ‘Distortion_s2’, Distortion_s2)
get_framegrabber_param(AcqHandle, ‘Distortion_s3’, Distortion_s3)
get_framegrabber_param(AcqHandle, ‘Distortion_s4’, Distortion_s4)
PixelMode N/A get_framegrabber_param(AcqHandle,‘PixelFormat’,format)
Width/Height N/A get_framegrabber_param(AcqHandle,‘Width’,width)
get_framegrabber_param(AcqHandle,‘Height’,height)
下采样 BinningHorizontal/BinningVertical set_framegrabber_param (AcqHandle,‘BinningHorizontal’,2)
set_framegrabber_param (AcqHandle,‘BinningVertical’,2)
get_framegrabber_param(AcqHandle,‘BinningHorizontal’,H)
get_framegrabber_param(AcqHandle,’ BinningVertical ',V)
畸变矫正 Undistort set_framegrabber_param(AcqHandle, ’ Undistort’, 0) get_framegrabber_param(AcqHandle, ‘Undistort’, Undistort)
曝光时间 exposure time set_framegrabber_param (AcqHandle, ’ ExposureTime’,10000 ) get_framegrabber_param (AcqHandle, ’ ExposureTime’, ExposureTime)
数字增益 gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘DigitalAll’)
set_framegrabber_param(AcqHandle, ‘Gain’,255)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
* 返回值是:[min, max, step, current].
模拟增益 analog gain get_framegrabber_param(AcqHandle,‘GainSelector_values’,GainSelector)
set_framegrabber_param(AcqHandle,‘GainSelector’,‘AnalogAll’)
set_framegrabber_param(AcqHandle, ‘Gain’,2)
get_framegrabber_param(AcqHandle, ‘Gain_range’,gain)
* 返回值是:[min, max, step, current].
高动态范围开关 hdr set_framegrabber_param(AcqHandle, ‘HdrEnable’, 1) get_framegrabber_param(AcqHandle, ‘HdrEnable’, HdrEnable)
高动态参数 hdr parameter set_framegrabber_param(AcqHandle,‘HDR_PARAM_x’,x) get_framegrabber_param(AcqHandle,‘HDR_PARAM_x’, HDR_PARAM_x)
激光是否打开 LaserAutoCtrl set_framegrabber_param (AcqHandle, ‘LaserAutoCtrl’,0) get_framegrabber_param (AcqHandle, ‘LaserAutoCtrl’, LaserAutoCtrl)
激光强度 LaserPower set_framegrabber_param (AcqHandle, ‘LaserPower’,10 ) get_framegrabber_param (AcqHandle, ‘LaserPower’, LaserPower)
泛光使能 Flashlight-enable set_framegrabber_param(AcqHandle,‘FlashLightEnable’,0) get_framegrabber_param(AcqHandle,‘FlashLightEnable’,FlashLightEnable)
泛光灯亮度 FlashLightIntensity set_framegrabber_param(AcqHandle,‘FlashLightIntensity’,63) get_framegrabber_param(AcqHandle,‘FlashLightIntensity’,FlashLightIntensity)

   注意
   1.IR图像大小通过BinningHorizontal和BinningVertical参数进行设置。IR图像格式支持:Mono8、Mono16。
   2.曝光时间支持浮点类型设置,单位us,支持读取内参、外参、畸变参数。
   3.激光器放在这里进行验证原因是当auto-ctrl=0时,只出左右IR,激光亮度受laser-power控制。当auto-ctrl=1时,只出左右IR,激光器不亮。

4.5 Storage组件

   Camport3_Halcon_gentl SDK支持打开相机后自动加载相机storage配置参数,参数可以通过Percipio Viewer软件配置到相机的custom存储区。测试方法如下:
   1.确认相机支持Storage组件。
   2.使用Percipio Viewer软件打开相机,修改各组件下的参数,保存参数到相机的custom存储区,手动断电重启相机。
   3.使用Camport3_Halcon_gentl SDK示例程序使能相机采集图像,观察图像变化。

5.V1.0.X旧版本SDK属性设置

5.1 旧版本Device组件

属性名字 属性 写操作代码 读操作代码
工作模式 struct trigger mode set_framegrabber_param (AcqHandle, ‘TriggerModeInt’, ‘TriggerMode_slave’ ) get_framegrabber_param (AcqHandle, ‘TriggerModeInt’, TriggerModeInt)
静态 IP 地址 persistent IP set_framegrabber_param (AcqHandle, ‘PersistentIP’, ‘192.168.2.200’) get_framegrabber_param (AcqHandle, ‘PersistentIP’, PersistentIP)
静态 IP 子网掩码 persistent netmask set_framegrabber_param (AcqHandle, ‘PersistentNetmask’,‘255.255.255.0’) get_framegrabber_param (AcqHandle, ‘PersistentNetmask’, PersistentNetmask)
静态 IP 网关 persistent gateway set_framegrabber_param (AcqHandle, ‘PersistentGateway’, ‘192.168.2.1’) get_framegrabber_param (AcqHandle, ‘PersistentGateway’, PersistentGateway)
数据传输延迟时间 packet delay set_framegrabber_param (AcqHandle, ‘PacketDelay’,1300 ) get_framegrabber_param (AcqHandle, ‘PacketDelay’,PacketDelay)
数据传输包大小 packet size set_framegrabber_param (AcqHandle, ‘PacketSize’, 150) get_framegrabber_param (AcqHandle, ‘PacketSize’, PacketSize)
状态保持开关 keep alive onoff set_framegrabber_param (AcqHandle, ‘KeepAliveOnoff’, 0) get_framegrabber_param (AcqHandle, ‘KeepAliveOnoff’, KeepAliveOnoff)
状态保持时间 keep alive timeout set_framegrabber_param (AcqHandle, ‘KeepAliveTimeout’,3000 ) get_framegrabber_param (AcqHandle, ‘KeepAliveTimeout’, KeepAliveTimeout)
触发延迟时间 trigger delay us set_framegrabber_param (AcqHandle, ‘TriggerDelayUs’,130000 ) get_framegrabber_param (AcqHandle, ‘TriggerDelayUs’, TriggerDelayUs)
触发持续时间 trigger duration us set_framegrabber_param (AcqHandle, ‘TriggerDurationUs’, 130000) get_framegrabber_param (AcqHandle, ‘TriggerDurationUs’, TriggerDurationUs)
触发出图帧率 trigger fps set_framegrabber_param(AcqHandle, ‘TriggerFps’, 10) get_framegrabber_param(AcqHandle, ‘TriggerFps’, TriggerFps)
触发 IO 输出控制 trigger Out IO set_framegrabber_param(AcqHandle, ‘TriggerOutIO’, 0) get_framegrabber_param(AcqHandle, ‘TriggerOutIO’, TriggerOutIO)
采集时间 CaptureTimeUs N/A get_framegrabber_param (AcqHandle, ‘CaptureTimeUs’, CaptureTimeUs)
对时方式 sync type set_framegrabber_param (AcqHandle, ‘SyncType’, ‘SyncType_host’) get_framegrabber_param (AcqHandle, ‘SyncType’,SyncType )
ntp服务器ip NtpServerIp set_framegrabber_param (AcqHandle, ’ NtpServerIp’, ‘203.107.6.88’) get_framegrabber_param (AcqHandle, ‘NtpServerIp’, NtpServerIp)
对齐同步 SyncReady N/A get_framegrabber_param (AcqHandle, ‘SyncReady’, SyncReady)
数据流同步 StreamAsync set_framegrabber_param (AcqHandle, ‘StreamAsync’,‘StreamAsync_depth’ ) get_framegrabber_param (AcqHandle, ‘StreamAsync’, StreamAsync)
图像同步 cmos sync set_framegrabber_param (AcqHandle, ‘CmosSync’,1 ) get_framegrabber_param (AcqHandle, ‘CmosSync’, CmosSync)
泛光使能 flash light enable set_framegrabber_param(AcqHandle,‘FlashLightEnable’,0) get_framegrabber_param(AcqHandle,‘FlashLightEnable’,FlashLightEnable)
泛光灯亮度 flash light intensity set_framegrabber_param(AcqHandle,‘FlashLightIntensity’,63) get_framegrabber_param(AcqHandle,‘FlashLightIntensity’,FlashLightIntensity)

5.2 旧版本Depth组件

分类 属性名字 属性 写操作代码 读操作代码
打开/关闭Depth数据流 set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_Depth’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘On’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘Off’)
深度图的图像格式+分辨率 image mode set_framegrabber_param (AcqHandle, ‘ImageMode’, ‘DEPTH16_640x480’) get_framegrabber_param (AcqHandle, ‘ImageMode’, ImageMode)
Depth组件-SGBM参数 像素值的单位 scale unit set_framegrabber_param (AcqHandle, ‘ScaleUnit’, 1.0) get_framegrabber_param (AcqHandle, ‘ScaleUnit’, ScaleUnit)
用于深度计算的IR图像数量 image number set_framegrabber_param (AcqHandle, ‘SgbmImageNum’, 1) get_framegrabber_param (AcqHandle, ‘SgbmImageNum’, SgbmImageNum)
视差搜索范围 disparity num set_framegrabber_param (AcqHandle, ‘SgbmDisparityNum’, 320) get_framegrabber_param (AcqHandle, ‘SgbmDisparityNum’, SgbmDisparityNum)
开始搜索的视差值 disparity offset set_framegrabber_param (AcqHandle, ‘SgbmDisparityOffset’, 16) get_framegrabber_param (AcqHandle, ‘SgbmDisparityOffset’, SgbmDisparityOffset)
视差匹配窗口的高 match window height set_framegrabber_param (AcqHandle, ‘SgbmMatchWinHeight’, 15) get_framegrabber_param (AcqHandle, ‘SgbmMatchWinHeight’, SgbmMatchWinHeight)
视差匹配窗口的宽 match window width set_framegrabber_param (AcqHandle, ‘SgbmMatchWinWidth’,15 ) get_framegrabber_param (AcqHandle, ‘SgbmMatchWinWidth’, SgbmMatchWinWidth)
相邻像素(+/-1)约束惩罚参数P1 semi global param p1 set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1’, 400) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1’, SgbmSemiParamP1)
相邻像素(+/-1)约束惩罚参数P1_scale semi global param p1 scale set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1Scale’,10 ) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP1Scale’, SgbmSemiParamP1Scale)
相邻像素(+/-1)约束惩罚参数P2 semi global param p2 set_framegrabber_param (AcqHandle, ‘SgbmSemiParamP2’, 100) get_framegrabber_param (AcqHandle, ‘SgbmSemiParamP2’, SgbmSemiParamP2)
搜索滤波开关 enable half window size set_framegrabber_param (AcqHandle, ‘SgbmHfilterHalfWin’, 1) get_framegrabber_param (AcqHandle, ‘SgbmHfilterHalfWin’, SgbmHfilterHalfWin )
最优匹配点与次优匹配点的百分比 uniqueness factor param set_framegrabber_param (AcqHandle, ‘SgbmUniqueFactor’, 130) get_framegrabber_param (AcqHandle, ‘SgbmUniqueFactor’, SgbmUniqueFactor)
最优匹配点与次优匹配点差值的绝对值 uniqueness min absolute diff set_framegrabber_param (AcqHandle, ‘SgbmUniqueAbsdiff’, 1000) get_framegrabber_param (AcqHandle, ‘SgbmUniqueAbsdiff’, SgbmUniqueAbsdiff)
左右一致性检查开关 enable LRC set_framegrabber_param (AcqHandle, ‘SgbmLrc’, 1) get_framegrabber_param (AcqHandle, ‘SgbmLrc’, SgbmLrc )
左右一致性检查阈值 max LRC diff set_framegrabber_param (AcqHandle, ‘SgbmLrcDiff’, 2500) get_framegrabber_param (AcqHandle, ‘SgbmLrcDiff’, SgbmLrcDiff)
中值滤波开关 enable median filter set_framegrabber_param (AcqHandle, ‘SgbmMedfilter’,1 ) get_framegrabber_param (AcqHandle, ‘SgbmMedfilter’, SgbmMedfilter)
过滤噪点值 median filter thresh set_framegrabber_param (AcqHandle, ‘SgbmMedfilterThresh’, 250) get_framegrabber_param (AcqHandle, ‘SgbmMedfilterThresh’, SgbmMedfilterThresh)
TOF参数 深度质量 depth quality set_framegrabber_param(AcqHandle, ‘DepthQuality’, ‘DepthQuality_High’) get_framegrabber_param(AcqHandle, ‘DepthQuality’, DepthQuality)
抗阳光指数 tof anti-sunlight index set_framegrabber_param(AcqHandle, ‘TofAntiSunlightIndex’, 1) get_framegrabber_param(AcqHandle, ‘TofAntiSunlightIndex’, TofAntiSunlightIndex)
最大斑点噪声尺寸 MaxSpeckleSize set_framegrabber_param(AcqHandle,‘MaxSpeckleSize’,100) get_framegrabber_param(AcqHandle,‘MaxSpeckleSize’,MaxSpeckleSize)
最大差异 MaxSpeckleDiff set_framegrabber_param(AcqHandle,‘MaxSpeckleDiff’,300) get_framegrabber_param(AcqHandle,‘MaxSpeckleDiff’,MaxSpeckleDiff)
激光调制光强 tof modulation threshold set_framegrabber_param(AcqHandle, ‘TofModulationThreshold’, 640) get_framegrabber_param(AcqHandle, ‘TofModulationThreshold’, TofModulationThreshold)
抖动过滤 tof jitter threshold set_framegrabber_param(AcqHandle, ‘TofJitterThreshold’, 10) get_framegrabber_param(AcqHandle, ‘TofJitterThreshold’, TofJitterThreshold)
飞点滤波 filter threshold set_framegrabber_param(AcqHandle, ‘FilterThreshold’, 0) get_framegrabber_param(AcqHandle, ‘FilterThreshold’, FilterThreshold)
调制频道 tof channel set_framegrabber_param(AcqHandle, ‘TofChannel’, 0) get_framegrabber_param(AcqHandle, ‘TofChannel’, TofChannel)
高动态范围比 HDR ratio set_framegrabber_param(AcqHandle, ‘TofHdrRatio’, 8) get_framegrabber_param(AcqHandle, ‘TofHdrRatio’, TofHdrRatio)

5.3旧版本Color组件

属性名字 属性 写操作代码 读操作代码
打开/关闭Color数据流 set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_Color’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘On’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘Off’)
图像格式 image mode set_framegrabber_param (AcqHandle, ‘ImageMode’,‘YUYV_640x480’ ) get_framegrabber_param (AcqHandle, ‘ImageMode’, ImageMode)
曝光时间 exposure time set_framegrabber_param (AcqHandle, ‘ExposureTimeInt’,10 ) get_framegrabber_param (AcqHandle, ‘ExposureTimeInt’, ExposureTimeInt)
R通道增益 r gain set_framegrabber_param (AcqHandle, ‘R_GAIN’,10 ) get_framegrabber_param (AcqHandle, ‘R_GAIN’, R_GAIN)
G通道增益 g gain set_framegrabber_param (AcqHandle, ‘G_GAIN’,10 ) get_framegrabber_param (AcqHandle, ‘G_GAIN’, G_GAIN)
B通道增益 b gain set_framegrabber_param (AcqHandle, ‘B_GAIN’,10 ) get_framegrabber_param (AcqHandle, ‘B_GAIN’, B_GAIN)
模拟增益 analog gain set_framegrabber_param (AcqHandle, ‘AnalogGain’,10 ) get_framegrabber_param (AcqHandle, ‘AnalogGain’, AnalogGain)
自动增益 auto gain ctrl set_framegrabber_param (AcqHandle, ‘GainAuto’,‘Off’) get_framegrabber_param (AcqHandle, ‘GainAuto’, GainAuto)
自动曝光时间 auto exposure(RgbAutoExpo) set_framegrabber_param (AcqHandle, ‘ExposureAuto’,‘Continuous’ ) get_framegrabber_param (AcqHandle, ‘ExposureAuto’, ExposureAuto)
自动白平衡 auto balance(RgbAWB) set_framegrabber_param (AcqHandle, ‘BalanceWhiteAuto’,‘Continuous’ ) get_framegrabber_param (AcqHandle, ‘BalanceWhiteAuto’, BalanceWhiteAuto)
区域自动曝光 struct aec roi set_framegrabber_param (AcqHandle, ‘AEC_ROI_X’,987 ) get_framegrabber_param (AcqHandle, ‘AEC_ROI_X’,AEC_ROI_X)
set_framegrabber_param (AcqHandle, ‘AEC_ROI_Y’,769 ) get_framegrabber_param (AcqHandle, ‘AEC_ROI_Y’,AEC_ROI_Y)
set_framegrabber_param (AcqHandle, ‘AEC_ROI_W’,132 ) get_framegrabber_param (AcqHandle, ‘AEC_ROI_W’,AEC_ROI_W)
set_framegrabber_param (AcqHandle, ‘AEC_ROI_H’,113 ) get_framegrabber_param (AcqHandle, ‘AEC_ROI_H’,AEC_ROI_H)
曝光目标Y Target V(0-4000) set_framegrabber_param (AcqHandle, ’ AE_TARGET_V’,3500) get_framegrabber_param (AcqHandle, ’ AE_TARGET_V’, AE_TARGET_V)

5.4 旧版本IR和Laser组件

属性名字 属性 写操作代码 读操作代码
打开/关闭左IR set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_LeftIR’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘On’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘Off’)
打开/关闭右IR set_framegrabber_param(AcqHandle, ‘SourceSelector’, ‘Source_RightIR’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘On’)
set_framegrabber_param(AcqHandle, ‘SourceMode’, ‘Off’)
图像格式+分辨率 image mode set_framegrabber_param (AcqHandle, ‘ImageMode’,‘MONO8_1280x960’ ) get_framegrabber_param (AcqHandle, ‘ImageMode’, ImageMode)
畸变矫正 Undistort set_framegrabber_param(AcqHandle, ’ Undistort’, 0) get_framegrabber_param(AcqHandle, ‘Undistort’, Undistort)
曝光时间 exposure time set_framegrabber_param (AcqHandle, ‘ExposureTimeInt’,10 ) get_framegrabber_param (AcqHandle, ‘ExposureTimeInt’, ExposureTimeInt)
数字增益 gain set_framegrabber_param (AcqHandle, ‘GainInt’,32 ) set_framegrabber_param (AcqHandle, ‘GainInt’, GainInt)
模拟增益 analog gain set_framegrabber_param (AcqHandle, ‘AnalogGain’,10 ) get_framegrabber_param (AcqHandle, ‘AnalogGain’, AnalogGain)
高动态范围开关 hdr set_framegrabber_param(AcqHandle, ‘HdrEnable’, 1) get_framegrabber_param(AcqHandle, ‘HdrEnable’, HdrEnable)
高动态参数 hdr parameter set_framegrabber_param(AcqHandle,‘HDR_PARAM_x’,x) get_framegrabber_param(AcqHandle,‘HDR_PARAM_x’, HDR_PARAM_x)
激光是否打开 LaserAutoCtrl set_framegrabber_param (AcqHandle, ‘LaserAutoCtrl’,0) get_framegrabber_param (AcqHandle, ‘LaserAutoCtrl’, LaserAutoCtrl)
激光强度 LaserPower set_framegrabber_param (AcqHandle, ‘LaserPower’,10 ) get_framegrabber_param (AcqHandle, ‘LaserPower’, LaserPower)

6.常见问题

   Halcon V1.1.1版本下存在以下问题:

1.Halcon V1.1.1 版本连接两台相机(一台支持HDR,一台不支持HDR),读取或设置HDR 功能后,概率出现上报错误代码:53302.Halcon V1.1.1 版本上不支持PresetMode读取及设置。
3.Halcon V1.1.1 在示例程序check_status.hdev中,打开不支持彩色图像的相机时,会出现错误代码 5329。建议在获取相机支持的组件后再尝试打开相应组件。
4.Halcon V1.1.1 版本下不支持 ToF Anti-interference 抗多机干扰功能的读取及设置。
5.Halcon V1.1.1 版本无法读取和设置固件版本低于 R3.13.84 的旧相机的曝光时间。

   此外,Halcon V1.1.1版本在分辨率设置方面进行了标准化设计,导致以下限制:仅支持图像格式的读取,不支持图像格式设置。

   图像分辨率仅支持最大分辨率及其 1/2、1/3、1/4 等分辨率的设置。
   由于以上两个限制,TM265 相机的彩色格式仅支持 JPEG_1920x1080,不支持 YUYV_1280x720 和 YUYV_640x360。
   深度格式仅支持DEPTH16 240x96,不支持xyz48 240x96。

   类似地,PS800和FM815等相机的彩色格式和分辨率仅支持YUYV_2560x1920、YUYV_1280x960、YUYV_640x480,不支持 YUYV_1920x1440和CSI_BAYER12GBRG_2560x1920。

6.1 安装Halcon VSIX Installer失败

在这里插入图片描述

   可能原因:运行vsix时,未检测到Halcon安装使用的vs库文件。
   解决办法:点击View Install Log查看报错的原因,24.11版本点击close会自动跳转到安装所需库文件的页面,点击安装即可解决。

6.2 运行Percipio cti示例程序上报HALCON错误代码:5330,怎么办?

在这里插入图片描述

Halcon上报5330错误

   可能原因:可能安装了其他软件,导致GENICAM_GENTL64_PATH 存在多个值,且Halcon相关的值不在第一位,就会出现调用官方Halcon接口失败。
   解决办法:将Halcon相关的环境变量值上移至第一位,点击确定。无需重启电脑,重新打开Halcon程序即可。
在这里插入图片描述

修改环境变量

6.3 Halcon上报扩展错误码8600,怎么办?

在这里插入图片描述
   可能原因:可能是因为安装Halcon的时候未安装GenICam、GigeVision等部件。
   解决方法:重新下载Halcon安装包,参考Halcon安装与环境配置,重新安装Halcon。

7.SDK更新记录

7.1 1.1.0版本更新

   主要是标准化相关的改动,目标是尽量与GenICam SFNC文件靠近。
   1.Gain设置:先用GainSelector选择Gain类型,再用Gain读写具体数值,数值使用浮点数。
   2.ExposureTime设置:改用us为单位的浮点数,需依赖新固件完成换算。
   3.Trig设置:仅支持软触发和硬触发且不作区分,使用TriggerMode属性开启或关闭触发,使用TriggerSoftware发送软触发。
   4.Trig边沿设置:使用TriggerActivation属性设置。
   5.Trig延时设置:使用TriggerDelay属性设置,数值为单位us的浮数。
   6.KeepAliveOnoff/KeepAliveTimeout修改为DeviceLinkHeartbeatMode/DeviceLinkHeartbeatTimeout。
   7.PacketDelay/PacketSize修改为GevSCPD/GevSCPSPacketSize。
   8.PersistentIP/PersistentNetmask/PersistentGateway修改为GevPersistentIPAddress/GevPersistentSubnetMask/GevPersistentDefaultGateway
   9.NtpServerIP由点分十进制字符串修改为整数类型。
   10.SourceSelector/SourceMode修改为SourceSelector/ComponentEnable。
   11.取消ImageMode设置,仅支持相机的最大分辨率,以及原本支持的二分之一、四分之一等分辨率,缩减比例通过BinningHorizontal/BinningVertical设置。
   12.支持通过Width/Height读取图像分辨率,修改BinningHorizontal/BinningVertical后Width/Height属性会自动变化。
   13.支持通过PixelFormat读取格式,IR仅支持Mono8/Mono16,Color仅支持RGB8,Depth仅支持Coord3D_ABC32f(点云)。

   新版V1.1.0版本的主要更改点如下:

修改点 描述
Gain设置 选择Gain类型:GainSelector
读写Gain值(浮点数):Gain
ExposureTime设置 设置曝光时间(单位:us,类型:Float。FW:≥ R3.13.84)
Trig设置 触发模式:TriggerMode(开启/关闭)
发送软触发:TriggerSoftware
注意:开启:触发模式,关闭:自由采集模式。
Trig延时设置 设置触发延时(us为单位的浮点数):TriggerDelay
KeepAlive修改 心跳模式:DeviceLinkHeartbeatMode
心跳超时:DeviceLinkHeartbeatTimeout
Packet设置修改 包延时:GevSCPD
包大小:GevSCPSPacketSize
Persistent网络设置修改 持久IP地址:GevPersistentIPAddress
子网掩码:GevPersistentSubnetMask
默认网关:GevPersistentDefaultGateway
NtpServerIP修改 NTP服务器IP(整数类型):NtpServerIP
Source设置修改 源选择器:SourceSelector
组件启用:ComponentEnable
取消ImageMode设置 仅支持最大分辨率及二分之一、四分之一等,
通过BinningHorizontal或BinningVertical设置。
分辨率和Binning 读取分辨率:Width/Height
修改Binning后,Width/Height自动变化
PixelFormat读取 IR支持:Mono8、Mono16
Color支持:RGB8
Depth支持:Coord3D_ABC32f(点云)

7.2 1.1.5 版本更新

   1.支持系列属性的最大最小值
   2.支持若干新属性(SGBM-TEXTURE纹理属性)及自动加载json

7.3 2.1.6版本更新

   1.更新了tycam sdk 版本至4.2.11
   2.相机XML更改了逻辑,追加ComponentSelector节点前 增加了检查逻辑:
   如果已存在ComponentSelector节点,则不再新增,这个只是为了预兼容后面相机固件可能本身xml自带ComponentSelector引发冲突,对当前相机固件没有影响

8.参考代码例子

8.1 待补充

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐