Baumer工业相机堡盟工业相机通过BGAPISDK使用图像回调函数全帧率保存图像 (C#)

news2025/1/11 14:33:16

Baumer工业相机堡盟工业相机通过BGAPISDK使用图像回调函数全帧率保存图像 (C#)

  • Baumer工业相机
  • Baumer工业相机全帧率保存的技术背景
  • Baumer工业相机通过BGAPISDK使用相机图像回调函数
    • 1.引用合适的类文件
    • 2.通过BGAPISDK在相机图像回调函数全帧率保存
  • Baumer工业相机全帧率保存图像的优势
  • Baumer工业相机全帧率保存图像的行业应用

Baumer工业相机

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

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

Baumer工业相机由于其性能和质量的优越和稳定,常用于高速同步采集领域,通常使用各种图像算法来提高其捕获的图像的质量。

Baumer工业相机全帧率保存的技术背景

为什么有些应用需要使用工业相机全帧率将图像保存到硬盘空间?

因为工业相机的设计是为了捕捉具有高速和高分辨率的图像,并且能够产生具有高比特深度的未经压缩的图像。

这允许实时捕获详细和高质量的图像,这在制造业和科学研究等行业可能是必要的,因为准确和快速的图像数据采集是至关重要的。

此外,使用工业相机可以确保在图像采集和存储过程中没有图像质量的损失,从而获得更可靠和一致的结果。

本文这里介绍通过BGAPISDK使用图像回调函数进行全帧率保存的方法。

Baumer工业相机通过BGAPISDK使用相机图像回调函数

下面介绍在C#里Baumer工业相机如何使用BGAPISDK的相机图像回调函数来进行全帧率图像保存。

1.引用合适的类文件

代码如下(示例):

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BGAPI2;
using System.Runtime.InteropServices;
using System.IO;
using CSCameraDemo.Properties;
using System.Globalization;
using WindowsFormsApplication1;
using System.Threading.Tasks;
using System.Threading;
using System.Drawing.Imaging;

2.通过BGAPISDK在相机图像回调函数全帧率保存

int TestNum0 =0 ;
//相机图像回调函数
void mDataStream_NewBufferEvent(object sender, BGAPI2.Events.NewBufferEventArgs mDSEvent)
{
    try
    {
        BGAPI2.Buffer mBufferFilled = null;
        mBufferFilled = mDSEvent.BufferObj;
        if (mBufferFilled == null)
        {
            MessageBox.Show("Error: Buffer Timeout after 1000 ms!");
        }
        else if (mBufferFilled.IsIncomplete == true)
        {
            //MessageBox.Show("Error: Image is incomplete!");
            //queue buffer again
            mBufferFilled.QueueBuffer();
        }
        else
        {
            #region//获取当前FrameID
            FrameIDInt = (int)mBufferFilled.FrameID;            
            #endregion
 
            //将相机内部图像内存数据转为bitmap数据
            System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap((int)mBufferFilled.Width, (int)mBufferFilled.Height, (int)mBufferFilled.Width,
                System.Drawing.Imaging.PixelFormat.Format8bppIndexed, (IntPtr)((ulong)mBufferFilled.MemPtr + mBufferFilled.ImageOffset));
 
            #region//Mono图像数据转换。彩色图像数据转换于此不同
            System.Drawing.Imaging.ColorPalette palette = bitmap.Palette;
            int nColors = 256;
            for (int ix = 0; ix < nColors; ix++)
            {
                uint Alpha = 0xFF;
                uint Intensity = (uint)(ix * 0xFF / (nColors - 1));
                palette.Entries[ix] = System.Drawing.Color.FromArgb((int)Alpha, (int)Intensity, (int)Intensity, (int)Intensity);
            }
            bitmap.Palette = palette;
            #endregion
 
 
            //回调函数保存图像功能
            if (bSaveImg)
            {
                //使用bitmap自带函数保存
                string strtime = DateTime.Now.ToString("yyyyMMddhhmmssfff");
                string saveimagepath = pImgFileDir + "\\" + strtime + FrameIDInt +".jpg";
                bitmap.Save(saveimagepath, System.Drawing.Imaging.ImageFormat.Bmp);
                TestNum0 =TestNum0 +1;				
				if(TestNum0==60)//保存图像数量满60后停止保存
				{
					 bSaveImg = false;//变量控制单次保存图像
				}
               
            }
 
 
            mBufferFilled.QueueBuffer();
        }
    }
        
}

呈现效果如下所示:
在这里插入图片描述

如上测试结果显示可以全帧率保存60张图片,适当修改可以实现定制化需求。

Baumer工业相机全帧率保存图像的优势

1、能够清晰、精确地捕捉快速移动的物体,这对制造业和体育等行业非常重要。

2、通过高速拍摄,工业相机可以捕捉到运动中部件和产品的图像,从而可以发现缺陷和质量问题。

3、这项技术对于分析运动员和动物的运动也是至关重要的,可以为训练员和教练员提供深入了解。

4、高速拍摄功能允许慢动作回放,使人们能够进一步分析所拍摄的画面。

5、包括能够捕捉快速移动物体的图像而不产生运动模糊,提高测量物体速度和位置的准确性,以及实时检测和分析快速过程和变化的能力。

6、这些相机可以在各种行业中发挥作用,包括制造业、自动化、机器人技术等。

7、高速成像可以为流程提供有价值的见解,并帮助公司优化其运营,以提高效率和生产力。

Baumer工业相机全帧率保存图像的行业应用

机器视觉: 全帧率保存图像的工业相机可用于机器视觉应用,以捕获快速移动的物体或过程的图像。这可用于制造、质量控制或检查应用。

机器人技术:全帧率保存图像的工业相机可用于机器人技术应用,以捕捉快速移动物体的图像或跟踪机器人的运动。这可用于制造、装配或取放应用。

医学成像: 全帧率保存图像的工业相机可用于医疗成像应用,以捕捉内部器官的高速图像或跟踪手术器械的运动。这可用于微创手术或诊断成像。

体育分析: 全帧率保存图像的工业相机可用于体育分析应用,捕捉运动员运动时的高速图像。这可用于训练或体育广播应用。

航空航天: 全帧率保存图像的工业相机可用于航空航天领域,捕捉高速事件的图像,如火箭发射或飞机测试。

总之,工业相机的全帧率保存图像功能是任何需要高速图像采集、高效数据传输和实时图像分析的应用的理想选择。

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

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

相关文章

2023年湖北建筑电工报名需要什么资料 ?报考条件是什么?启程别

2023年湖北建筑电工报名需要什么资料 &#xff1f;报考条件是什么&#xff1f;启程别 建筑电工证&#xff0c;适合在建筑工地上、建筑公司里面使用&#xff0c;和应急管理局的电工证是不同的&#xff01;建筑电工证也称之为建筑特操&#xff0c;统称建筑施工特种作业操作资格证…

如何成为ITSMS、ISMS审核员

一、管理体系审核员的注册领域 管理体系审核员包括质量管理体系&#xff08;QMS&#xff09;、环境管理体系&#xff08;EMS&#xff09;、职业健康安全管理体系&#xff08;OHSMS&#xff09;、食品安全管理体系&#xff08;FSMS&#xff09;、危害分析与关键控制点&#xff0…

Scala学习(六)---apply方法和单例对象

文章目录 1.Apply方法2.单例模式 1.Apply方法 Scala中实例化一个类&#xff0c;可以不用new &#xff0c; 其原因 其实就是 apply 方法 apply方法的调用约定&#xff1a; 用括号传递给类实例或者单例对象名一个或者多个对象的时候 scala会在对应的类或者对象中查找apply方法 且…

TortoiseSvn和TortoiseGit的安装(超详细带汉化)

前言 TortoiseSvn和TortoiseGit都是针对代码进行版本管理的工具&#xff0c;又俗称小乌龟&#xff0c;简洁而可视化的操作界面&#xff0c;免去繁琐的命令行输入。只需要记住常用的几个操作步骤就能快速上手。工欲善其事必先利其器&#xff0c;我一向奉行的就是复杂的问题简单化…

Promise面试题

Promise面试题&#xff0c;带你搞懂同步异步执行顺序 前置知识面试题面试题一面试题二面试题三面试题四 分析面试题一分析面试题二分析面试题三分析面试题四分析 前置知识 Promise中的then方法 then&#xff1a;指定用于得到成功value的成功回调和用于得到失败reason的失败回调…

openldap2.4版本管理员文档中文翻译版

OpenLDAP2.4管理员指南 文章目录 1.OpenLDAP介绍2.快速开始指南1.获得软件2.解压压缩包3.阅读文档4.运行configure5.编译软件6.测试编译结果7.安装软件8.编辑配置文件9.导入数据库配置10.启动slapd11.添加初始条目到目录中12.检测添加结果 3.大图片-配置选择1.本地目录服务2.带…

抓取微信小程序源码教程,扒微信小程序文件等

前言&#xff1a; 想成为一名微信小程序的开发者&#xff0c;前端思路的学习和安全意识是非常有必要的&#xff0c;故务必掌握小程序反编译技能。这里用到了2个工具《包解密》与《反编译》&#xff08;非原创&#xff0c;均来自网上的大佬&#xff09;&#xff0c;特别适合新手…

5.23黄金是否会继续下跌?多单被套怎么办?

近期有哪些消息面影响黄金走势&#xff1f;今日黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;周二&#xff08;5月23日&#xff09;亚市盘中&#xff0c;现货黄金小幅走弱&#xff0c;一度刷新两日低点至1960美元/盎司&#xff0c;美国明尼亚波利斯联储主席卡…

redis的主从复制、哨兵、集群

主从复制&#xff1a; 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 原理&#xff1a; 主从关系确定…

【VLAN如何划分?6个方法帮你解决!好用又简单!】

如何选择交换机&#xff1f;如何根据项目确定网络结构&#xff1f;交换机做为大家工作中最常用的设备之一&#xff0c;关于它的选择&#xff0c;不得不知。 在做项目时都有这样的疑问&#xff0c;因为参数决定了项目预算&#xff0c;常用的园区组网技术也是多种多样。 我们来…

物联网调试管理平台

1. 项目介绍 1.1 项目简介 MQTT调试管理平台是一款基于Spring Spring MVC Mybatis开发的一款物联网设备调试管理平台。 其功能主要是对客户MQTT调试页面进行集中管理&#xff08;连接信息、发送信息&#xff09;&#xff0c;系统管理员可在后台添加客户和调试页面&#xf…

OpenHarmony支持HDMI接口声卡适配说明

高清多媒体接口&#xff08;High Definition Multimedia Interface&#xff0c;HDMI &#xff09;是一种全数字化视频和声音发送接口&#xff0c;可以发送未压缩的音频及视频信号。HDMI可用于机顶盒、DVD播放机、个人计算机、电视、游戏主机、综合扩大机、数字音响与电视机等设…

chatgpt赋能Python-python_js解密

Python与JavaScript解密之道 在现代Web应用程序中&#xff0c;JavaScript和Python是两种最强大和流行的编程语言。Python具有强大的基于文本的处理和数据结构&#xff0c;而JavaScript则具有处理DOM&#xff0c;Ajax和动态效果的能力。然而&#xff0c;有时我们需要使用这两种…

Spring Cloud Eureka 是什么?如何使用它来实现服务注册与发现?

Spring Cloud Eureka 是什么&#xff1f;如何使用它来实现服务注册与发现&#xff1f; 在微服务架构中&#xff0c;服务注册与发现是一个非常重要的概念。它可以帮助我们实现服务的自动发现和负载均衡&#xff0c;从而提高系统的可用性和可扩展性。Spring Cloud Eureka 是一个…

无需公网IP,在家SSH远程连接公司内网服务器「cpolar内网穿透」

文章目录 视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 转载自cpolar内网穿透的文章&#xff1a;无公网IP&#xff0c;SSH远程连接Linux CentOS【内网穿透】 本次教程我们来实现如何在外公网环境下&am…

探索Java面向对象编程的奇妙世界(二)

⭐ 对象和类的详解⭐ 构造方法(构造器 constructor)⭐ 构造方法的重载⭐ 面向对象的内存分析 ⭐ 对象和类的详解 类可以看做是一个模版&#xff0c;或者图纸&#xff0c;系统根据类的定义来造出对象。我们要造一个汽车&#xff0c;怎么样造&#xff1f;类就是这个图纸&#xff…

以太网、工业以太网和Profinet三者有何关联?

总的来说&#xff0c;以太网是一种局域网规范&#xff0c;工业以太网是应用于工业控制领域的以太网技术&#xff0c;Profinet是一种在工业以太网上运行的实时技术规范。 下面&#xff0c;我们来详细说说这三者的区别。 1.以太网 以太网是当今现有局域网采用的最通用的通信协议…

AndResGuard 源码解析

背景 抖音包体积优化提出的“键常量池裁剪”是基于腾讯的AndResGuard资源混淆之后做的进一步处理&#xff0c;也就是对resources.arsc文件的处理。而资源混淆&#xff0c;就是对resources.arsc文件进行修改。那么我们可以尝试基于这个思路&#xff0c;对AndResGuard插件源码进…

推荐一款好用的Idea热部署插件

目录 1.什么是热部署 2.为什么需要热部署 3.热部署产品 3.1.JRebel 3.2.IDEA HotSwap 3.3.HotSwapAgent 3.4.Spring Boot DevTools 3.5.FastHotSwapper 4.FastHotSwapper安装使用 参考&#xff1a; 1.什么是热部署 热部署&#xff08;Hot Deployment&#xff09;是指…

chatgpt赋能Python-python_iloc_loc

使用Python中的iloc和loc方法对数据进行索引 如果你正在使用Python来进行数据处理或者数据分析&#xff0c;那么你肯定会遇到需要对数据进行索引的情况。Python提供了两个非常有用的方法——iloc和loc&#xff0c;对于数据的索引和切片操作非常实用。在本文中&#xff0c;我们…