如何从网络摄像头拍摄单个快照?

时间:2009-07-03 09:59:55

标签: java windows webcam capture

我想使用java在我的网络摄像头拍摄快照并将其保存到jpg文件中。这样做需要做什么步骤?非常感谢教程。

问候,
布克哈德

4 个答案:

答案 0 :(得分:4)

JMF(Java Media Framework)是一个很好的起点。但是,我没有成功。

我终于找到了解决方案here

重要的部分是:

Buffer buf = frameGrabber.grabFrame();
// Convert frame to an buffered image so it can be processed and saved
Image img = (new BufferToImage((VideoFormat) buf.getFormat()).createImage(buf));
buffImg = new BufferedImage(img.getWidth(this), img.getHeight(this), BufferedImage.TYPE_INT_RGB);
//TODO saving the buffImg

答案 1 :(得分:1)

您正在寻找的可能是Java Media Framework(JMF)。 请参阅Sun Tutorial。我希望有所帮助。

答案 2 :(得分:1)

我更喜欢使用JMyron而不是JMF。 JMyron易于用于访问网络摄像头。要保存捕获的图像,只需使用ImageIO.write()保存BufferedImage;这篇博文How To Use Webcam Using Java对于开始使用JMyron非常有用。

答案 3 :(得分:1)

尝试webcam-capture项目。

此代码将从网络摄像头拍摄快照(嵌入式,连接到USB或IP摄像头)并将其保存到JPG文件中:

Webcam webcam = Webcam.getDefault();
webcam.open()
BufferedImage image = webcam.getImage();
ImageIO.write(image, "JPG", new File("test.jpg"));