Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置软件触发模式(C++)

简介: Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置软件触发模式(C++)

Baumer工业相机


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


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


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


Baumer工业相机NEOAPI SDK是用于Baumer工业相机的一款最新的软件开发工具包(SDK)。它为开发人员提供了一系列API和工具,用于与Baumer工业相机进行通信和控制,控制方式极为便捷类似Halcon的相机助手类控制方式。


Baumer工业相机NEOAPISDK和软触发模式的技术背景


Baumer工业相机的NEOAPI SDK是Baumer公司开发的针对其相机产品系列的一套软件开发工具包。该SDK提供了一组API,使开发人员可以编写专业应用程序,从而控制、捕获、处理和显示Baumer相机的图像和数据。BGAPI SDK支持多种编程语言,包括C++、C#、Visual Basic、LabVIEW、Matlab等,并提供了大量示例代码和文档,以帮助用户轻松上手,快速完成应用程序的开发。


NEOAPI SDK提供了丰富的功能,可以控制Baumer相机的所有参数,包括曝光时间、增益、白平衡、触发模式等,以及支持各种数据格式,例如Raw、BMP、JPG等,同时还提供了实时显示、数据采集、图像处理等功能,为开发人员提供了高度定制化的解决方案。此外,BGAPI SDK还支持多相机系统的开发,并可支持各种计算机操作系统,如Windows、Linux、Mac OS等。


软件触发模式是工业相机的一种常见工作模式,它依赖于软件信号来触发图像采集。当相机接收到外部的触发命令后,会开始按照约定时长进行曝光,并在曝光结束后输出一帧图像。这种模式具有稳定性高、灵活性强的特点,并且可以减少延迟,提高图像采集的效率和精度。总的来说,NEOAPISDK和软触发模式的结合,为Baumer工业相机的应用提供了强大的功能和优良的性能。


本文介绍的通过集成NEOAPI SDK设置软件触发模式的功能。


有关于如何使用Camera Explorer软件进行Baumer工业相机VCX系列相机硬件触发流程和设置


如下所示:


Baumer工业相机VCX系列相机硬件触发流程和设置


Baumer工业相机通过NEOAPI SDK设置软件触发模式功能


下面介绍在C++里Baumer工业相机如何通过NEOAPI SDK设置软件触发模式采集图像。


1.引用合适的类文件


代码如下(示例):

#include <stdio.h>
#include <iostream>
#include "bgapi2_genicam/bgapi2_genicam.hpp"
using namespace BGAPI2;
#include <iostream>
#include <iostream>
#include "neoapi.hpp"


2.通过NEOAPI SDK实现软件触发采集图像的功能


Baumer工业相机设置软件触发模式功能核心代码如下所示:

// 设置数字IO控制
camera.f().LineSelector.SetString("Line0");
camera.f().LineInverter.Set("false");
// 设置防抖信号参数
// make sure only intended signals trigger the camera (ignore jitters on the line)
camera.f().LineDebouncerHighTimeAbs.Set(1.0); // in µsec
camera.f().LineDebouncerLowTimeAbs.Set(1.0); // in µsec
// 设置触发采集控制
camera.f().TriggerMode.SetString("On");
camera.f().TriggerSource.SetString("Software");
camera.f().TriggerDelay.Set(0.0); // delay in µsec
// 执行软件触发采集命令
camera.f().TriggerSoftware.Execute();


Baumer工业相机循设置软件触发模式采集图像功能的优势


工业相机的触发模式具有明显的优势,尤其是软件触发模式。以下是其主要优势:


  1. 稳定性:软件触发模式允许相机在接收到外部触发命令后开始进行曝光,并在曝光结束后输出图像。这种方式能够避免因系统延迟或软件处理速度导致的不稳定现象,从而确保图像采集的稳定性。


  1. 灵活性:与硬件触发模式相比,软件触发模式提供了更大的灵活性。它可以更容易地实现对相机参数的调整和优化,以满足不同的应用需求。


  1. 同步性:软件触发模式可以与其他设备或系统更好地同步,从而实现更精确的图像采集和处理。


  1. 适应性:软件触发模式特别适用于动态检测场景,其中产品连续运动并可以提供触发信号。


  1. 减少延迟:由于软件触发模式直接通过软件信号控制图像采集,它可以避免因硬件延迟而导致的图像采集延迟。


总的来说,软件触发模式为工业相机提供了一个高效、稳定且灵活的图像采集方法,特别适用于需要高精度和高效率的应用场合。


Baumer工业相机设置软件触发模式采集图像功能的行业应用


工业相机设置软件触发模式采集图像功能在各个行业中都有广泛的应用。以下是一些典型的行业应用:


  1. 自动化检测:硬件触发模式可以用于生产线上的产品质量检测、缺陷检测和尺寸测量等应用,使图像采集与处理更加稳定和准确。


  1. 机器视觉系统:工业机器视觉系统的特点是提高生产的柔性和自动化程度,主要在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉。同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。


  1. 连续模式和同步模式:除了软件触发模式,工业相机还支持连续模式和同步模式。连续模式是相机自动地连续不断地按约定时长进行曝光,并连续不断地输出图像;同步模式则是多台相机之间或多台相机与其他设备之间,在收到同一触发命令后,按照约定时长进行同时曝光,严格同步。


  1. 灵活的图像采集模式:相机的图像采集模式分为内触发模式与外触发模式。其中内触发模式包含连续采集、单帧采集两种形式;外触发模式包含软件触发、硬件外触发。


总的来说,工业相机的软件触发模式以及其相关的工作模式为各行业提供了强大的功能和优良的性能,使得图像采集和处理更加灵活、高效和精确。

目录
相关文章
|
11月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
896 1
|
设计模式 中间件 程序员
【C/C++ 奇异递归模板模式 】C++中CRTP模式(Curiously Recurring Template Pattern)的艺术和科学
【C/C++ 奇异递归模板模式 】C++中CRTP模式(Curiously Recurring Template Pattern)的艺术和科学
669 3
|
算法 编译器 程序员
深入理解C++编译模式:了解Debug和Release的区别
深入理解C++编译模式:了解Debug和Release的区别
1756 3
|
设计模式 编译器 API
【C/C++ Pimpl模式】隐藏实现细节的高效方式 (Pimpl Idiom: An Efficient Way to Hide Implementation Details)
【C/C++ Pimpl模式】隐藏实现细节的高效方式 (Pimpl Idiom: An Efficient Way to Hide Implementation Details)
1180 1
|
消息中间件 存储 监控
【ZeroMQ的SUB视角】深入探讨订阅者模式、C++编程实践与底层机制
【ZeroMQ的SUB视角】深入探讨订阅者模式、C++编程实践与底层机制
1224 1
|
消息中间件 负载均衡 监控
【ZMQ PUB模式指南】深入探究ZeroMQ的PUB-SUB模式:C++编程实践、底层原理与最佳实践
【ZMQ PUB模式指南】深入探究ZeroMQ的PUB-SUB模式:C++编程实践、底层原理与最佳实践
3143 1
|
1月前
|
人工智能 机器人 编译器
c++模板初阶----函数模板与类模板
class 类模板名private://类内成员声明class Apublic:A(T val):a(val){}private:T a;return 0;运行结果:注意:类模板中的成员函数若是放在类外定义时,需要加模板参数列表。return 0;
43 0
|
1月前
|
存储 编译器 程序员
c++的类(附含explicit关键字,友元,内部类)
本文介绍了C++中类的核心概念与用法,涵盖封装、继承、多态三大特性。重点讲解了类的定义(`class`与`struct`)、访问限定符(`private`、`public`、`protected`)、类的作用域及成员函数的声明与定义分离。同时深入探讨了类的大小计算、`this`指针、默认成员函数(构造函数、析构函数、拷贝构造、赋值重载)以及运算符重载等内容。 文章还详细分析了`explicit`关键字的作用、静态成员(变量与函数)、友元(友元函数与友元类)的概念及其使用场景,并简要介绍了内部类的特性。
110 0
|
3月前
|
编译器 C++ 容器
【c++11】c++11新特性(上)(列表初始化、右值引用和移动语义、类的新默认成员函数、lambda表达式)
C++11为C++带来了革命性变化,引入了列表初始化、右值引用、移动语义、类的新默认成员函数和lambda表达式等特性。列表初始化统一了对象初始化方式,initializer_list简化了容器多元素初始化;右值引用和移动语义优化了资源管理,减少拷贝开销;类新增移动构造和移动赋值函数提升性能;lambda表达式提供匿名函数对象,增强代码简洁性和灵活性。这些特性共同推动了现代C++编程的发展,提升了开发效率与程序性能。
112 12
|
4月前
|
编译器 C++
类和对象(下)C++
本内容主要讲解C++中的初始化列表、类型转换、静态成员、友元、内部类、匿名对象及对象拷贝时的编译器优化。初始化列表用于成员变量定义初始化,尤其对引用、const及无默认构造函数的类类型变量至关重要。类型转换中,`explicit`可禁用隐式转换。静态成员属类而非对象,受访问限定符约束。内部类是独立类,可增强封装性。匿名对象生命周期短,常用于临时场景。编译器会优化对象拷贝以提高效率。最后,鼓励大家通过重复练习提升技能!