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

news2024/12/23 7:14:24

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

  • Baumer工业相机
  • Baumer工业相机的图像剪切(ROI)功能的技术背景
    • CameraExplorer如何使用图像剪切(ROI)功能
    • 1.在BGAPI SDK引用合适的头文件
    • 2.在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引用合适的头文件

代码如下(示例):

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "bgapi2_genicam/bgapi2_genicam.h"

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

在相机连接后使用图像剪切(ROI)功能,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的特定区域,使其成为各行业的宝贵工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公司搬迁至外地:选择新办资质还是迁移资质?

当企业面临搬迁&#xff0c;尤其是跨区域搬迁时&#xff0c;资质管理成为企业运营策略中的一个关键议题。企业需要在新办资质和迁移资质之间做出选择&#xff0c;这关系到企业的合规性、市场竞争力和业务连续性。本文将探讨这两种选择的考量因素&#xff0c;以及如何根据企业的…

cityengine修改纹理创建模型

数据准备 1、建筑shp面数据 2、安装好cityengine软件 3、Arcgis(非必要) 效果 1、新建工程 路径不要放C盘下 2、复制规则文件和纹理 安装软件后,这些素材在电脑上能找到,默认位置是:C:\Users{计算机名}\Documents\CityEngine\Default Workspace\ESRI.lib,如果找不到…

售后质保卡小程序系统开发制作方案

售后质保卡小程序系统作为一种数字化解决方案&#xff0c;通过微信小程序&#xff0c;为顾客提供更加便捷、高效、环保的质保服务体验。售后质保卡系统是集质保信息查询、报修申请、服务进度跟踪、顾客反馈等功能于一体的质保卡小程序。 目标顾客 1. 终端顾客&#xff1a;直接…

昇思MindSpore AI框架MindFormers实践3:ChatGLM3-6B对一段文字进行提取

MindSpore和MindFormers安装参见&#xff1a;昇思AI框架实践1:安装MindSpoe和MindFormers_miniconda 安装mindspore-CSDN博客 使用了MindSpore2.2和MindFormers1.0 支持的模型&#xff1a; KeyError: "model must be in odict_keys([gpt2, gpt2_lora, gpt2_xl, gpt2_xl…

Linux:开源世界的璀璨明珠

一、Linux 概述 Linux 是一种自由和开放源代码的类 Unix 操作系统&#xff0c;诞生于 1991 年&#xff0c;由芬兰大学生 Linus Torvalds 开发。它的起源离不开 Unix 家族&#xff0c;1969 年肯・汤普森设计了早期 Unix 的源头&#xff0c;到 1973 年丹尼斯・里奇等人以 C 语言…

基于多种智能优化算法优化BP神经网络的数据回归预测

基于多种智能优化算法优化BP神经网络的数据回归预测&#xff0c;主要是指通过引入一些优化算法来改进传统的BP&#xff08;反向传播&#xff09;神经网络的训练过程&#xff0c;以提高其在回归预测任务中的性能。以下是这个过程的基本原理&#xff1a; 代码原理及流程 1. BP神…

Java的发展史与前景

&#x1f308;个人主页&#xff1a;Yui_ &#x1f308;Linux专栏&#xff1a;Linux &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;数据结构专栏&#xff1a;数据结构 &#x1f308;C专栏&#xff1a;C 文章目录 0. Java语言的发展史1.概述1.1 什么是Java1.2 …

k8s 中的 Service 简介

前言 k8s 集群中的每一个 Pod 都有自己的 IP 地址&#xff0c;那么是不是有 IP 了&#xff0c;访问起来就简单了呢&#xff0c;其实不然。 因为在 k8s 中 Pod 不是持久性的&#xff0c;摧毁重建将获得新的 IP&#xff0c;客户端通过会变更 IP 来访问显然不合理。另外 Pod 还经…

JavaScript --函数作用域变量的使用规则(局部和访问)

访问规则&#xff0c;就近原则 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"w…

江西金融发展集团通过ZStack Zaku容器云推进数字化转型

江西金融发展集团选择ZStack Zaku容器云平台作为其数字化转型的关键技术支撑&#xff0c;以期构建一个创新的金融服务平台&#xff0c;实现业务流程的自动化和智能化&#xff0c;同时推出符合市场需求的新型金融产品。 产融结合综合金融服务集团 江西金融发展集团股份有限公司…

延迟退休,程序员的你准备好了吗?

随着社会的进步&#xff0c;人们的寿命也逐渐延长&#xff0c;65岁被认为是人们应该退休的年龄。然而&#xff0c;对于那些已经经历了35岁危机的程序员来说&#xff0c;65岁依然让他们感觉年轻。 在这种情况下&#xff0c;该如何应对已板上钉钉的延迟退呢&#xff1f;本文将探…

OZON电子产品大幅增长,OZON跨境PS5销量激增

Top1 存储卡 Карта памяти Canvas Select Plus 128 ГБ 商品id&#xff1a;1548303593 月销量&#xff1a;2131 欢迎各位卖家朋友点击这里&#xff1a; &#x1f449; D。DDqbt。COm/74rD 免费体验 随着智能手机和平板电脑的普及&#xff0c;用户对于存储空…

C++模拟实现priority_queue(仿函数)

目录 优先级队列仿函数 优先级队列 优先队列是一种容器适配器&#xff0c;根据严格的弱排序标准&#xff0c;它的第一个元素总是它所包含的元素中最大的。类似于堆&#xff0c;在堆中可以随时插入元素&#xff0c;并且只能检索最大堆元素(优先队列中位于顶部的元素) 学习优先级…

Qt 学习第十天:标准对话框 页面布局

系统标准对话框 错误对话框 //错误对话框connect(createPro, &QAction::triggered, this, []{//参数1 父亲 参数2 标题 参数3 对话框内显示文本内容 。。。QMessageBox::critical(this, "报错!", "没加头文件!");}); 【运行结果】 信息对话框 co…

虚拟背景扣像SDK解决方案,电影级抠像技术

美摄科技&#xff0c;作为影像技术领域的领航者&#xff0c;凭借其革命性的虚拟背景抠像SDK解决方案&#xff0c;正以前所未有的方式&#xff0c;重新定义电影级背景抠像技术&#xff0c;让直播与视频制作迈入全新境界。 电影级抠像技术&#xff0c;重塑视觉盛宴 美摄科技的虚…

【运维】自动化运维工具,使用 Ansible 进行开发环境配置管理(本地/远程,brew/scoop/yum,docker/packer/openstack)

【运维】自动化运维工具&#xff0c;使用 Ansible 进行开发环境配置管理&#xff08;本地/远程&#xff0c;brew/scoop/yum&#xff0c;docker/packer/openstack&#xff09; 文章目录 1、什么是 Ansible&#xff0c;如何安装2、使用 ansible 自动配置本地开发环境&#xff08;…

水滴式多功能粉碎机:粉碎中草药的好帮手

水滴式中草药粉碎机&#xff0c;顾名思义&#xff0c;其设计灵感源自自然界中水滴的柔和与力量。它摒弃了传统粉碎机粗犷的粉碎方式&#xff0c;采用低速研磨技术&#xff0c;模拟水滴穿透岩石的细腻与持久&#xff0c;对中草药进行温和而深入的粉碎。这种技术不仅保留了药材中…

编写注册接口与登录认证

编写注册接口 在UserController添加方法 PostMapping("/login")public Result login(Pattern(regexp "^\\S{5,16}$") String username,Pattern(regexp "^\\S{5,16}$") String password){ // 根据用户名查询用户User loginUser userS…

锁表导致系统挂了,谨慎DDL操作

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、 高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

从关键新闻和最新技术看AI行业发展(第三十一期2024.8.26-9.8) |【WeThinkIn老实人报】

写在前面 【WeThinkIn老实人报】旨在挖掘AI行业的关键新闻和最新技术&#xff0c;同时Rocky会对其中的关键信息进行解读&#xff0c;力求让读者们能从容掌握AI科技潮流。 欢迎大家关注Rocky的公众号&#xff1a;WeThinkIn 欢迎大家关注Rocky的知乎&#xff1a;Rocky Ding AIGC算…