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

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

  • Baumer工业相机
  • Baumer工业相机BGAPISDK中UserSet的技术背景
  • 代码案例分享
    • 第一步:保存相机当前参数设置UserSet_Save
    • 第二步:载入已经保存的相机参数UserSet_Load
  • 工业相机SDK中的UserSet功能的优点
  • 工业相机SDK中的UserSet功能的行业应用

持之以恒挑战赛

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功能的优点

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

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

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

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

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

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

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

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

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

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


http://www.niftyadmin.cn/n/234479.html

相关文章

黑马2023JavaScript笔记1

一、js知识点 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-widt…

传智健康项目总结

耗时一个半月终于把传智健康项目跟着做完了&#xff0c;下面是对项目的一点心得体会。 项目知识点总结 Maven中parent父工程聚合 聚合模块(父工程)作用&#xff1a;父工程是一个pom工程&#xff0c;通常只是用来帮助其子模块构建的工具&#xff0c;本身并没有实质的内容。具体…

ChatGPT自动化提高工作效率: 2分钟快速生成思维导图

一、简要说明 ChatGPT不止是一个聊天机器人&#xff0c;更是一个自然语言处理、文本内容生成模型&#xff0c;它可以理解语言规则&#xff0c;不仅仅是给你输出已有的知识内容&#xff0c;还会给到你一些创意点子&#xff1b;所以我们应该学会如何使用它&#xff0c;让它更好的…

中电金信「财务公司核心系统白皮书」正式发布!

随着数字技术的深度应用&#xff0c;数字化转型正迎来新一轮变革。如何促进企业战略转型&#xff0c;助力企业发展提质增效&#xff0c;以标准化、数字化、精细化支撑企业实现高质量发展&#xff0c;已成为财务公司数字化转型的重要课题。 为推进财务公司数字化转型工作要求&a…

【计算机网络—— 安装packet tracer的教程,管理MAC地址和配置路由器的实验步骤以及心得体会】

文章目录安装packet tracer的教程管理MAC地址实验目的 &#xff1a;管理MAC地址实验内容及过程记录&#xff08;一&#xff09;运行Cisco Packet Tracer软件&#xff08;二&#xff09;选择PC终端&#xff08;三&#xff09;运行终端&#xff08;四&#xff09;按表内容对交换机…

Python实现哈里斯鹰优化算法(HHO)优化Catboost回归模型(CatBoostRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO)&#xff0c;该算法有较强的全…

GCP 上的人工智能实用指南:第一、二部分

原文&#xff1a;Hands-On Artificial Intelligence on Google Cloud Platform 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象…

C++---状态压缩dp---炮兵阵地(每日一道算法2023.4.16)

注意事项&#xff1a; 本题为"状态压缩dp—蒙德里安的梦想"和"状态压缩dp—小国王"和"状态压缩dp—玉米田"的近似题&#xff0c;建议先阅读这三篇文章并理解。 题目&#xff1a; 司令部的将军们打算在 NM 的网格地图上部署他们的炮兵部队。 一个…