美文网首页
Euresys eGrabber采集卡第一个程序

Euresys eGrabber采集卡第一个程序

作者: 寽虎非虫003 | 来源:发表于2023-03-22 15:46 被阅读0次

安装

基本上按照安装包里面的INSTALL文件的说明安装就行,他说你缺啥你就补充啥,基本上就可以了,按照文件描述的的流程一步步执行就基本ok,我安装的文件包名为egrabber-linux-x86_64-22.1.0.1
然后我的一点基本的安装流程如下:
Memento在官方文件里面有基本描述安装方法,可装可不装。

sudo apt install libsdl1.2debian libtinfo5
sudo apt install apt-file
sudo apt update
sudo ./install.sh -m path/to/coaxlink.ko
. /opt/euresys/egrabber/shell/setup_gentl_paths.sh
export GENICAM_GENTL64_PATH=/opt/euresys/egrabber/lib/x86_64[:...]
export EURESYS_COAXLINK_GENTL64_CTI=/opt/euresys/egrabber/lib/x86_64/coaxlink.cti
export EURESYS_EGRABBER_LIB64=/opt/euresys/egrabber/lib/x86_64
export EURESYS_DEFAULT_GENTL_PRODUCER=coaxlink

最后,重启或者注销。

第一个程序:读取基本的采集卡和相机信息

EGenTLTest.cpp

#include <iostream>
#include <EGenTL.h>
// 1
void listCards()
{
    Euresys::EGenTL gentl;
    GenTL::TL_HANDLE tl = gentl.tlOpen();
    uint32_t numCards = gentl.tlGetNumInterfaces(tl);
    for (uint32_t n = 0; n < numCards; ++n)
    {
        std::string id = gentl.tlGetInterfaceID(tl, n);
        std::cout << "[" << n << "] " << id << std::endl;
    }
}


int main()
{
    try
    {
        listCards();
    }
    catch (const std::exception &e)
    {
        std::cout << "error: " << e.what() << std::endl;
    }
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.1)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -mavx2")

#
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/out/bin)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/out/lib)

project(EuresysTest VERSION 0.0.1
    LANGUAGES CXX)

set(INC_DIRS "")
set(LINK_DIRS "")

list(APPEND INC_DIRS "/opt/euresys/egrabber/include")
list(APPEND LINK_DIRS "/opt/euresys/egrabber/lib/x86_64")

include_directories(${INC_DIRS})
link_directories(${LINK_DIRS})


add_executable(EGenTLTest
    EGenTLTest.cpp)

target_link_libraries(EGenTLTest ${CMAKE_DL_LIBS})

编译之后直接跑


编译和运行

成功跑出了我的采集卡信息,说明我的驱动安装,以及代码编写都基本通过。

相关文章

网友评论

      本文标题:Euresys eGrabber采集卡第一个程序

      本文链接:https://www.haomeiwen.com/subject/wlfbrdtx.html