2

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

Burkhard
  • 14,596
  • 22
  • 87
  • 108

4 Answers4

4

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
Burkhard
  • 14,596
  • 22
  • 87
  • 108
  • An answer that I just posted here will be useful for anyone else who wants to do a similar thing: http://stackoverflow.com/a/22107132/398316 – Maghoumi Feb 28 '14 at 22:35
1

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.

1

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

moxn
  • 1,790
  • 1
  • 15
  • 34
1

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"));
Bartosz Firyn
  • 2,664
  • 2
  • 21
  • 18