Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C语言)
- Baumer工业相机
- Baumer工业相机的图像剪切(ROI)功能的技术背景
-
- CameraExplorer如何使用图像剪切(ROI)功能
- [1.在BGAPI SDK引用合适的头文件](#1.在BGAPI SDK引用合适的头文件)
- [2.在BGAPI SDK里通过函数使用图像剪切(ROI)功能](#2.在BGAPI SDK里通过函数使用图像剪切(ROI)功能)
- [Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的优势](#Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的优势)
- [Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的行业应用](#Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的行业应用)
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)功能,如上图所示:
1.在BGAPI SDK引用合适的头文件
代码如下(示例):
c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "bgapi2_genicam/bgapi2_genicam.h"
2.在BGAPI SDK里通过函数使用图像剪切(ROI)功能
在相机连接后使用图像剪切(ROI)功能,C语言调用代码如下所示:
c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "bgapi2_genicam/bgapi2_genicam.h"
SystemList
Open a System
Get the InterfaceList and fill it Open an Interface
Get the DeviceList and fill it
Open a Device
if (BGAPI2_System_Open(pSystem) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
printf("停止相机流采集\n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "AcquisitionStop", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_Execute(pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
int CamWidth = (int)m_pDevice->GetRemoteNode("Width")->GetDouble();
int CamHeight = (int)m_pDevice->GetRemoteNode("Height")->GetDouble();
printf("获取当前图像Width参数 \n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "Width", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_GetDouble(pNode, &CamWidth ) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
printf("获取当前图像Height参数 \n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "Height", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_GetDouble(pNode, &CamHeight ) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
printf("当前图像Width参数为:" + CamWidth +" \n");
printf("当前图像Height参数为:"+CamHeight +" \n");
printf("设置相机ROI截切功能 \n");
f(!((CamWidth == nROIWIDTH) & (CamHeight = nROIHEIGHT)))
{
if (BGAPI2_Device_GetRemoteNode(pDevice, "Width", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_SetDouble(pNode,nROIWIDTH) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
printf("设置相机ROI参数当前Width为:"+nROIWIDTH+" \n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "Height", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_SetDouble(pNode,nROIHEIGHT) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
printf("设置相机ROI参数当前Height为:"+nROIHEIGHT+" \n");
}
printf("重新开启相机采集功能 \n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "AcquisitionStart", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_Execute(pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
printf("保存相机参数到UserSet1 \n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "UserSetDefault", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_SetString(pNode, "UserSet1") != BGAPI2_RESULT_SUCCESS) return
printf("执行UserSet1保存 \n");
if (BGAPI2_Device_GetRemoteNode(pDevice, "UserSetSave", &pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
if (BGAPI2_Node_Execute(pNode) != BGAPI2_RESULT_SUCCESS) return BGAPI2_RESULT_ERROR;
Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的优势
Baumer工业相机的ROI(感兴趣区域)功能具有显著的优势,包括。
-
提高精度:通过突出图像中的特定感兴趣区域,ROI功能可以使测量和分析更加精确和准确。
-
减少了处理时间。通过将处理能力集中在图像的特定区域,ROI功能减少了需要处理的数据量,从而使分析和处理时间更快。
-
提高图像质量。ROI功能可用于裁剪掉图像中不需要的区域,从而获得更高的分辨率和更好的图像质量。
-
增加灵活性。ROI功能允许用户实时定制感兴趣的区域,能够更有效地监测和分析感兴趣的特定区域。
-
提高动态范围。ROI功能还可用于提高图像的动态范围,因为它使用户能够调整图像内特定区域的曝光设置。
总的来说,工业相机的ROI功能可以在广泛的工业应用中显著提高成像和分析的准确性、速度和效率。
Baumer工业相机通过BGAPI SDK使用图像剪切(ROI)功能的行业应用
Baumer工业相机的ROI(感兴趣区域)功能可以有各种场景应用。下面是几个例子。
-
质量控制和检查。ROI功能可用于聚焦于产品或样品中的某一感兴趣的区域,并捕获高质量的图像进行分析。
-
机器视觉。在自动化制造过程中,ROI功能可以帮助识别生产线上的特定零件或部件,以便进行检查和分析。
-
监视和安全。投资回报率功能可用于放大监控视频画面中的特定区域,确保高清晰度地捕捉到任何可疑的活动。
-
科学研究。在生物技术或材料科学等领域,ROI功能可以帮助研究人员捕捉样品、细胞或材料的详细图像进行分析。
总的来说,ROI功能使工业相机能够捕捉和ROI的特定区域,使其成为各行业的宝贵工具。