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);
}