martes, 17 de febrero de 2009

Filtro Ecualización

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;

public class Filtro_Equalizacion implements PlugInFilter
{
ImagePlus imp;

public int setup(String arg, ImagePlus imp)
{
this.imp = imp;
return DOES_ALL;
}

public void run(ImageProcessor ip)
{
int [] H= ip.getHistogram();
int K1=255;
for (int k=1; k< H.length; k++)
{
H[k]=H[k-1]+H[k];
}

int w=ip.getWidth();
int n=ip.getHeight();
for(int i =0; i < w;i++)
{
for(int j= 0; j < n;j++)
{
//int p = (int)(ip.getPixel(i,j)*0.5+1.5);
int p =(int)(ip.getPixel(i, j));
p=H[p]*((K1-1)/(i*j));
ip.putPixel(i,j,p);
}
}
}

}

4 comentarios:

Gaby Morocho dijo...

El codigo que tu publicas para el filtro de ecualización es claro y muy práctico a comparación de la publicación de Patricio

Pato Tapia dijo...
Este comentario ha sido eliminado por el autor.
Pato Tapia dijo...

Igualmente como te manifestaba en el comentario de tu código de umbralización de una imagen en escala de grises , nos ayudarías muchísimo comentando tu código.

Miguel dijo...

Que tal compañero este es un aporte de definición de lo que es el filtro de ecualización lo puedes encontrar en el siguiente link:

http://www.estudioveracruz.com/filtrosecualizacion.html