Para filtrar un BufferedImage usando una de las clases de opearación de imagen, debemos
El siguiente appler ilustra el uso de cuatro operaciones de filtrado de imagenes: low-pass, sharpen, lookup, y rescale.El código completo del applet está en ImageOps.java. El appler usa estos dos ficheros de imagen: bld.jpg y boat.gif.
Esta es una imagen del GUI del applet. Para ajecutar el appler, pulsa sobre ella. El applet aparecerá en una nueva ventana del navegador.El filtro sharpen se realiza usando un ConvolveOp. Convolución es el proceso de hacer más pesado el valor de cada pixel en una imagen con los valores de los pixels vecinos. La mayoría de los algoritmos de filtrado espacia estan basados en las operaciones de convolución.
Para construir y aplicar este tipo de filtrado al BufferedImage, este ejemplo usa un código similar al del siguiente fragmento.
public static final float[] SHARPEN3x3 = { 0.f, -1.f, 0.f, -1.f, 5.0f, -1.f, 0.f, -1.f, 0.f}; BufferedImage dstbimg = new BufferedImage(iw,ih,BufferedImage.TYPE_INT_RGB); Kernel kernel = new Kernel(3,3,SHARPEN3x3); ConvolveOp cop = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); cop.filter(srcbimg,dstbimg);El objeto Kernel define matemáticamente cómo se ve afectada la salida de cada pixels en su área inmediata. La definición del Kernel determine el resultado del filtro. Para más información sobre cómo trabaja el kernel con ConvolveOp puedes ver la sección 'Image Processing and Enhancement' en Java 2D Programmer's Guide