我有一个USB摄像头设备,我希望从其中捕获30 fps的1920x1080px的帧作为jpeg流。 我已经尝试过各种库来将相机帧捕获为jpeg流(sarxos,openCV),但是它们似乎都不提供这种功能。主要问题是这些库将帧作为未压缩的位图来抓取,这会使1920x1080px帧(例如5 fps /秒)的读取帧非常慢。多线程在这里无济于事,并且fps似乎受到USB 2.0传输速率(大约30 MB /秒)的限制,而一个未压缩的fullhd帧约为6 MB。我的理解是,我需要从相机读取jpeg流,而不是未压缩的帧,但是我没有找到能够执行此操作的库。我知道这是可能的,因为我已经在Linux上使用v4l4j完成了此操作,但是现在我需要Windows的解决方案。
理想的解决方案是使用Java,但是我不确定是否存在能够在Windows下执行此操作的Java库。
任何实现这一目标的想法都受到欢迎。
我同意这个问题可以归为“推荐软件”范畴,但是我真的只需要有关如何做到这一点的建议,这个主题不是很受欢迎,而且研究也很困难,这就是为什么我ve决定在这里寻求帮助。某人在此主题上有丰富的经验,并且会确切地知道如何实现此目标的可能性很大。我也认为这个问题对其他人可能非常有用,因为在Java中有效捕获和处理高分辨率图像的主题正变得越来越重要。
相机型号为http://www.misumi.com.tw/PLIST.ASP?PC_ID=57的misumi TD-B31105。