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

news2025/2/25 5:09:56

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

  • Baumer工业相机
  • Baumer工业相机的图像剪切(ROI)功能的技术背景
    • CameraExplorer如何使用图像剪切(ROI)功能
    • 在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,并选择其中的Camera Features。

在这里插入图片描述

然后在软件左侧出现相机功能相关信息,如下所示:
在这里插入图片描述

通过开启Acquisition Frame Rate Enable功能可以使用设置相机的固定帧率功能,如下图所示:
在这里插入图片描述

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

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

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

//设置工业相机图像剪切ROI功能
void CGigeDemoDlg::OnBnClickedBtnsetroi()
{
	// 获取设置窗体中输入的ROI对应的长度和宽度
	CString strROIWIDTH,strROIHEIGHT;
	m_editWidth.GetWindowText(strROIWIDTH);
	m_editHEIGHT.GetWindowText(strROIHEIGHT);
	int nROIWIDTH = _wtol(strROIWIDTH);
	int nROIHEIGHT = _wtol(strROIHEIGHT);

	if(m_pDevice != NULL)
	{
		//执行停止相机采集命令
		m_pDevice->GetRemoteNode("AcquisitionStop")->Execute();

		//暂时关闭相机数据流
		for(BGAPI2::DataStreamList::iterator dsL = m_pDatastreamList->begin(); dsL != m_pDatastreamList->end();dsL++)
		{

			if(dsL->second->IsOpen())
				m_pDataStream->StopAcquisition();	
		}
		
		
		int CamWidth = (int)m_pDevice->GetRemoteNode("Width")->GetDouble();
		int CamHeight = (int)m_pDevice->GetRemoteNode("Height")->GetDouble();
				

		//设置相机ROI截切功能
		 if(!((CamWidth == nROIWIDTH) & (CamHeight = nROIHEIGHT)))
		 {
		 	m_pDevice->GetRemoteNode("Width")->SetDouble(nROIWIDTH);
		 	m_pDevice->GetRemoteNode("Height")->SetDouble(nROIHEIGHT);
		 }
			
		//重新开启相机数据流
		for(BGAPI2::DataStreamList::iterator dsL = m_pDatastreamList->begin(); dsL != m_pDatastreamList->end();dsL++)
		{		
			try 
			{
				if(!dsL->second->IsOpen())
					m_pDataStream->Open();	

				m_pDataStream->StartAcquisitionContinuous();
				
			}
			catch (BGAPI2::Exceptions::IException& ex) 
			{}
		}

		

	}
}

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/1037440.html

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

相关文章

急救车工业路由器应用提升急救效率:车联网、数据采集与远程诊疗

急救车作为医院里医疗急救过程中的重要组成部分,在智慧医疗物联网领域中急救车应用4G工业路由器实现网络部署与数据采集,通过工业4G路由器能够实时采集到病患的生理数据、救护现场音频与视频、GPS定位以及车辆运行状态等重要信息。这些数据将被传输到医疗…

【产品资料】产品经理面试问题(一)

今天和大家免费分享产品经理常见的面试题目,含回答思路分析和回答事例。 更多的产品文档、原型模板、视频教程等资源,请关注公众号:Axure高保真原型

6、SpringBoot_项目的打包与运行

七、SpringBoot项目的打包与运行 1.目前项目怎么运行的 通过浏览器访问idea 将jar部署到服务器 2.maven 打包项目 命令 mvn package使用命令后会得到如下的jar 3.程序运行 命令 java -jar 项目.jar启动如下 4.springboot打包需要插件 插件 <plugin><group…

梯度下降法

梯度下降法 对于一个二元一次函数 y ax b&#xff0c;我们只需要知道两个 (x&#xff0c;y) 点即可获取到 a、b 的值&#xff0c;我们称其为精确解&#xff0c;如下图&#xff1a; 但是如果该函数中存在已知分布的噪声&#xff0c;那么又该如何求解&#xff1a; 我们可以假…

如何修复wmvcore.dll缺失问题,wmvcore.dll下载修复方法分享

近年来&#xff0c;电脑使用的普及率越来越高&#xff0c;人们在日常生活中离不开电脑。然而&#xff0c;有时候我们可能会遇到一些问题&#xff0c;其中之一就是wmvcore.dll缺失的问题。wmvcore.dll是Windows平台上用于支持Windows Media Player的动态链接库文件&#xff0c;如…

蓝桥杯每日一题2023.9.24

九进制转十进制 - 蓝桥云课 (lanqiao.cn) 题目描述 分析 #include<bits/stdc.h> using namespace std; int main() {cout << 2 * 9 * 9 * 9 0 * 9 * 9 2 * 9 2;return 0; } 顺子日期 - 蓝桥云课 (lanqiao.cn) 题目描述 分析 全部枚举 #include<bits/s…

Vector Art - 矢量艺术

什么是矢量艺术&#xff1f; 矢量图形允许创意人员构建高质量的艺术作品&#xff0c;具有干净的线条和形状&#xff0c;可以缩放到任何大小。探索这种文件格式如何为各种规模的项目提供创造性的机会。 什么是矢量艺术作品? 矢量艺术是由矢量图形组成的艺术。这些图形是基于…

LeetCode 494.目标和 (动态规划 + 性能优化)二维数组 压缩成 一维数组

494. 目标和 - 力扣&#xff08;LeetCode&#xff09; 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2…

vue指令(代码部分二)

<template><view><view v-on:click"onClick">{{title}}</view><button click"clickNum">数值&#xff1a;{{num}}</button><view class"box" :style"{background:bgcolor}" click"clickB…

ROS 2官方文档(基于humble版本)学习笔记(三)

ROS 2官方文档&#xff08;基于humble版本&#xff09;学习笔记&#xff08;三&#xff09; 理解参数&#xff08;parameter&#xff09;ros2 param listros2 param getros2 param setros2 param dumpros2 param load在节点启动时加载参数文件 理解动作&#xff08;action&…

【python零基础入门学习】python进阶篇之时间表示方法和异常处理以及linux系统的os模块执行shell命令以及记账程序编写教学(一)

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

第1篇 目标检测概述 —(1)目标检测基础知识

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。目标检测是计算机视觉领域中的一项任务&#xff0c;旨在自动识别和定位图像或视频中的特定目标&#xff0c;目标可以是人、车辆、动物、物体等。目标检测的目标是从输入图像中确定目标的位置&#xff0c;并使用边界框将其标…

Docker 自动化部署(保姆级教程)

Docker 自动化部署 1. jenkins 介绍1.1 参考链接&#xff1a;1.2 jenkins 概述1.3 jenkins部署项目的流程 2. jenkins 安装2.1 基于docker 镜像2.2 启动 jenkins 后端服务2.3 登录 jenkins 服务后端 3. jenkins自动化部署开始3.1 下载需要的插件3.2 创建任务3.2.1 描述3.2.2 配…

Vue3+element-plus切换标签页时数据保留问题

记录一次切换标签页缓存失效问题&#xff0c;注册路由时name不一致可能会导致缓存失效

Visio——绘制倾斜线段

一、形状 -> 图表和数学图形 -> 多行 二、放置多行线&#xff0c;可以发现存在两个折点 三、选择多行线&#xff0c;右键选择删除点&#xff0c;即可得到倾斜线段

【python爬虫】爬虫所需要的爬虫代理ip是什么?

目录 前言 一、什么是爬虫代理 IP 二、代理 IP 的分类 1.透明代理 2.匿名代理 3.高匿代理 三、如何获取代理 IP 1.免费代理网站 2.付费代理服务 四、如何使用代理 IP 1.使用 requests 库 2.使用 scrapy 库 五、代理 IP 的注意事项 1.代理 IP 可能存在不稳定性 2…

Linux指令(ls、pwd、cd、touch、mkdir、rm)

whoami who pwd ls ls -l clearls指令 ls ls -l ls -a :显示当前目录下的隐藏文件&#xff08;隐藏文件以.开头&#xff09;ls -a -l 和 ls -l -a 和 ls -la 和 ls -al &#xff08;等价于ll&#xff09; pwd命令 显示用户当前所在的目录 cd指令 mkdir code &#xff08;创建…

《Python趣味工具》——ppt的操作(1)

前面我们学习了如何利用turtle模块制作emoji&#xff0c;今天来看看PPT的相关操作&#xff1a; 文章目录 一、PPT的基础结构&#xff1a;二、PPT的相关操作&#xff1a;1. 导入pptx模块2. ppt的基本操作&#xff1a; 三、总结&#xff1a;四、 完整源码&#xff1a; 小L想要把 …

Blender 学习笔记(二)之坐标

文章目录 归零世界坐标系与局部坐标系物体的编辑模式万向坐标系视图坐标轴游标坐标轴原点变换轴心点 归零 alt G 键 世界坐标系与局部坐标系 在blender 中的物体&#xff0c;默认情况下是世界坐标系&#xff0c;也就是全局坐标系 当你按G 键&#xff0c;再按一次x 键时&…

周赛364(模拟+贪心,枚举,单调栈+前后缀分解,枚举+DFS)

文章目录 周赛364[8048. 最大二进制奇数](https://leetcode.cn/problems/maximum-odd-binary-number/)贪心 模拟 [100049. 美丽塔 I](https://leetcode.cn/problems/beautiful-towers-i/)枚举 [100048. 美丽塔 II](https://leetcode.cn/problems/beautiful-towers-ii/)单调栈 …