elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:29  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Binarizar una Imagen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Binarizar una Imagen  (Leído 1,019 veces)
Choclito

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Binarizar una Imagen
« en: 30 Agosto 2011, 21:12 »

Hola a todos lo que encontre este codigo donde lo cambia a esclas de grises , peroa hora como hago para cambiar a blanco ynegro (binarizar) , pq creo que primero se cmbia a escala de grises si alguien pudiera ayudar seria de mucho agradecimiento .

Código
public boolean escalaDeGrises()
{
    boolean estado = true;
 int p, promedio, rojo, verde, azul;
 int a = imagenBase.getWidth(this);  //Ancho
    int h = imagenBase.getHeight(this); //Alto
    int totalDePixeles = a * h;
 int pixeles[] = new int[totalDePixeles];   //Arreglo de pixeles
 PixelGrabber pg = new PixelGrabber(imagenBase,0,0,a,h,pixeles,0,a);
 try
 {
  pg.grabPixels();
  for(int i = 0; i < totalDePixeles; i++)
  {
   p = pixeles[i]; //Valor de un pixel
   rojo = (0xff & (p>>16));  //Desplaza el entero p 16 bits a la derecha y aplica la operacion AND a los primeros 8 bits
   verde = (0xff & (p>>8));  //Desplaza el entero p 8 bits a la derecha  y aplica la operacion AND a los siguientes 8 bits
   azul = (0xff & p) ;        //Aplica la operacion AND a los siguientes 8 bits
   promedio = (int) ((rojo+verde+azul)/3);
   pixeles[i]=(0xff000000|promedio<<16|promedio<<8|promedio);
  }
  imagenModificada  = createImage(new MemoryImageSource(a,h,pixeles,0,a));
 }catch(InterruptedException e)
 {
  //JOptionPane.showMessageDialog((Component)null,"Error del sistema : "+e.getMessage(),"Error de Imagen",JOptionPane.OK_OPTION);
  estado = false;
  this.mensajeDeError = e.getMessage();
 }
 return estado;
}


En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines