我需要使用Java访问网络摄像头 . 这就是我想要做的
-
访问网络摄像头
-
现在用户可以看到网络摄像头正常工作,因为他的脸在屏幕上可见(听说有些图书馆没有显示网络摄像头的视频输出)
-
当用户单击“保存”按钮时,拍摄快照并保存
从很长一段时间以来,我已经尝试了很多方法来做到这一点 .
-
JMF - 现在已经死了
-
FMJ - 现在也死了
-
VLCJ - 太多了,因为我没有创建音乐/视频播放器,它希望安装VLC
-
Xuggler - 太多而且努力工作
-
JMyron - 没用
-
JavaFX - 我认为它可以做到,但似乎不能
如果图书馆只是做上面提到的,我甚至感到满意,因为这对我来说已经足够了 . 但我希望它也很简单 . 如果它不使用DLL,真的很棒,因为它不是平台独立的 . 真的很感激,如果它可以检测相机,而不像VLCJ手动传递相机名称和其他信息(因为可能有数千个相机品牌,所以我不能创建其中的千元素列表) . 而且,我正在创建一个桌面应用程序,而不是Web应用程序 .
如果您认识这样的图书馆,请善意地告诉我 . 其他图书馆(可能不符合我的所有要求,但也符合基本要求)也欢迎 . 请帮忙
2 回答
这已在SO上多次讨论过 . 以下是一些可以帮助您入门的链接:
所以:Capturing image from webcam in java?
所以:What is the best method to capture images from a live video device for use by a Java-based application?
openCVF小程序:http://www.colorfulwolf.com/blog/2011/07/05/accessing-the-webcam-from-inside-a-java-applet/
config:http://ganeshtiwaridotcomdotnp.blogspot.in/2011/12/opencv-javacv-eclipse-project.html
我认为您正在寻找的项目是:https://github.com/sarxos/webcam-capture(我是作者)
有一个示例与've described - after it'运行完全一样,窗口出现在哪里,按下"Start"按钮后,您可以看到来自网络摄像头设备的实时图像,并在您单击"Snapshot"后将其保存到文件中(source code available,请注意FPS计数器在角落可以禁用):
该项目是可移植的(WinXP,Win7,Win8,Linux,Mac,Raspberry Pi),不需要在PC上安装任何其他软件 .
API非常好用且易于学习 . 示例如何捕获单个图像并将其保存到PNG文件: