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

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(感兴趣区域)功能具有显著的优势,包括。

  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的特定区域,使其成为各行业的宝贵工具。

相关推荐
好喜欢吃红柚子7 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python12 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
k093313 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯21 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue23 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
正义的彬彬侠24 分钟前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
plmm烟酒僧25 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Debroon33 分钟前
RuleAlign 规则对齐框架:将医生的诊断规则形式化并注入模型,无需额外人工标注的自动对齐方法
人工智能
EricWang135834 分钟前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
测试界的酸菜鱼36 分钟前
Python 大数据展示屏实例
大数据·开发语言·python