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的许可证和成本,以确保它符合您的项目预算和要求。

目录
相关文章
|
1月前
|
安全 程序员 编译器
C++中的RAII(资源获取即初始化)与智能指针
C++中的RAII(资源获取即初始化)与智能指针
21 0
|
3月前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Force IP强制修改网口IP功能(C++)
29 0
|
3月前
|
编解码 监控 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用Binning像素合并功能(C++)
49 0
|
3月前
|
监控 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取每张图像的微秒时间和FrameID功能(C++)
33 0
|
1月前
|
算法 安全 Unix
【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
30 0
|
19天前
|
消息中间件 Java Kafka
Springboot集成高低版本kafka
Springboot集成高低版本kafka
|
25天前
|
NoSQL Java Redis
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
285 0
|
30天前
|
NoSQL Java Redis
SpringBoot集成Redis
SpringBoot集成Redis
427 0
|
1月前
|
NoSQL Java Redis
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
272 1
|
1月前
|
XML Java 关系型数据库
【SpringBoot系列】SpringBoot集成Fast Mybatis
【SpringBoot系列】SpringBoot集成Fast Mybatis