Page 204 - The Definitive Guide to Building Java Robots
P. 204
Preston_5564C06.fm Page 185 Friday, September 23, 2005 5:13 AM
CHAPTER 6 ■ VISION 185
// add new panels
this.getContentPane().add(box);
// show
this.show();
}
// get picture where two panels are set and processing is called
public void getPic() {
try {
BufferedImage bimg = getGetFrame().getBufferedImage();
// image to left panel
srcPanel.setImage(bimg);
// image to right panel
dstPanel.setImage(doProcessing(bimg));
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
// add filters
public void addFilter(FilterParameters filter) {
filters.add(filter);
}
// processes all filters
public BufferedImage doProcessing(BufferedImage bimg) {
ImageProcessor imageProcessor = new ImageProcessor();
for (int f = 0; f < filters.size(); f++) {
FilterParameters parms = (FilterParameters) filters.get(f);
parms.setImage(bimg);
bimg = imageProcessor.process(parms);
}
return bimg;
}
// sample program with two filters
public static void main(String[] args) {
try {
DoubleWebCamViewer webcam = new DoubleWebCamViewer();
webcam.addFilter(new FilterParameters(ImageProcessor.FILTER_RGB_TO_GREY));
webcam.start();
97022d2480fe4a63cfdfa123a6e70098