Page 233 - The Definitive Guide to Building Java Robots
P. 233

Preston_5564C06.fm  Page 214  Friday, September 23, 2005  5:13 AM



                 214    CHAPTER 6  ■  VISION



                        Example 6-25. smooth()
                            public BufferedImage smooth(BufferedImage srcImg) {

                                PlanarImage input = bufferedToPlanar(srcImg);
                                float ninth = 1.0f / 9.0f;
                                float[] k = { ninth, ninth, ninth, ninth, ninth, ninth, ninth, ninth, ➥
                        ninth };
                                KernelJAI kern = new KernelJAI(3, 3, k);
                                ParameterBlock pb = new ParameterBlock();
                                pb.addSource(input);
                                pb.add(kern);
                                PlanarImage output = JAI.create("Convolve", pb).createInstance();
                                return planarToBuffered(output);
                            }



















                        Figure 6-21. Low-pass/smoothing filter

                        Example 6-26. sharp()
                            public BufferedImage sharpen(BufferedImage srcImg) {

                                PlanarImage input = bufferedToPlanar(srcImg);
                                float[] k = { 0.0f, -1.0f, 0.0f, -1.0f, 5.0f, -1.0f, 0.0f, -1f, 0.0f };
                                KernelJAI kern = new KernelJAI(3, 3, k);
                                ParameterBlock pb = new ParameterBlock();
                                pb.addSource(input);
                                pb.add(kern);
                                PlanarImage output = JAI.create("Convolve", pb).createInstance();
                                return planarToBuffered(output);
                            }
   228   229   230   231   232   233   234   235   236   237   238