Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C#)

简介: Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C#)

Baumer工业相机


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


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


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


Baumer工业相机NEOAPI SDK是用于Baumer工业相机的一款最新的软件开发工具包(SDK)。它为开发人员提供了一系列API和工具,用于与Baumer工业相机进行通信和控制,控制方式极为便捷类似Halcon的相机助手类控制方式。


Baumer工业相机堡盟相机中Binning像素合并功能是一种通过允许多个像素合并成一个较大像素的功能。它一般称为Binning模式,分为Binning 黑白模式和Binning 彩色模式。


Baumer工业相机NEOAPI SDK和短曝光功能的技术背景


Baumer工业相机的NEOAPI SDK是Baumer公司开发的针对其相机产品系列的一套软件开发工具包。该SDK提供了一组API,使开发人员可以编写专业应用程序,从而控制、捕获、处理和显示Baumer相机的图像和数据。BGAPI SDK支持多种编程语言,包括C++、C#、Visual Basic、LabVIEW、Matlab等,并提供了大量示例代码和文档,以帮助用户轻松上手,快速完成应用程序的开发。


NEOAPI SDK提供了丰富的功能,可以控制Baumer相机的所有参数,包括曝光时间、增益、白平衡、触发模式等,以及支持各种数据格式,例如Raw、BMP、JPG等,同时还提供了实时显示、数据采集、图像处理等功能,为开发人员提供了高度定制化的解决方案。此外,BGAPI SDK还支持多相机系统的开发,并可支持各种计算机操作系统,如Windows、Linux、Mac OS等。


Baumer工业相机的像素合并功能是一种允许多个像素合并成一个较大像素的功能。这一功能通常用于增加相机捕获的图像的动态范围,以及提高对光线的敏感性。


像素合并可以通过两种方式进行:水平和垂直。水平像素合并将同一行的相邻像素合并,而垂直像素合并将不同行的像素合并。


通过合并像素,相机可以产生具有更高的细节、更少的噪音和在低光照条件下更好的照明的图像。由此产生的图像通常具有更高的质量,更适合分析和处理。


总的来说,像素合并功能是工业相机的一个重要特征,可以帮助提高各行业成像应用的准确性和可靠性,如医疗成像、质量控制和监控。


Baumer工业相机中的Binning模式分为Binning黑白模式和Binning彩色模式


Baumer工业相机通过CameraExplorer软件使用Binning功能


Baumer工业相机的相机软件Camera Explorer可以可视化便捷地进行Binning功能的设置


首先,双击进入相机界面


然后选择相机页面中左上角标题菜单栏中的Widgets,并选择其中的Brightness。


最后在Camera Explorer界面的右侧会出现Image Format的功能界面


其中,Binning中的Horizontal为水平方向的像素合并,Vertical则垂直方向的像素合并。


Baumer工业相机通过NEOAPI SDK使用Binning功能


下面介绍在C#里Baumer工业相机如何通过NEOAPI SDK使用短曝光功能方式


1.引用合适的类文件


代码如下(示例):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Data;
using System.Globalization;
using System.Diagnostics;
using System.IO;
using NeoAPI;


2.通过NEOAPI SDK使用Binning功能


Baumer工业相机设短曝光功能模式核心代码如下所示:

NeoAPI.Cam camera = new NeoAPI.Cam();
camera.Connect();                                       // connect to a camera
MatType type;
bool isColor = true;
Feature pixelformat = new Feature();
camera.f.ExposureTime.Value = 10000;
if (camera.IsConnected)
{
  if (camera.HasFeature("Binning") && camera.IsWritable("BinningHorizontal"))
    {
      var f = camera.GetFeature("BinningHorizontal");
      // 开启像素合并功能:2
      camera.f.BinningHorizontal.Value = 2;
      camera.f.BinningVertical.Value = 2;   
    // 设置曝光为1微秒
    camera.f.ExposureTime.Value = 1;   
    // 设置相机为自由采集模式
    camera.f.TriggerMode.Value = NeoAPI.TriggerMode.Off; 
    // 启动相机开始采集  
    camera.f.AcquisitionStart.Execute();  
    // 采集一张图像 
    NeoAPI.Image image = camera.GetImage()
      //  保存采集图像
    image.Save("neoapi-sdk-Binning-image");   
    }
}


Baumer工业相机使用Binning功能的优势


工业相机的像素合并功能提供了几个优势:


  1. 提高灵敏度。像素合并将相邻像素的像素值结合起来,形成一个更敏感的传感器。这有助于检测低光,提高图像质量。


  1. 减少噪音。像素合并有助于通过平均多个像素的像素值来减少图像中的噪音。这有助于实现更高的信噪比,从而获得更清晰的图像。


  1. 提高分辨率。合并像素可以通过将多个像素合并为一个像素来提高图像的分辨率。这可以帮助捕捉到图像中的精细细节。


  1. 减少数据大小。合并像素可以减少表示图像所需的数据量,这在需要传输或储存数据的应用中很有用。


总的来说,工业相机中的像素合并功能可以显著提高图像质量,使其成为各种应用中的宝贵工具,包括机器视觉、监控和科学成像。


Baumer工业相机使用Binning功能的行业应用


工业相机的像素合并功能有几个场景的应用:


  1. 图像增强。像素合并可以通过减少噪声和提高信噪比来提高图像质量。


  1. 高分辨率成像。像素合并可以使相机通过合并多个像素的数据来产生高分辨率的图像。


  1. 弱光成像。像素合并可以通过合并多个像素的数据和增加整体信号来提高相机在低光环境下的灵敏度。


  1. 深度感知。像素合并可用于通过合并立体相机的视图来创建深度图。


  1. 超高速成像。像素合并可以使相机通过合并一组像素的数据并以高速度记录来捕捉超高速的图像。


总的来说,像素合并功能在许多对清晰度和精确度要求很高的工业成像应用中非常有用。

目录
相关文章
|
4月前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C#)
74 0
|
4月前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
49 0
|
4月前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用ForceIP强制修改网口IP功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用ForceIP强制修改网口IP功能(C#)
50 0
|
4月前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
61 0
|
4月前
|
存储 传感器 监控
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
98 0
|
4月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
155 3
|
4月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
171 3
|
27天前
|
存储 C#
揭秘C#.Net编程秘宝:结构体类型Struct,让你的数据结构秒变高效战斗机,编程界的新星就是你!
【8月更文挑战第4天】在C#编程中,结构体(`struct`)是一种整合多种数据类型的复合数据类型。与类不同,结构体是值类型,意味着数据被直接复制而非引用。这使其适合表示小型、固定的数据结构如点坐标。结构体默认私有成员且不可变,除非明确指定。通过`struct`关键字定义,可以包含字段、构造函数及方法。例如,定义一个表示二维点的结构体,并实现计算距离原点的方法。使用时如同普通类型,可通过实例化并调用其成员。设计时推荐保持结构体不可变以避免副作用,并注意装箱拆箱可能导致的性能影响。掌握结构体有助于构建高效的应用程序。
46 7
|
13天前
|
安全 C# 开发者
【C# 多线程编程陷阱揭秘】:小心!那些让你的程序瞬间崩溃的多线程数据同步异常问题,看完这篇你就能轻松应对!
【8月更文挑战第18天】多线程编程对现代软件开发至关重要,特别是在追求高性能和响应性方面。然而,它也带来了数据同步异常等挑战。本文通过一个简单的计数器示例展示了当多个线程无序地访问共享资源时可能出现的问题,并介绍了如何使用 `lock` 语句来确保线程安全。此外,还提到了其他同步工具如 `Monitor` 和 `Semaphore`,帮助开发者实现更高效的数据同步策略,以达到既保证数据一致性又维持良好性能的目标。
23 0
|
3月前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
30 1