首页 > 解决方案 > 如何在 Windows 下从 USB 摄像头读取帧为 jpeg 流

问题描述

我有一个 USB 摄像头设备,我希望从中以 30 fps 的速度捕获 1920x1080px 的帧作为 jpeg 流。我尝试了各种库来获取相机帧作为 jpeg 流(sarxos、openCV),但它们似乎都没有提供这样的功能。主要问题是这些库将帧作为未压缩的位图抓取,这使得 1920x1080px 帧的读取帧非常慢(如 5 fps/秒)。多线程在这里没有帮助,fps 似乎受到 USB 2.0 传输速率的限制,大约为 30 MB/秒,而一个未压缩的全高清帧约为 6 MB。我的理解是我需要从相机读取 jpeg 流而不是未压缩的帧,但我没有找到任何能够做到这一点的库。我知道这是可能的,因为我已经使用 v4l4j 在 linux 上完成了这项工作,但现在我需要 Windows 的解决方案。

理想的解决方案是使用 java,但我不确定是否存在能够在 windows 下执行此操作的 java 库。

任何实现这一目标的想法都非常受欢迎。

我同意这个问题有点属于“推荐软件”的范畴,但我真的需要关于如何做到这一点的建议,这个主题不是很受欢迎而且研究很困难,这就是我决定的原因在这里寻求帮助。很有可能有人对这个主题有丰富的经验,并且确切地知道如何实现这个目标。我也认为这个问题可能对其他人非常有用,因为在 Java 中有效抓取和处理高分辨率图像的主题越来越重要。

相机型号是http://www.misumi.com.tw/PLIST.ASP?PC_ID=57的 misumi TD-B31105 。

标签: javawindowscamera

解决方案


推荐阅读