A While a go i need to make a java program that use webcam to capture image and then save it to harddrive. In this post i want to share how to use webcam using java. What in my mind when i want to make the java program that use webcam is Java Media Framework. But there is a simple way how to access webcam using java. The way is using library called JMyron. In JMyron library there is only 4 files :
1. JMyron.jar
2. JMyron.dll
3. DSVL.dll
4. myron_ezcam.dll
If we use Netbeans IDE. add JMyron.jar to the Libraries using Add Jar/Folder menu. And copy all dll files to the root directory of our Netbeans Project.
here the sampe code how to start using JMyron
private void configureMycron() {
m = new JMyron();//make a new instance of the object
m.start(width, height);//start a capture at 320x240
//m.findGlobs(0);//disable the intelligence to speed up frame rate
m.findGlobs(0);
//set labels
lblCameraView.setBounds(new Rectangle(width, height));
}
private void getCameraImage() {
captureImage = new BufferedImage(width, height, BufferedImage.OPAQUE);
m.update();//update the camera view
imageIntArray = m.image(); //get the normal image of the camera
captureImage.setRGB(0, 0, width, height, imageIntArray, 0, width);
}
private void startCapture() {
configureMycron();
captureOn = true;
Runnable capture = new Runnable() {
public void run() {
while (captureOn) {
try {
getCameraImage();
lblCameraView.setIcon(new ImageIcon(captureImage));
Thread.sleep(frameRate);
} catch (InterruptedException ex) {
Logger.getLogger(SimpleTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
Thread t = new Thread(capture);
t.start();
btnStartCapture.setEnabled(false);
}