Baumer工业相机堡盟工业相机如何通过BGAPISDK获取相机接口数据吞吐量(C++)

news2024/11/23 13:43:14

Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来获取相机当前数据吞吐量(C++)

  • Baumer工业相机
  • Baumer工业相机的数据吞吐量的技术背景
    • CameraExplorer如何查看相机吞吐量信息
    • 在BGAPI SDK里通过函数获取相机接口吞吐量
  • Baumer工业相机通过BGAPI SDK获取数据吞吐量的优势
  • Baumer工业相机通过BGAPI SDK获取数据吞吐量的行业应用

Baumer工业相机

Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。

Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩展性等特点。

Baumer工业相机的实时帧率是工业相机的一个重要参数,因为它影响相机准确捕捉快速移动物体或事件的能力。分辨率、图像质量和可用存储空间等因素也会影响工业相机的帧率。

Baumer工业相机的Camera Explorer软件功能强大,内容丰富,通过该软件可以有效的获取相机相关的全部信息,在对于相机检测项目的开发中,有时需要获取相机中图像Buffer信息和相关的数据流信息,而Camera Explorer软件可以有效的显示相关的信息。

Baumer工业相机的数据吞吐量的技术背景

工业相机的数据吞吐量是指相机在特定的时间内能够处理的数据量,用通常以每秒传送的字节数(B/s)或兆比特每秒(Mbit/s)来表示。这也是评估工业相机性能的重要指标之一。工业相机的数据吞吐量由许多因素决定:

图像分辨率:图像分辨率是指相机传感器能够捕捉的像素数量。较高的分辨率将捕捉到更多的像素,产生更高的图像质量,但同时也会产生更多的数据。

帧率:帧率是指相机每秒可以捕捉的图像帧数。较高的帧率在某些应用中是必要的,例如在快速的运动捕捉或高速运动的物体检测中。

颜色深度:颜色深度是指每个像素能够表示的颜色数。例如,8位颜色深度可以表示256种颜色,而24位颜色深度可以表示约1600万种颜色。较高的颜色深度可以提供更丰富和精确的颜色信息,但也会产生更多的数据。

相机接口:相机接口是相机将数据发送到计算机的方式。这些接口类型包括USB,GigE,Camera Link,FireWire等。不同的接口类型有不同的数据传输速率。

由于上述因素,工业相机的数据吞吐量是一个关键指标,因为它影响了相机的性能和应用范围。在确定工业相机的数据吞吐量时,需要考虑到上述所有因素,并根据应用需求进行优化。

CameraExplorer如何查看相机吞吐量信息

Baumer工业相机 的相机软件Camera Explorer可以可视化便捷地进行查看相机图像的相关信息

首先,双击进入相机界面
在这里插入图片描述
然后选择相机页面中左上角标题菜单栏中的Widgets,并选择其中的Image/Buffer Info。

在这里插入图片描述
然后在软件右侧出现相机图像通讯相关信息,如下所示:

在这里插入图片描述
图像参数中Bitrate可以查看相机当前的帧率。如下图所示:

请添加图片描述

在BGAPI SDK里通过函数获取相机接口吞吐量

在相机连接后构建线程显示帧率,C++调用代码如下所示:

UINT CGigeDemoDlg::ShowFrame_hThread1(LPVOID pParam)
{
	CGigeDemoDlg *dlg = (CGigeDemoDlg *)pParam;
	dlg->SetShowFrame();
	return 0;
}

void CGigeDemoDlg::SetShowFrame()
{
	try
	{
		bool m_bRun0 = true;
		while (m_bRun0)
		{
			if(FrameID>0)
			{
				double CurFrameID1 = FrameID;
				Sleep(100);
				double CurFrameID2 = FrameID;
				double CalFrameID =(CurFrameID2-CurFrameID1)*1 ;
				BGAPI2::NodeMap* pDataStreamNodeList = m_pDataStream->GetNodeList();

				float m_CurStreamThroughoutDouble = pDataStreamNodeList->GetNode("Throughput")->GetDouble();//获取网口计算帧率

				if (m_pDataStream->GetTLType() == "GEV") 
				{
					float m_CurStreamBitrateDouble = pDataStreamNodeList->GetNode("Bitrate")->GetDouble();//获取网口数据通量									
					m_CurStreamBitrate.Format(_T("%.2f"),m_CurStreamBitrateDouble);
					GetDlgItem(IDC_STCURBITRATE)->SetWindowText(m_CurStreamBitrate+_T(" MBit/s"));
				}

				CString CurFameratestr;
				CurFameratestr.Format(_T("%.1f"),m_CurStreamThroughoutDouble);
				m_Cursetframe = CurFameratestr;
				GetDlgItem(IDC_STCURFRAME)->SetWindowText(CurFameratestr);
								
			}

		}

	}
	catch (int e)
	{
		MessageBox(_T("Camera SetShowimage Error"));

	}
}


测试显示帧率结果如下所示:
在这里插入图片描述

Baumer工业相机通过BGAPI SDK获取数据吞吐量的优势

Baumer工业相机通过BGAPI SDK获取数据吞吐量的优势主要包括:

高效性能:使用BGAPI SDK可以有效地控制和管理Baumer工业相机的帧率,对于需要高帧率的应用环境,比如高速检测或者实时监控非常有帮助。

兼容性强:BGAPI SDK提供了用户友好的接口,兼容各种编程语言,使得开发者可以便捷地集成这个SDK到他们的系统或应用中。

精确控制:通过BGAPI SDK,开发者可以精确地控制每一帧的获取和处理,这对于需要精确控制的应用环境,如精密制造或科学研究非常重要。

稳定可靠:Baumer工业相机配合BGAPI SDK可以长时间稳定运行,支持连续抓取和处理大量的图像数据,对于需要长时间运行的工业应用尤其重要

Baumer工业相机通过BGAPI SDK获取数据吞吐量的行业应用

Baumer工业相机通过BGAPI SDK获取数据吞吐量,其应用广泛涵盖了多个行业,这些包括但不限于:

制造业:在自动化生产线中,这种相机可以进行高帧率的视觉检测,检测产品质量问题或生产线的故障。

机器视觉:在自动化设备的构建中,比如机器人,这种相机可以进行高速的图像采集和处理,帮助机器进行准确的识别和操作。

交通监控:在交通监控中,如车牌识别,行人检测等,高帧率相机可以提供流畅且清晰的图像,保证识别的准确性。

医疗设备:在高级医疗设备中,如手术机器人,这种相机可以快速捕捉手术现场的详细图像,帮助医生进行精确的操作。

所以,无论是对于显微镜观察、流水线检查、外科手术辅助,还是交通监控,利用BGAPI SDK进行帧率控制的Baumer工业相机都能提供极高的性能表现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/840303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【技能实训】DMS数据挖掘项目(完整程序)

文章目录 1. 系统需求分析1.1 需求概述1.2 需求说明 2. 系统总体设计2.1 编写目的2.2 总体设计2.2.1 功能划分2.2.2 数据库及表2.2.3 主要业务流程 3. 详细设计与实现3.1 表设计3.2 数据库访问工具类设计3.3 配置文件3.4 实体类及设计3.5 业务类及设计3.6 异常处理3.7 界面设计…

优雅记录与保留:探秘Spring Boot与Logback的高级日志输出与存储

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: 优雅记录与保留:探秘Spring Boot与Logback的高级日志输出与…

Java中运算符要注意的一些点

目录 1. 算术运算符 1. 1 基本四则运算符:加减乘除模( - * / %) 1.2. 增量运算符 - * % 2. 关系运算符 3. 逻辑运算符 3.1. 逻辑与 && 3.2. 逻辑 || 3.3. 逻辑非 ! 3.4. 短路求值 4. 位运算符 4.1. 按位与 &: 如果两个二进制位都是 …

WebGL: 几个入门小例子

本文罗列几个WebGL入门例子,用于帮助WebGL学习。 一、概述 WebGL (Web Graphics Library)是一组基于Open ES、在Web内渲染3D图形的Javascript APIs。 Ref. from Khronos Group: WebGL WebGL™ is a cross-platform, royalty-free open web standard for a low-lev…

代码随想录算法训练营之JAVA|第二十一天| 77. 组合

今天是第21天刷leetcode,立个flag,打卡60天。 算法挑战链接 77. 组合https://leetcode.cn/problems/combinations/description/ 第一想法 需要从N个数中选取K个数,那么第一想法肯定是k个for循环,每个for循环选取一个数&#x…

K8S系列文章之 kubeasz部署K8S环境

自动化安装方式(kubeasz)* 生产环境推荐(首次安装下载相关配置和安装包)是基于Ansible实现的部署工具 简单介绍 每一具体k8s集群的详细配置参数文件 Ansible 任务配置文件 镜像安装包 安装部署步骤 前提 : 保证Ansib…

4个顶级的支持消费级硬件的NeRF软件平台

似乎每天都有大量的创新发布,人们很容易感到不知所措。因此,让我们放慢脚步,看看4个主流的支持消费级硬件的NeRF 平台。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 1、Instant-NGP(Instant-NeRF) 2022 年…

使用nativephp开发桌面应用测试

2023年7月21日10:29:03 官网:https://nativephp.com/ 源码:https://github.com/NativePHP/laravel 看起像laravel团队的作品 安装:注意需要php8.1以上,laravel10以上 composer create-project laravel/laravel example-app或者&am…

SpringBoot集成Redisson实现延迟队列

一、场景 1、下单未支付,超过10分钟取消订单 2、货到后7天未评价,自动好评 二、实现方案 1、使用xxl-job 定时任务按时检测,实时性不高 2、使用RabitMQ的插件rabbitmq_delayed_message_exchange插件 3、 redis的过期检测 redis.conf 中…

【雕爷学编程】Arduino动手做(186)---WeMos ESP32开发板7

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

Vue如何定义router-link的颜色样式

今天在使用Vue的时候碰到了想改样式却改不了的情况 <ul> <li>xxxxx</li> <li><router-link to"/wisdom" active-class"ative">xxxxx</router-link></li> <li><router-link to"/MyLogin" act…

【福建事业单位-推理判断】06翻译推理、组合排列

【福建事业单位-推理判断】06翻译推理、组合排列 一、翻译推理1.1 前推后&#xff08;如果&#xff0c;那么&#xff09;1.1.2逆否命题1.3 传递关系1.4后推前&#xff08;只有才&#xff09;后推前&#xff1a;不....不............&#xff0c;除非....否则不..........1.4.2后…

使用gpart命令对磁盘分区进行在线扩容

本文主要讨论在系统磁盘分区空间不足时&#xff0c;如何使用gpart命令在线对磁盘分区进行调整和扩容。主要包括以下几个步骤&#xff1a; 备份文件系统删除不用的分区对目标分区进行扩容调整目标文件系统划分剩余磁盘空间 本文使用的软件版本&#xff1a; FreeBSD 13.2-RELE…

Packet Tracer - 将路由器连接到 LAN

Packet Tracer - 将路由器连接到 LAN 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 R1 G0/0 192.168.10.1 255.255.255.0 N/A G0/1 192.168.11.1 255.255.255.0 N/A S0/0/0 (DCE) 209.165.200.225 255.255.255.252 N/A R2 G0/0 10.1.1.1 255.255.255…

Modeling Learning (UG)

UG文件新建及保存 Modeling (UG) UG NX12.0简介 UG文件新建及保存 模型当中就分为冲压生产线、生产线设计和船舶结构三种。 鼠标的操作 对象显示CtrlJ&#xff0c;然后可以调整对象的颜色、线条和宽度等 MB1单击是选取&#xff0c;双击是编辑&#xff0c;停留一会单击是选择…

redis缓存雪崩和缓存击穿

目录 缓存雪崩 解决方案&#xff1a; 缓存击穿 ​解决方案 缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 解决方案&#xff1a; u 给不同的 Key 的 TTL 添加随机值 u 利用 Redis …

Python-flask项目入门

一、flask对于简单搭建一个基于python语言-的web项目非常简单 二、项目目录 示例代码 git路径 三、代码介绍 1、安装pip依赖 通过pip插入数据驱动依赖pip install flask-sqlalchemy 和 pip install pymysql 2.配置数据源 config.py DIALECT mysql DRIVER pymysql USERN…

Spring Boot 中自动装配机制的原理

问题描述 自动装配&#xff0c;简单来说就是自动把第三方组件的 Bean 装载到 Spring IOC 器里面&#xff0c;不需 要开发人员再去写 Bean 的装配配置。 在 Spring Boot 应用里面&#xff0c;只需要在启动类加上SpringBootApplication 注解就可以实现自动装配。 SpringBootAppli…

数据结构—图的存储结构

6.图 回顾&#xff1a;数据的逻辑结构 集合——数据元素间除 “同属于一个集合” 外&#xff0c;无其他关系。 线性结构——一个对一个&#xff0c;如线性表、栈、队列 树形结构——一个对多个&#xff0c;如树 图形结构——多个对多个&#xff0c;如图 6.1图的定义和术语 图:…

安捷伦Agilent37719A通讯分析仪

安捷伦Agilent37719A通讯分析仪(131----4587---6435&#xff09; ATM和POS测试能力达到2.5 Gb/s OC-48、OC-48c、OC-12、OC-12c、OC-3c、OC-3、OC-1、STS-3、STS-3c、STS-1测试 保护切换时间测量 所有同步速率高达2.5 Gb/s的串联有效负载 SONET环翻转的全面直通模式操作 全开销…