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
   199   200   201   202   203   204   205   206   207   208   209