我想使用 java 使用我的网络摄像头拍摄快照并将其保存为 jpg 文件。这样做需要哪些步骤?一个教程将不胜感激。
问候,
布克哈德
JMF(Java 媒体框架)是一个很好的起点。但是,我没有成功。
我终于在这里找到了解决方案。
重要的部分是:
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
您正在寻找的可能是 Java Media Framework (JMF)。请参阅Sun 教程。我希望这会有所帮助。
我更喜欢使用 JMyron 而不是 JMF。JMyron 很容易用于访问网络摄像头。要保存捕获的图像,您只需要使用 ImageIO.write(); 保存 BufferedImage;这篇博客文章如何使用 Java 使用网络摄像头对于开始使用 JMyron 很有用。
尝试网络摄像头捕获项目。
此代码将从网络摄像头(嵌入、连接到 USB 或 IP 摄像头)拍摄快照并将其保存到 JPG 文件中:
Webcam webcam = Webcam.getDefault();
webcam.open()
BufferedImage image = webcam.getImage();
ImageIO.write(image, "JPG", new File("test.jpg"));