How to take single snapshots from a webcam?

2019-01-28 21:39发布

I want to take a snapshot with my webcam using java and save it to a jpg file. What are the steps needed to do so? A tutorial would be greatly appreciated.

Greetings,
Burkhard

4条回答
贪生不怕死
2楼-- · 2019-01-28 21:40

the JMF (Java Media Framework) is a good starting point. However, I did not succeed with it.

I finally found the solution here.

The important part being:

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
查看更多
可以哭但决不认输i
3楼-- · 2019-01-28 21:48

Try webcam-capture project.

This code will take a snapshot from webcam (embedded, connected to USB or IP camera) and save it into JPG file:

Webcam webcam = Webcam.getDefault();
webcam.open()
BufferedImage image = webcam.getImage();
ImageIO.write(image, "JPG", new File("test.jpg"));
查看更多
beautiful°
4楼-- · 2019-01-28 21:58

what you are looking for might be the Java Media Framework (JMF). See the Sun Tutorial. I hope that helps.

查看更多
聊天终结者
5楼-- · 2019-01-28 22:04

I prefer using JMyron instead of JMF. JMyron is easy to use for accessing webcam. To save the captured image you just need to save the BufferedImage using ImageIO.write(); this blog post How To Use Webcam Using Javais usefull to start using JMyron.

查看更多
登录 后发表回答