Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#)

简介: Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#)

Baumer工业相机


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


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


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


Baumer工业相机堡盟相机中ROI功能是一种可以直接设置在图像芯片中进行区域设置感兴趣的区域的功能,然后在相机内部对图像进行部分扫描的剪切然后再传输到处理器中,可以在一定程度上提供工业相机的的采集帧率。


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


Baumer工业相机的图像剪切(ROI)功能的技术背景


Baumer工业相机中的ROI(感兴趣区域)功能允许用户选择图像中他们想重点分析或处理的特定部分。这可以提高图像处理系统的效率,因为它可以排除多余的或不必要的数据。


ROI功能的工作原理是在较大的图像框架内选择一个矩形区域。然后相机只对这个较小的区域应用所有后续的图像处理算法。这可以提高图像分析的速度和准确性,因为它减少了需要处理的数据量。


总的来说,Baumer工业相机的ROI功能可以减少处理时间,提高图像分析的准确性,使其成为各种工业应用中的有用工具。


CameraExplorer如何使用图像剪切(ROI)功能


Baumer工业相机 的相机软件Camera Explorer可以可视化便捷地进行使用图像剪切(ROI)功能


首先,双击进入相机界面


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


然后在软件右侧出现相机功能相关信息,如下所示:


通过设置图上的Width和Height可以使用设置相机的图像剪切(ROI)功能,如下图所示:


通过设置当前图像Height为199,则此时相机的图像执行了图像剪切(ROI)功能,如上图所示:


在BGAPI SDK里通过函数使用图像剪切(ROI)功能


在相机连接后使用图像剪切(ROI)功能,C#调用代码如下所示:

//设置工业相机图像剪切ROI功能
private void buttonRoiSet_Click(object sender, EventArgs e)
{
    try
    {
        double ROIWidth = (double)numericUpDown5.Value;
        double ROIHeight = (double)numericUpDown7.Value;
        if (pDevice != null)
        {
            double widthin = (double)pDevice.RemoteNodeList["Width"].Value;//获取相机ROI中当前图像Width尺寸
            double heightin = (double)pDevice.RemoteNodeList["Height"].Value;//获取相机ROI中当前图像Height尺寸
            if (ROIWidth != widthin | ROIHeight != heightin)
            {
                pDevice.RemoteNodeList["AcquisitionStop"].Execute(); //相机停止采集
                BGAPI2.DataStreamList dsList = pDevice.DataStreams;  //获取相机数据流
                int count1 = dsList.Count;                           //获取相机数据流数量
                foreach (KeyValuePair<string, DataStream> ds_pair in dsList)
                {
                    BGAPI2.DataStream CurDataStream = ds_pair.Value;
                    CurDataStream.StopAcquisition();                  //停止相机的每个数据流的采集
                }
                //Width最小值64,单次增加为32,不满足这种设置逻辑则会报错
                if (pDevice.RemoteNodeList["Width"].IsWriteable == true)  //确认相机ROI功能的Width参数是否可写入
                {                          
                    if (ROIWidth != widthin)                              //确认Width是否需要修改(与已存Width是否一致)
                        pDevice.RemoteNodeList["Width"].Value = ROIWidth; //修改Width尺寸
                }
                //Height最小值1,单次增加为1,不满足这种设置逻辑则会报错
                if (pDevice.RemoteNodeList["Height"].IsWriteable == true)  //确认相机ROI功能的Height参数是否可写入
                {
                    if (ROIHeight != heightin)                             //确认Height是否需要修改(与已存Height是否一致)
                        pDevice.RemoteNodeList["Height"].Value = ROIHeight;//修改Height尺寸
                }
                foreach (KeyValuePair<string, DataStream> ds_pair in dsList)
                {
                    BGAPI2.DataStream CurDataStream = ds_pair.Value;
                    CurDataStream.StartAcquisition();                       //重新开启相机的每个数据流的采集
                }
                OnNotifyShowRecieveMsg("Cam" + camSelector + "ROI修改成功:Width:" + ROIWidth + " Height:" + ROIHeight);
            }
            else
            {
                OnNotifyShowRecieveMsg("Cam" + camSelector + "ROI参数无变化:Width " + ROIWidth + " Height:" + ROIHeight);
            }
        }
    }
    catch (Exception ex1)
    {
        OnNotifyShowRecieveMsg(ex1.Message);
    }
}


Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的优势


Baumer工业相机的ROI(感兴趣区域)功能具有显著的优势,包括


  1. 提高精度:通过突出图像中的特定感兴趣区域,ROI功能可以使测量和分析更加精确和准确。


  1. 减少了处理时间。通过将处理能力集中在图像的特定区域,ROI功能减少了需要处理的数据量,从而使分析和处理时间更快。


  1. 提高图像质量。ROI功能可用于裁剪掉图像中不需要的区域,从而获得更高的分辨率和更好的图像质量。


  1. 增加灵活性。ROI功能允许用户实时定制感兴趣的区域,能够更有效地监测和分析感兴趣的特定区域。


  1. 提高动态范围。ROI功能还可用于提高图像的动态范围,因为它使用户能够调整图像内特定区域的曝光设置。


总的来说,工业相机的ROI功能可以在广泛的工业应用中显著提高成像和分析的准确性、速度和效率。


Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的行业应用


Baumer工业相机的ROI(感兴趣区域)功能可以有各种场景应用。下面是几个例子。


  1. 质量控制和检查。ROI功能可用于聚焦于产品或样品中的某一感兴趣的区域,并捕获高质量的图像进行分析。


  1. 机器视觉。在自动化制造过程中,ROI功能可以帮助识别生产线上的特定零件或部件,以便进行检查和分析。


  1. 监视和安全。投资回报率功能可用于放大监控视频画面中的特定区域,确保高清晰度地捕捉到任何可疑的活动。


  1. 科学研究。在生物技术或材料科学等领域,ROI功能可以帮助研究人员捕捉样品、细胞或材料的详细图像进行分析。


总的来说,ROI功能使工业相机能够捕捉和ROI的特定区域,使其成为各行业的宝贵工具。


目录
相关文章
|
5天前
|
C#
C# DEV 关于设置gridview 指定单元格字体为红色
C# DEV 关于设置gridview 指定单元格字体为红色
|
5天前
|
C#
C# DEV TextEdit 设置文本框只能输入数字(整数)
C# DEV TextEdit 设置文本框只能输入数字(整数)
|
5天前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C#)
56 0
|
5天前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
33 0
|
5天前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用ForceIP强制修改网口IP功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用ForceIP强制修改网口IP功能(C#)
32 0
|
5天前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
36 0
|
5天前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
12 1
|
5天前
|
设计模式 C#
36.c#:如何设置MDL窗口
36.c#:如何设置MDL窗口
18 1
|
5天前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
5天前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。