Baumer工业相机堡盟工业相机如何通过BGAPI SDK使用UserSet功能保存和载入相机的各类参数(C++)
Baumer工业相机
Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。
Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩展性等特点。
Baumer工业相机通过使用BGAPI SDK进行开发时,可以通过UserSet用户设置功能允许用户为特定应用定制和保存相机设置。。
Baumer工业相机BGAPISDK中UserSet的技术背景
工业相机旨在为机器视觉、检查、机器人和自动化等工业应用捕捉高质量图像和视频。它们配备了各种先进的特性和功能,包括用户设置功能。
UserSet用户设置功能允许用户为特定应用定制和保存相机设置。这意味着用户可以对相机进行一次设置,然后在需要时轻松调用这些设置,而不必每次都手动调整相机。这有助于确保一致和准确的结果,减少设置时间和精力,并提高工作效率。
UserSet用户设置的功能可能因具体的相机型号和制造商而不同。然而,一些可通过用户设置定制的常见功能包括曝光时间、增益、白平衡、对比度、清晰度、色彩校正和触发模式。
为了利用用户设置功能,用户通常通过相机上的一个物理按钮或通过电脑上的一个软件应用程序进入相机的软件界面。在那里,他们可以将摄像机的设置调整到他们想要的值,并将设置保存到用户集。然后可以根据需要快速、方便地访问保存的用户组。
这里主要描述如何在C++的平台下实现通过BGAPI SDK实现UserSet功能的核心代码
代码案例分享
本文介绍使用BGAPI SDK对Baumer的工业相机进行开发时,使用通过BGAPI SDK中的UserSet功能来获取保存和载入相机诸多参数的功能。
有关于Baumer工业相机堡盟工业相机如何通过CameraExplorer软件进行设置UserSet的介绍,之前已经有相关的技术博客可以参考:
Baumer工业相机堡盟相机使用CameraExplorer软件进行相机参数保存与 UserSet参数设置
关于 UserSet 的描述:
Baumer 相机可以使用四个 UserSet项,其中 UserSet0为默认选项,包含出厂设置的一系列参数;
User Set 1-3 可以用来存储用户定义修改的相机参数;
User Set 0 作为“Default”值,为只读选项,不可将修改的相机参数保存到该“Default”选项下;
User Set 1-3 可以用来读取,存储相机参数;
如下为核心代码实现步骤:
第一步:保存相机当前参数设置UserSet_Save
C++环境下核心代码如下所示:
SystemList
Open a System
Get the InterfaceList and fill it Open an Interface
Get the DeviceList and fill it
Open a Device
//曝光设置方法
CString strShutter = _T("1000");
m_edtShutter.GetWindowText(strShutter);
int nShutter = _wtol(strShutter);
if(m_pDevice != NULL)
{
m_pDevice->GetRemoteNode("ExposureTime")->SetDouble(nShutter);
}
//增益设置方法
CString strGain= _T("1");;
double fGain;
m_edtGain.GetWindowText(strGain);
fGain= _wtof(strGain);
if(m_pDevice != NULL)
{
m_pDevice->GetRemoteNode("Gain")->SetDouble(fGain);
}
//保存相机当前参数设置到UserSet1
if(m_pDevice != NULL)
{
m_pDevice->GetRemoteNode("UserSetDefault")->SetString("UserSet1") ;//保存相机参数到UserSet1
m_pDevice->GetRemoteNode("UserSetSelector")->SetString("UserSet1");//选择相机UserSet1设置
m_pDevice->GetRemoteNode("UserSetSave")->Execute();//执行UserSet1保存
}
第二步:载入已经保存的相机参数UserSet_Load
下面为在在C++环境开启相机连接相机后通过载入UserSet的参数获取相机参数的核心代码,
如下所示:
SystemList
Open a System
Get the InterfaceList and fill it Open an Interface
Get the DeviceList and fill it
Open a Device
if (pDevice != null)
{
pDevice.RemoteNodeList["UserSetSelector"].Value = "UserSet1";//选择相机UserSet1设置
pDevice.RemoteNodeList["UserSetLoad"].Execute();//执行UserSet1载入
}
//载入UserSet1参数到相机中
if(m_pDevice != NULL)
{
m_pDevice->GetRemoteNode("UserSetSelector")->SetString("UserSet1");//选择相机UserSet1设置
m_pDevice->GetRemoteNode("UserSetLoad")->Execute();//执行UserSet1载入
}
工业相机SDK中的UserSet功能的优点
-
自定义摄像机设置: UserSet功能允许用户定义并保存自定义摄像机设置,如图像分辨率、曝光时间或色彩平衡。这在工业自动化应用中特别有用,因为不同的任务需要特定的相机配置。
-
设置之间的快速切换: 有了用户设定,在不同的摄像机设置之间的切换是快速而简单的。与每次需要手动调整摄像机设置相比,这可以节省时间并减少出错的风险。
-
增加一致性: 通过保存自定义的相机设置,用户可以确保相机设置随着时间的推移而保持一致,甚至在多台相机之间也是如此。这可以为分析和决策带来更加一致和准确的图像数据。
-
简化集成: UserSet功能还可以简化与其他软件系统的集成。例如,如果一个机器视觉系统需要与多个相机通信,拥有预定义的UserSet可以更容易确保所有相机的图像数据一致。
总的来说,工业相机SDK中的UserSet功能为简化相机设置和提高工业自动化应用的一致性和效率提供了若干好处。
工业相机SDK中的UserSet功能的行业应用
工业相机SDK中的UserSet功能允许用户保存和调用自定义设置,使其成为可能需要特定相机配置的工业应用的强大工具。
例如,在制造过程中,不同的产品可能需要特定的摄像机设置以确保一致的质量控制。用户设置 "功能允许操作人员在这些预设之间快速切换,减少设置时间并将出错的风险降到最低。
在机器视觉领域,UserSet功能还可用于存储不同应用的不同图像处理设置。这使得生产线上的不同检测任务之间能够快速而轻松地转换。
总的来说,用户设置功能提供了一种方便和有效的方式,为特定的工业应用定制相机设置,简化流程并提高生产力。