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功能还可用于存储不同应用的不同图像处理设置。这使得生产线上的不同检测任务之间能够快速而轻松地转换。


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

目录
相关文章
|
3月前
|
编解码 缓存 开发工具
Pico Neo 3教程☀️ 三、SDK 的进阶功能
Pico Neo 3教程☀️ 三、SDK 的进阶功能
|
3月前
|
编解码 Linux 开发工具
大牛直播SDK跨平台RTMP直播推送模块技术设计和功能列表
大牛直播SDK是一款跨平台RTMP直播推送模块,支持Windows、Linux(x64_64与aarch64架构)、Android及iOS平台。该SDK功能全面,包括摄像头、屏幕、麦克风等数据采集与推送,并支持编码前后数据对接。其架构设计优秀,确保低延迟与高效率,结合SmartPlayer播放器实现毫秒级延迟体验。具备全自研框架,易于扩展且支持多种数据源接入,如外部YUV/RGB/H.264等格式。此外,各平台支持特性丰富,如Windows平台支持多摄像头合成,Android与iOS平台支持前后摄像头实时切换等。大牛直播SDK还提供了多个示例项目以帮助开发者快速上手。
|
3月前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
6月前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
73 0
|
6月前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
88 0
|
16天前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
48 1
|
26天前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
46 7
|
3月前
|
开发工具 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
167 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
3月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
309 4

热门文章

最新文章