Baumer工业相机使用BGAPI SDK集成VCXG-124M/51M在C++相机初始化资源报错。

简介: Baumer工业相机使用BGAPI SDK集成VCXG-124M/51M在C++相机初始化资源报错。

项目场景:

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


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


特殊检测类项目,使用高速高稳定的Baumer工业相机作为相机主体,使用Baumer BGAPI SDK进行集成采集图片进行检测


相机型号为VCXG-124M/51M相机。


问题描述

C++使用Baumer BGAPI SDK中初始化资源代码:


// DECLARATIONS OF VARIABLES
    BGAPI2::SystemList *systemList = NULL;
    BGAPI2::System * pSystem = NULL;
    BGAPI2::String sSystemID;
    BGAPI2::InterfaceList *interfaceList = NULL;
    BGAPI2::Interface * pInterface = NULL;
    BGAPI2::String sInterfaceID;
    BGAPI2::DeviceList *deviceList = NULL;
    BGAPI2::Device * pDevice = NULL;
    BGAPI2::String sDeviceID;
    BGAPI2::DataStreamList *datastreamList = NULL;
    BGAPI2::DataStream * pDataStream = NULL;
    BGAPI2::String sDataStreamID;
    BGAPI2::BufferList *bufferList = NULL;
    BGAPI2::Buffer * pBuffer = NULL;
    BGAPI2::String sBufferID;
    int returncode = 0;
    std::cout << std::endl;
    std::cout << "###############################################################" << std::endl;
    std::cout << "# PROGRAMMER'S GUIDE Example 011_ImageCaptureMode_Handler.cpp #" << std::endl;
    std::cout << "###############################################################" << std::endl;
    std::cout << std::endl << std::endl;
    std::cout << "SYSTEM LIST" << std::endl;
    std::cout << "###########" << std::endl << std::endl;
    // COUNTING AVAILABLE SYSTEMS (TL producers)
    try {
        systemList = BGAPI2::SystemList::GetInstance();
        systemList->Refresh();
        std::cout << "5.1.2.  Detected systems:  " << systemList->size() << std::endl;
        // SYSTEM DEVICE INFORMATION
        for (BGAPI2::SystemList::iterator sysIterator = systemList->begin();
            sysIterator != systemList->end();
            sysIterator++) {
            std::cout << "  5.2.1.  System Name:     " << sysIterator->GetFileName() << std::endl;
            std::cout << "          System Type:     " << sysIterator->GetTLType() << std::endl;
            std::cout << "          System Version:  " << sysIterator->GetVersion() << std::endl;
            std::cout << "          System PathName: " << sysIterator->GetPathName() << std::endl << std::endl;
        }
    }
    catch (BGAPI2::Exceptions::IException& ex) {
        returncode = (returncode == 0) ? 1 : returncode;
        std::cout << "ExceptionType:    " << ex.GetType() << std::endl;
        std::cout << "ErrorDescription: " << ex.GetErrorDescription() << std::endl;
        std::cout << "in function:      " << ex.GetFunctionName() << std::endl;
    }

提示内存报错,如下所示  


提示错误:0x00007FFDAD724FD9(KernelBase.dll)(GigeDemo.exe中)处有未经处理的异常:0xC000041D:用户回调区 间遇到未经处理的异常


提示错误:0x00007FFDAD724FD9(KernelBase.dll)(GigeDemo.exe中)处有未经处理的异常:
0xC000041D:用户回调区 间遇到未经处理的异常

原因分析:

Baumer工业相机在最开启初始化时,出现报错,一般是环境问题,比如SDK未安装完成,缺少文件等等。


前面的问题反馈出来是未生成合适的BGapi System实例,从而导致后续相机操作无法执行。


解决方案:

该电脑编译器平台环境为X86,实际电脑为X64环境,且对于的dll文件也为64位,因此需要调整编译器设置环境,重新生成即可,需要设置X64重新生成即可正常运行。


注意:


在C++环境使用Baumer BGAPI SDK做开发时,需要注意对应的编译器平台X86或者X64的类型,尤其是环境的 兼容性,出现问题可以使用其它电脑做对照验证测试。


工业相机软件开发注意要点:

在使用工业相机SDK进行软件开发时,有几个方面需要注意。


1. 兼容性 - 确保相机SDK与您的操作系统、开发环境和您所使用的工业相机型号兼容。


2. 2.功能 - 检查摄像机SDK是否支持您的应用所需的功能,如图像采集、视频录制和图像处理。


3. API文档 - 彻底检查API文档,确保其清晰和全面,便于开发和故障排除。


4. 开发环境 - 确保你的软件开发环境被正确配置为能与相机SDK一起工作。


5. 性能 - 在处理大量图像数据时要考虑到相机SDK的性能。


6. 支持和社区资源 - 评估客户支持和社区资源的可用性,如论坛或用户组,以协助解决故障和开发问题。


7. 许可证和成本 - 审查相机SDK的许可证和成本,以确保它符合您的项目预算和要求。

目录
相关文章
|
2月前
|
存储 编译器 C++
【C++】深入探索类和对象:初始化列表及其static成员与友元(一)
【C++】深入探索类和对象:初始化列表及其static成员与友元
|
4月前
|
算法框架/工具 C++ Python
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
341 0
|
3月前
|
编译器 C++
C++ 类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。
81 30
|
2月前
|
存储 编译器 数据安全/隐私保护
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解2
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解
42 3
|
2月前
|
编译器 C++
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解1
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解
54 3
|
2月前
|
C++
【C++】深入探索类和对象:初始化列表及其static成员与友元(二)
【C++】深入探索类和对象:初始化列表及其static成员与友元
|
2月前
|
编译器 C++
【C++】深入探索类和对象:初始化列表及其static成员与友元(三)
【C++】深入探索类和对象:初始化列表及其static成员与友元
|
2月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
72 0
|
2月前
|
C++
C++构造函数初始化类对象
C++构造函数初始化类对象
26 0
|
4月前
|
Dart API 开发工具
Dart ffi 使用问题之Dart API要在C++中使用,该如何初始化
Dart ffi 使用问题之Dart API要在C++中使用,该如何初始化