使用Java从网络摄像头捕获高分辨率图像快照

时间:2011-07-10 13:58:22

标签: java webcam image-capture

任何人都知道可以用于从网络摄像头捕获高分辨率图像快照的Java库吗?

更确切地说:   - 检测可用的网络摄像头(笔记本电脑可能有一个内置的,外部的连接通过USB连接)   - 选择要使用的网络摄像头。   - 检测IMAGE捕获的可用分辨率(例如:对于具有1.3 Mp传感器的网络摄像机,最高可达1280x1024)。    它们通常远大于VIDEO捕获(例如:对于相同的网络摄像机,最高可达640x480)。   - 选择要使用的分辨率。   - 根据要求(调用API函数),使用所选分辨率从所选摄像机捕获快照。

我试过了:   - JMF:很糟糕,不支持自动检测连接的网络摄像头。   - FMJ:使用LTI-CIVIL支持网络摄像头。   - LTI-CIVIL:仅支持VIDEO捕获。    代码也很老(2007年如果我没记错的话)。    使用用C ++编写的本机库进行网络摄像头访问。    用于Windows的DirectX和用于(显然)Linux的Video4Linux。    但是看一下C ++代码,很明显它是面向的    视频流不是我的目的(反映在我需要的描述中)

如果有人能指出我符合我需要的配置文件的Java库,我将感激不尽。

感谢。

4 个答案:

答案 0 :(得分:2)

openCV是一种流行的C ++计算机视觉库。但是,它们也有Java绑定。 http://code.google.com/p/javacv/

OpenCV允许您访问图像和视频处理以及从多个网络摄像头捕获图像和视频。

答案 1 :(得分:1)

此Java API应该完成这项工作:http://webcam-capture.sarxos.pl/ 以下代码拍摄照片并将其作为.png文件保存在项目的工作区文件夹中。请务必在其网站上查看创作者的其他示例。

{{1}}

答案 2 :(得分:0)

以下开源项目 webcamstudio http://code.google.com/p/webcamstudio/在使用Java进行网络摄像头支持方面做得非常出色。也许从那里采取一些想法。

答案 3 :(得分:0)

您可以使用JMyron,该库是here,您可以看到它如何与this示例

一起使用