El API Java 2D define varias operaciones de filtrado para objetos BufferedImage . Cada operaci�n de proceso de im�genes est� incluida en una clase que implementa el interface BufferedImageOp. La manipulaci�n de im�genes se realiza en el m�todo filter. La clase BufferedImageOp en el API Java 2D soporta:
- Tranformaci�n afin.
- Escalado.
- Modificaci�n de Aspecto.
- Combinaci�n Linear de Bandas.
- Conversi�n de color.
- Convoluci�n.
Para filtrar un BufferedImage usando una de las clases de operaci�n de imagen, debemos
- Constuir un ejemplar de una de las clases BufferedImageOp: AffineTransformOp, BandCombineOp, ColorConvertOp, ConvolveOp, LookupOp , o RescaleOp.
- Llamar al m�todo de operaci�n filter, pasando en el BufferedImage que queremos filtrar y el BufferedImage donde queremos almacenar el resultado.
�Ejemplo: ImageOps
El siguiente applet ilustra el uso de cuatro operaciones de filtrado de imagenes:
low-pass, sharpen, lookup, y rescale.

Esta es una imagen del GUI del applet. Para ajecutar el applet, pulsa sobre ella. El applet aparecer� en una nueva ventana del navegador.
El c�digo completo del applet est� en ImageOps.java. El applet usa estos dos ficheros de imagen: bld.jpg y boat.gif .
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 espacial 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 determina 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