Baumer工业相机堡盟工业相机如何通过BGAPI SDK使用UserSet功能保存和载入相机的各类参数(C++)

简介: 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["UserSetSLoad"].Execute();//执行UserSet1载入        
}
//载入UserSet1参数到相机中
if(m_pDevice != NULL)
{  
    m_pDevice->GetRemoteNode("UserSetSelector")->SetString("UserSet1");//选择相机UserSet1设置  
    m_pDevice->GetRemoteNode("UserSetSLoad")->Execute();//执行UserSet1载入     
}

工业相机SDK中的UserSet功能的优点

自定义摄像机设置: UserSet功能允许用户定义并保存自定义摄像机设置,如图像分辨率、曝光时间或色彩平衡。这在工业自动化应用中特别有用,因为不同的任务需要特定的相机配置。


设置之间的快速切换: 有了用户设定,在不同的摄像机设置之间的切换是快速而简单的。与每次需要手动调整摄像机设置相比,这可以节省时间并减少出错的风险。


增加一致性: 通过保存自定义的相机设置,用户可以确保相机设置随着时间的推移而保持一致,甚至在多台相机之间也是如此。这可以为分析和决策带来更加一致和准确的图像数据。


简化集成: UserSet功能还可以简化与其他软件系统的集成。例如,如果一个机器视觉系统需要与多个相机通信,拥有预定义的UserSet可以更容易确保所有相机的图像数据一致。


总的来说,工业相机SDK中的UserSet功能为简化相机设置和提高工业自动化应用的一致性和效率提供了若干好处。


工业相机SDK中的UserSet功能的行业应用

工业相机SDK中的UserSet功能允许用户保存和调用自定义设置,使其成为可能需要特定相机配置的工业应用的强大工具。


例如,在制造过程中,不同的产品可能需要特定的摄像机设置以确保一致的质量控制。用户设置 "功能允许操作人员在这些预设之间快速切换,减少设置时间并将出错的风险降到最低。


在机器视觉领域,UserSet功能还可用于存储不同应用的不同图像处理设置。这使得生产线上的不同检测任务之间能够快速而轻松地转换。


总的来说,用户设置功能提供了一种方便和有效的方式,为特定的工业应用定制相机设置,简化流程并提高生产力。

目录
相关文章
|
7月前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C#)
95 0
|
4月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
321 1
|
7月前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
85 0
|
7月前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
123 0
|
1月前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
87 1
|
2月前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
69 7
|
4月前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
195 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
4月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
422 4
|
4月前
|
开发工具 Android开发
Flutter: Android SDK not found at this location,Android Studio not found at xxx
Flutter: Android SDK not found at this location,Android Studio not found at xxx
170 2