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

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



                                                                                   CHAPTER 6  ■  VISION  215




















                        Figure 6-22. The high-pass/sharpening filter

                        Example 6-27. sobelGradient(): edges
                            public BufferedImage sobelGradMag(BufferedImage srcImg) {


                                PlanarImage input = bufferedToPlanar(srcImg);
                                KernelJAI vert = KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL;
                                KernelJAI horz = KernelJAI.GRADIENT_MASK_SOBEL_HORIZONTAL;
                                ParameterBlock pb = new ParameterBlock();
                                pb.addSource(input);
                                pb.add(vert);
                                pb.add(horz);
                                PlanarImage output = JAI.create("gradientmagnitude", pb).createInstance();
                                return planarToBuffered(output);
                            }



















                        Figure 6-23. The Sobel Gradient filter

                            The last filter to find edges is very useful in image analysis because you can start to see the
                        lines formed by the objects. Those lines when applied with another algorithm—called the
                        Hough transform—can be used to recognize and differentiate between objects.
   229   230   231   232   233   234   235   236   237   238   239