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,并选择其中的Camera Features。

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

通过开启Acquisition Frame Rate Enable功能可以使用设置相机的固定帧率功能,如下图所示:

通过设置当前固定帧率为5,则此时相机的帧率为5.

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

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

csharp 复制代码
//设置工业相机图像剪切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功能可以使测量和分析更加精确和准确。

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
deng-c-f10 小时前
C/C++内置库函数(3):future、promise的用法
c语言·开发语言·c++
2501_9216494910 小时前
亚太股票数据API:日股、韩股、新加坡股票、印尼股票市场实时行情,实时数据API-python
开发语言·后端·python·websocket·金融
chaodaibing10 小时前
【Java】一个批量更新插入数据到MySQL的工具类
java·开发语言·mysql
在坚持一下我可没意见10 小时前
Spring 后端安全双剑(上篇):JWT 无状态认证 + 密码加盐加密实战
java·服务器·开发语言·spring boot·后端·安全·spring
乾元10 小时前
从命令行到自动诊断:构建 AI 驱动的故障树与交互式排障机器人引言
运维·开发语言·网络·人工智能·华为·自动化
deng-c-f10 小时前
C/C++内置库函数(6):C++中类什么时候使用静态变量
开发语言·c++
2301_7890156210 小时前
C++:模板进阶
c语言·开发语言·汇编·c++
互亿无线明明10 小时前
在 Go 项目中集成国际短信能力:从接口调试到生产环境的最佳实践
开发语言·windows·git·后端·golang·pycharm·eclipse
噔噔噔噔@10 小时前
详细介绍Python+Pytest+BDD+Playwright,用FSM打造高效测试框架
开发语言·python·pytest
海上彼尚10 小时前
Go之路 - 5.go的流程控制
开发语言·后端·golang