camera - 是否会有用于 USB3 Vision 和/或 GigE Vision 相机的类似 libdc1394 的 API?

标签 camera computer-vision standards

由于火线相机由于带宽限制而变得过时,相机制造商似乎正在转向 USB 3.0 或千兆以太网接口(interface)。两者都有许多制造商都遵守的标准 USB3 Vision 和 GigE Vision。

然而,似乎每个制造商——Basler、Pointgrey、Ximia 和其他制造商——都有自己的 SDK 用于与他们的相机接口(interface)。在开发应用程序时,开发人员需要学习每个 API 并与之交互,这很痛苦,或者坚持使用一个制造商。我可能会被误解,但在这种情况下,如果开发人员需要使用依赖于制造商的 API,那么行业标准的意义何在?

对于火线相机,开发人员可以访问 libdc1394 跨平台的高级 API。他们不必担心谁制造了相机,也不必编写单独的驱动程序。 USB3 Vision 和 GigE Vision 是否也能做到这一点?如果是这样,谁来开发它?

最佳答案

至少对于 GigEVision,让我提一下 Aravis项目可用于 linux。它是一个 GenTL/GenICam 库,但由于下面概述的驱动程序约束问题,目前仅支持 GigE。

首先,我同意 Martin 的观点,即出于竞争和支持原因,创建通用 SDK 不符合相机制造商自身的利益。制造商结合他们的 SDK 开发专有的 USB 驱动程序(用于 USB3Vision)和 NIC 过滤器驱动程序(对于 GigE 是可选的,但强烈推荐)。它激励他们将用户锁定在他们的生态系统中,并将他们与竞争对手区分开来。

这就是我不同意 AdamF 的原因——我不认为 GenTL 得到相机制造商的广泛支持,尤其是 GigE 或 USB3Vision 相机。支持 GenTL 将有效地允许用户使用任何通用 SDK,同时仍然利用制造商的专有驱动程序

我认为 OpenCV 在这一点上支持 GenTL 而不是 GigE/U3V 会更容易,因为跨可用硬件平台开发 GigE/U3V 驱动程序的巨大障碍。在这一点上,GenTL 支持至少只是一个基于软件的界面。

关于camera - 是否会有用于 USB3 Vision 和/或 GigE Vision 相机的类似 libdc1394 的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29653529/

相关文章:

安卓相机打不开

android - Android相机中的screenSize、previewSize和pictureSize是什么关系?

Android 在 onlayout 方法中调整另一个 View 的大小

c++ - 寻找相机之间的外部因素

c++ - 使用列主要 Matlab 样式的数据布局将图像读入 C++?

c++ - C++1 1's raw string literals R"(...)"中括号的基本原理是什么?

android - ImageView 不显示捕获的照片 android

opencv - 在应用 Canny 边缘检测之前预处理图像

Java/Swing GUI 最佳实践(从代码的角度来看)

networking - DVR是否使用标准协议(protocol)进行流传输?