Page 196 - The Definitive Guide to Building Java Robots
P. 196
Preston_5564C06.fm Page 177 Friday, September 23, 2005 5:13 AM
CHAPTER 6 ■ VISION 177
player = Manager.createRealizedPlayer( new MediaLocator(url));
player.start();
// Wait a few seconds for camera to initialize (otherwise img==null)
Thread.sleep(2500);
}
public Image getAwtImage() throws Exception {
FrameGrabbingControl frameGrabber = (FrameGrabbingControl) player
.getControl("javax.media.control.FrameGrabbingControl");
Buffer buf = frameGrabber.grabFrame();
Image img = (new BufferToImage((VideoFormat) buf.getFormat())
.createImage(buf));
if (img == null) {
//throw new Exception("Image Null");
System.exit(1);
}
return img;
}
public BufferedImage getBufferedImage() throws Exception {
return (BufferedImage) getAwtImage();
}
public void close() throws Exception {
player.close();
player.deallocate();
}
public static void main(String[] args) {
try {
GetFrame getFrame = new GetFrame("vfw://0");
BufferedImage img = getFrame.getBufferedImage();
getFrame.close();
ImageViewer viewer = new ImageViewer(img);
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
}
}