关于通用相机库

embedded/2024/12/21 21:24:58/

1.背景

之前以为既然工业相机(usb3_vison,gige)使用了同样的通讯标准,那应该可以使用同样的sdk。但是事实上,并不行,不同厂家的同样通讯标准的相机,并不通用,比如,我想用Basler的Pylon打开海康威视的相机,打不开。
在这里插入图片描述

2.别人是如何实现通用库

在github看到了一个库:【Harvesters】
在这里插入图片描述根据它的资料介绍,貌似可以支持好多相机
【GenTL Producers】
在这里插入图片描述但是,为啥会涉及各个相机的SDK?然后再翻一下它的资料
【I pointed out a CTI file but Harvester says the image doesn’t exist (Part 2)】
在这里插入图片描述也就是说,本质上,这个GenTL producer (.cti)文件,是个提供了GenICam Transport Layer(GenTL)接口的动态库文件,但是,这个动态库文件是依赖厂家自身的sdk的。因此,还是得在对应的系统中安装对应厂家的sdk。而且,既然是动态库,那么,在不同的平台(Windows、Linux)的cti文件,哪怕是同一个厂家的文件也必定是不通用的了。

3.*.cti文件本质上是个动态库的证明

我这里有个海康的cti文件,然后用vs自带的动态库函数查看器dumpbin.exe看看
在这里插入图片描述

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x64\dumpbin.exe" /exports MvProducerU3V.cti

可以看到一些GenTL函数:
在这里插入图片描述

总结

难道说,这个GenICam协议,是软件层的协议,而不是通讯链路层的协议?
后面继续对比一下【Aravis】 、【Harvesters】这两个库,弄懂了他们的区别,应该就知道GenICam真正是个什么东西。
就目前来说,还是Aravis比较适合我。


http://www.ppmy.cn/embedded/15137.html

相关文章

Web集群_02

Web集群_01 Keepalived 概述 Keepalived实现了高可用集群 Keepalived最初是为LVS设计 , 专门监控各种服务器节点的状态 Keepalived 后加入了 VRRP 功能 , 防止单点故障 VRRP ( 虚拟冗余路由协议 ) VRRP能在不改变网组的情况下 , 将多台路由器虚拟成一个虚拟路由器 , 通过配…

C语言:贪吃蛇游戏(万字解读超详细)

目录 前言 控制台的修改 修改默认终端程序 修改控制台窗口大小 system函数 修改控制台窗口名字 隐藏控制台光标 GetStdHandle函数 GetConsoleCursorInfo函数 SetConsoleCursorInfo函数 测试代码 设置光标位置 COORD自定义类型 SetConsoleCursorPosition函数 按键…

前端工程化01-复习jQuery当中的AJAX

4.1、基础概念 什么是服务器 一台存储网站内容、网站文件的电脑 什么是资源 网站中使用的文件(html、css、图片、…)这些东西就叫做资源数据也是服务器上的资源,而且是一个网站的灵魂 客户端 客户端应该指上网的设备但是在前端开发中&a…

Java web第四次作业

要求:读取xml文件并在页面中显示出来。 采用三种方式实现,并体会其中的原理: 1.常规方式,controlller控制器不分层 代码:RestController public class PoetController { RequestMapping("/listPoet") pu…

java算法day5

哈希表基础哈希表写题基础字符串类有效的字母异位词ArrayList用法两个数组的交集两数之和 哈希表基础 哈希函数: 哈希表使用哈希函数将键转换为数组的索引。理想情况下,哈希函数应该将键均匀分布在数组中,以减少冲突(两个键映射到…

Leetcode刷题之——队列Queue|先入先出FIFO|广度优先搜索BFS|栈Stack|后入先出LIFO|深度优先搜索DFS

Leetcode刷题之——队列Queue|先入先出FIFO|广度优先搜索BFS|栈Stack|后入先出LIFO|深度优先搜索DFS 1. 队列(Queue)——FIFO,先入先出的数据结构1.1 循环队列1.2 内置队列的常用方法(C)1.3 广度优先搜索(BFS) 2.栈(St…

WEB服务的配置与使用 Apache HTTPD

服务端:服务器将发送由状态代码和可选的响应正文组成的 响应 。状态代码指示请求是否成功,如果不成功,则指示存在哪种错误情况。这告诉客户端应该如何处理响应。较为流星的web服务器程序有: Apache HTTP Server 、 Nginx 客户端&a…

Linux_进程

目录 1、冯诺依曼体系 2、Linux下的进程概念 3、PCB结构体 4、在Linux下查看进程 5、父子进程 6、终止进程 7、操作系统的进程状态 7.1 Linux下的进程状态 8、孤儿进程 9、进程优先级 9.1 PRI和NI 结语 前言: 进程作为操作系统中最核心的知识点之…