Baumer工业相机堡盟工业相机如何使用新版本NEOAPI SDK控制相机数据流的开启和关闭(C++)

news2024/11/8 13:49:15

Baumer工业相机堡盟工业相机如何使用新版本NEOAPI SDK控制相机数据流的开启和关闭(C++)

  • Baumer工业相机
  • Baumer工业相机NEOAPI SDK的技术背景
  • Baumer工业相机使用NEOAPISDK控制相机数据流的方式
    • 1.引用合适的类文件
    • 2.使用NEOAPISDK控制相机数据流的方式
    • 2.使用NEOAPISDK控制相机数据流的演示
      • 1.数据流开启后相机将会进行持续的采图,FrameID将会持续增长
      • 2.数据流关闭后相机将会另一组数据流的采集,FrameID从零开始
  • Baumer工业相机使用NEOAPISDK控制相机数据流的优势
  • Baumer工业相机使用NEOAPISDK控制相机数据流的行业应用

Baumer工业相机

Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。

Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩展性等特点。

Baumer工业相机由于其性能和质量的优越和稳定,常用于高速同步采集领域,通常使用各种图像算法来提高其捕获的图像的质量。

Baumer工业相机NEOAPI SDK的技术背景

Baumer NEOAPI(Native Ethernet Camera API)是为与Baumer工业相机进行交互和控制而设计的API。它是一个易于使用、支持高性能的工具,允许开发人员能在各种操作系统和平台下无缝集成Baumer相机。

Baumer NEOAPI的技术特点:

设备发现与配置:NEOAPI允许自动发现并连接到设备,同时提供了用于配置相机设置(例如分辨率、曝光时间和增益)的API。

实时视频流处理:通过NEOAPI,开发者可以轻松获取实时图像或视频流。高性能的数据传输特性确保实时的画面捕捉和低延迟,适用于各种应用场景。

图像处理与分析:NEOAPI为开发者提供了丰富的功能和选项,以针对特定的应用需求实现图像预处理、图像增强和特征提取等功能。

兼容性和可扩展性:NEOAPI在各种操作系统(如Windows、Linux)和平台上具有很高的兼容性。它可以与许多流行的图像处理库(如OpenCV)和机器视觉软件(如MVTec HALCON)相集成。

易用性和丰富的资源:NEOAPI提供了清晰明了的接口,使得开发者易于上手。另外,还提供了详细的接口文档和示例代码,帮助开发者快速开始开发项目。

Baumer工业相机NEOAPI是一个功能强大、易于使用、跨平台开发的API。借助NEOAPI,工程师能够充分利用Baumer相机的高性能技术,为工业自动化应用带来优质的视觉解决方案。

本文介绍的使用NEOAPISDK控制相机数据流的方式可以相机在需要工作的时候进行工作、不需要工作时则停止工作,可以使得相机在低功耗下运行,不仅可以节能还可以延长工业相机的使用寿命。

Baumer工业相机使用NEOAPISDK控制相机数据流的方式

下面介绍在C++里Baumer工业相机如何使用NEOAPISDK来控制相机数据流的方式

1.引用合适的类文件

代码如下(示例):

#include <opencv2/highgui.hpp>
#include <stdio.h>
#include <iostream>
#include "neoapi/neoapi.hpp"

2.使用NEOAPISDK控制相机数据流的方式

核心代码如下所示:

//停止数据流,相机重新开始
private void StopStream_Click()
{
try
{
 	NeoAPI::Cam camera = NeoAPI::Cam();
    camera.Connect();
    camera.f().ExposureTime.Set(10000);
    if (camera != null)
    {
        if (camera.IsConnected())
        {
        	NeoAPI::CamInfoList& infolist = NeoAPI::CamInfoList::Get();  // Get the info list
            NeoAPI::NeoString cameraname ;
            NeoAPI::NeoString camid ;
            for (NeoAPI::CamInfo info : infolist)
			{
    			cameraname = info.GetModelName();
   				camid = info.GetSerialNumber();
			}           
			
}
            if (camera.f().TriggerMode!=  NeoAPI::TriggerMode::On)
            {
             	// 设置相机为触发模式
                camera.f().TriggerMode=  NeoAPI::TriggerMode::On;               
                OnNotifyShowRecieveMsg(cameraname + ":相机设置为触发模式");
                OnNotifyShowRecieveMsg(cameraname + ":相机触发模式切换导致数据流停止");
            }
            else
            {
                camera.f().TriggerMode = NeoAPI::TriggerMode::Off;                // 设置相机为自由采集模式
                OnNotifyShowRecieveMsg(cameraname + ":相机设置为自由采集模式");
                OnNotifyShowRecieveMsg(cameraname + ":相机触发模式切换导致数据流停止");
                ConnectCamera.Enabled = false; StopGrabImage.Enabled = true; buttonSwTrigger.Enabled = false;  //按钮逻辑性防呆


            }
            if (camera.IsConnected()) 
            {
    			camera.f().TriggerMode = NeoAPI::TriggerMode::On; // switch camera to trigger mode
    			auto f = camera.f().TriggerSoftware;
    			f.Execute();                                    // execute the software trigger
			}
                                            
                        
        }
    }
}
catch (Exception ex1)
{
    AfxMessageBox.Show(ex1.Message);
}
}


    

2.使用NEOAPISDK控制相机数据流的演示

1.数据流开启后相机将会进行持续的采图,FrameID将会持续增长

如下图所示:
在这里插入图片描述
此时的暂停指令只能使得相机的采图停止,但是数据流不会关闭清空

2.数据流关闭后相机将会另一组数据流的采集,FrameID从零开始

如下图所示:
在这里插入图片描述
从上面的测试验证,可以看出相机数据流停止后,再重新连接相机后,相机的FrameID从0开始重新计数,这意味着相机相当于重新开始工作。

Baumer工业相机使用NEOAPISDK控制相机数据流的优势

控制相机数据流的开启和关闭可以带来以下好处:

减少数据传输流量:在一些应用场景下,相机的数据量可能会非常大,而且很多数据并不是每次都需要,通过控制打开和关闭数据量,可以减少数据传输流量,降低系统负载,并且可以节省存储空间。

减少数据处理时间:通过控制数据流的开启和关闭来限制相机发出的数据量,可以减少系统数据的时间,提高整个系统的运行效率。

防止数据丢失:对于一些高要求的应用,如智能检测系统或者安防系统等,每一张图片都非常重要,通过控制数据流可以缓解相机传输数据期间可能遇到的网络或者系统问题,如数据丢失等问题。

综上所述,通过控制相机数据流的开启和关闭,可以提高整个系统的效率和可靠性,并且能够更方便地处理和管理大量数据,使其更好地满足特定应用的需求。

Baumer工业相机使用NEOAPISDK控制相机数据流的行业应用

工业相机SDK控制相机数据量的开启和关闭的行业应用有很多,包括:

工业自动化:在工业自动化领域中,相机数据量往往非常大。通过使用SDK控制相机数据量的开启和关闭,可以有效降低数据传输和处理的复杂度和时间,提高生产线的效率和稳定性。

智能制造:在智能制造领域中,相机常用于检测和识别产品,例如质检和排零工作。使用SDK控制相机数据量的开启和关闭可以快速过滤和处理大量数据,提高检测和识别的速度和准确性。

机器视觉:在机器视觉领域中,相机常用于捕捉和处理图像,以支持各种应用,如自动驾驶、智能交通、安防监控等。控制相机数据量的开启和关闭可以帮助系统处理大量数据,以支持各种应用场景。

医疗保健:在医疗保健领域中,相机被广泛应用于影像学和诊断工作。使用SDK控制相机数据量的开启和关闭可以帮助减轻系统压力,提高诊断的准确性和速度。

科学研究:在科学研究领域中,相机常用于捕捉各种样本和实验数据展示。通过使用SDK控制相机数据量的开启和关闭,可以提高数据收集和处理的效率和准确性,以支持各种科学研究项目。

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

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

相关文章

Xshell 连接虚拟机Ubuntu系统失败解决方案

背景知识&#xff1a; Xshell 是一个强大的安全终端模拟软件&#xff0c;可以进行远程登录&#xff0c;它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。 xshell通过ip连接&#xff0c;所以需要知道虚拟机的IP地址 使用XShell的主要目的是在Windows环境下登…

leetcode111. 二叉树的最小深度(java)

二叉树的最小深度 leetcode111. 二叉树的最小深度题目描述 DFS 深度优先遍历解题思路代码演示 BFS 广度优先遍历解题思路代码演示 往期经典 leetcode111. 二叉树的最小深度 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problem…

基于立创EDA的原理图设计

目录 学习目标 一、开发中原理图的作用 1.1 原理图 1.2 产品开发原理图设计阶段 1.3 原理图中的具体工作内容 二、 立创EDA软件使用基础 2.1 立创EDA电路设计软件 2.2 新建工程 2.3 设计元件原理图封装 三、项目实战&#xff08;单片机最小系统&#xff09; 学习目标…

Kaggle 比赛总结:BirdCLEF 2023

赛题名称&#xff1a;BirdCLEF 2023赛题任务&#xff1a;识别音景中的鸟叫声赛题类型&#xff1a;语音识别 https://www.kaggle.com/competitions/birdclef-2023文章目录 一、比赛背景二、比赛任务三、评价方法四、优胜方案4.1 第一名4.2 第二名4.3 第三名4.4 第四名4.5 第五名…

SpringCloud Alibaba入门2之用户子模块开发

在上一章的基础上进行子模块的开发SpringCloud Alibaba入门之创建多模块工程_qinxun2008081的博客-CSDN博客 一、引入SpringBoot 我们在父项目统一管理引入的jar包的版本。我们采用父项目中以depencyMangement方式引入spring-boot&#xff0c;子项目依赖parent父配置即可。 &…

CTFshow-pwn入门-前置基础pwn29-pwn31

什么是PIE 由于ASLR是一种操作系统层面的技术&#xff0c;而二进制程序本身是不支持随机化加载的&#xff0c;便出现了一些绕过方法&#xff0c;例如ret2plt、GOT劫持、地址爆破等。于是&#xff0c;人们于2003年引入了位置无关可执行文件&#xff08;Position-Independent Ex…

24. Vue防抖,禁止double click

Vue 防抖 如果按钮不做防抖限制&#xff0c;用户手滑或者其他场景大概率会出现重复调用接口的情况&#xff0c;比如编辑角色时&#xff0c;多次点击submit&#xff0c;会出现非预期请求。 为避免重复点击问题&#xff0c;可以加一个自定义组件将按钮禁用一段时间。 监听click时…

详解Java锁对象

1、Synchronized 1.1、synchronized特性 1、互斥 synchronized会起到互斥效果&#xff0c;某个线程执行到某个对象的synchronized中时&#xff0c;其他线程如果也执行到同一个对象synchronized就会阻塞等待。 *进入synchronized修饰的代码块&#xff0c;就相当于加锁。 *退…

10.安装dashboard

有了之前我们部署的 keystone 、 glance 、 nova 、 neutron 服务之后&#xff0c;我们就可以启动云主机了&#xff0c;但是如果只是使用命令来操作OpenStack 的话非常不方便&#xff0c;我们使用OpenStack 搭建云平台就是为了把底层所有资源整合在一起&#xff0c;然后以一种方…

html5前端学习2

一篇思维题题解&#xff1a; 第五周任务 [Cloned] - Virtual Judge (vjudge.net) http://t.csdn.cn/SIHdM 快捷键&#xff1a; CtrlAltDown 向下选取 CtrlAltUp 向上选取&#xff08;会出现多个光标&#xff0c;可以同时输入&#xff09; CtrlEnter …

linux 内核资源配置--cgroups详解以及在docker中的应用

一、Cgroup 概述 1.1、cgroups 是什么 Linux cgroup &#xff08;Control Groups&#xff09;是 Linux 内核提供的一种机制&#xff0c;用于限制进程组使用的资源&#xff08;如 CPU、内存、磁盘 I/O 等&#xff09;。通过将进程组划分为层次结构&#xff0c;并将资源限制应用…

【操作系统】2、进程与线程

【重要考点】 1. 进程与线程 进程与线程的基本概念 进程与线程的状态 转换 ——五态图&#xff0c;七态图 线程的实现&#xff1a; 内核级 用户级 进程与线程的组织和控制 进程间通信IPC&#xff1a; 共享内存、消息传递、管道 2.CPU调度与上下文切换 调度的基本概念 调度的实…

39.SpringCloud—配置管理nacos、远程调用Feign、服务网关Gateway

目录 一、SpringCloud。 &#xff08;1&#xff09;Nacos配置管理。 &#xff08;1.1&#xff09;统一配置管理。 &#xff08;1.2&#xff09;配置热更新&#xff08;自动更新&#xff0c;不需要重启服务&#xff09;。 &#xff08;1.3&#xff09;多环境配置共享。 &a…

【C++篇】初识C++

友情链接&#xff1a;C/C系列系统学习目录 知识点内容正确性以C Primer&#xff08;中文版第五版&#xff09;、C Primer Plus&#xff08;中文版第六版&#xff09;为标准&#xff0c;同时参考其它各类书籍、优质文章等&#xff0c;总结归纳出个人认为较有逻辑的整体框架&…

E. Tracking Segments - 二分+前缀和

分析&#xff1a; 记录所有区间和给定的每一次的询问&#xff0c;二分询问的最小满足条件&#xff0c;可以通过前缀和来计算区间内有几个1。 代码&#xff1a; #include <bits/stdc.h>#define x first #define y secondusing namespace std;typedef long long ll; type…

​面试官疯了:while(true)和for(;;)哪个性能好?

△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 427 篇原创分享 作者 l Hollis 来源 l Hollis&#xff08;ID&#xff1a;hollischuang&#xff09; while(true)和for(;;)都是做无限循环的代码&#xff0c;他俩有啥区别呢&#xff1f; 我承认这个问题有点无聊&#…

四、Docker镜像

学习参考&#xff1a;尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 目录 前言一、Docker镜像1.1 概念1.2 UnionFS&#xff08;联合文件系统&#xff09;1.3 Docker镜像加载原理1.4 重点理解 二、docker commit 命令2.1 是什么&#xff1f;2.2 命令…

走进人工智能|机器学习 解码未来的科技革命

前言: 机器学习的发展为我们提供了更智能、高效和便捷的科技产品和服务&#xff0c;可以改善我们的生活和工作方式。 文章目录 序言背景解码未来的科技革命技术支持应用领域程序员如何学总结 序言 机器学习是一种人工智能领域的技术&#xff0c;它让计算机通过数据自动地学习和…

folium离线地图使用

几点说明&#xff1a; 1. 代码亲测有效&#xff08;效果见文末图&#xff09; 2. 离线使用&#xff0c;需要预先下载png格式的离线地图&#xff0c;这里以OpenStreetMap为例。 3. 离线地图下载工具&#xff1a;Offline Map Maker https://www.allmapsoft.com/omm/ 4. foliu…

赋予女性力量:在 Web3 和元宇宙中释放新的机会

Web3 和元宇宙的出现引发了数字领域的革命&#xff0c;为全世界的用户带来了更多可能性。这一转变的其中一个重要方面是赋予女性权力&#xff0c;因为她们更踊跃参与元宇宙活动&#xff0c;并利用 Web3平台挑战传统边界。 The Sandbox 非常自豪能够开放、具包容性地为 womenint…