Foros del Web » Programando para Internet » Android »

Procesamiento de imágenes, iniciamos de nuevo #3

Estas en el tema de Procesamiento de imágenes, iniciamos de nuevo #3 en el foro de Android en Foros del Web. Genteeee!!! saludos, despues de unos examenes y unos pleitos con mi universidad regreso para decirles que tengo flojera jaja broma... bueno continuando con los temas ...
  #1 (permalink)  
Antiguo 22/12/2011, 13:20
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Procesamiento de imágenes, iniciamos de nuevo #3

Genteeee!!! saludos, despues de unos examenes y unos pleitos con mi universidad regreso para decirles que tengo flojera jaja broma... bueno continuando con los temas anteriores http://www.forosdelweb.com/f165/proc...vo-2-a-961248/ vamos a ver que mas podemos hacer.

Bueno ya tenemos nuestra imagen de muestras, en mi caso YO TE ELIJO LENAAA!! (pokemon parody); ustedes pueden utilizar el dichoso código del curso que ofertan en estos foros donde pueden tomar una fotografía e ir aplicando los filtros que vamos a ir aprendiendo. Ya vimos como pasar nuestra imagen en ARGB a escala de grises o monocromaticos; que otras cosas podemos hacerle a nuestra imagen? Bueno existes varios filtros divertidos a los cuales le podemos aplicar a una imagen tanto a imagenes ARGB o a Grayscale hoy hablaremos de 2 de mis favoritos ya que se pueden aplicar en varios proyectos.

Para iniciar hablaremos de las convoluciones... me voy a saltar varias cosas "cientificoides" que a todo mundo le aburre, una convolucion en pocas palabras es hacer un barrido sin alterarse los 2 datos en este caso la matriz del filtro y la imagen en su forma matricial pero el resultado de ese barrido o interacción sera la imagen final a mostrar. Mejor explicación en http://es.wikipedia.org/wiki/Convoluci%C3%B3n

Bueno ahora los 3 filtros preferidos por mi jejeje

El primero y el que mas me gusta por su efecto y por las diversas aplicaciones que se le pueden sacar jugo es el tututurururututututu (redobles)

FILTRO DE LAPLACE creo que varios pusieron esa cara nada mas al leer el nombre, bueno este filtro es de tipo espacial utilizado para detección de bordes lo que hace un efecto muy "chido" como decimos por mis rumbos.

Ahora, para lograr este filtro en nuestra imagen utilizaremos un Kernel, un kernel en este caso es una matriz muy comun de 3x3 en dimensiones pero pueden existir de varias dimensiones y los valores que esta matriz contiene son sacados a partir de formulas de las cuales no tocare tema el kernel para el filtro de laplace tiene la siguiente forma.

jeje esas imágenes las saque de la siguiente pagina http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm para el interesado puede darle una leída.
Podemos utilizar cualquiera de esas 2 matrices o kernels, yo utilizo mi propia matriz calculada la cual tiene una forma siguiente disculpen por la falta de calidad jajaja
{0, 0, -1, 0, 0},
{0, -1, -2, -1, 0},
{-1, -2, 16, -2, -1},
{0, -1, -2, -1, 0},
{0, 0, -1, 0, 0}};

Es una matriz de 5x5, bueno pero y ahora que hago con eso... es hora de aplicar la convolucion... en este caso en el siguiente codigo realizo la convolucion a mi imagen en escala de grises.

Cita:
public int[][][] Laplace(int mat[][][])
{
int r1 = 0;
int[] N = new int[3];
int salida[][][] = new int[picw][pich][4];
int[][] filter = {
{0, 0, -1, 0, 0},
{0, -1, -2, -1, 0},
{-1, -2, 16, -2, -1},
{0, -1, -2, -1, 0},
{0, 0, -1, 0, 0}};
for (int y = 2; y < pich-2; y++)
{
for (int x = 2; x < picw-2; x++)
{
for(int i = -2; i<=2; i++)
for(int j = -2; j<=2; j++)
{
r1 = r1 + mat[x+j][y+i][1]*filter[j+2][i+2];
}
r1 = (int) Math.round(r1);
N = Normalizar(r1,r1,r1);
salida[x][y][1] = N[0];
salida[x][y][2] = N[1];
salida[x][y][3] = N[2];
r1 = 0;
}
}
return salida;
}
Ademas agrego una función en la cual checo si son mayores de 255 o menores a 0 ya que eso nos puede meter problemas, la llame Normalizar

Cita:
private int[] Normalizar(int r1, int r2, int r3)
{
int[] x = new int[3];
if(r1>255)
x[0] = 255;
if(r1<0)
x[0] = 0;
if(r2>255)
x[1] = 255;
if(r2<0)
x[1] = 0;
if(r3>255)
x[2] = 255;
if(r3<0)
x[2] = 0;
return x;
}
Ok y ahora cual es el resultado de nuestro filtro de laplace, como recuerdan yo había seleccionado a Lenna:


El otro filtro que usaremos es el de Prewitt Sobel también existen por separado pero la combinación de estos dos filtros hacer un efecto muy bueno. Esta pagina ofrece una buena cantidad de imágenes de muestra para que vean los diferentes tipos de filtros de detección de bordes http://www.owlnet.rice.edu/~elec539/...s/moredge.html Los filtros como Sobel tienen una gran diferencia con otros, en este caso podemos tener diferentes tipos de Kernels en los cuales cada uno se dedicara a "encontrar" los bordes dependiendo de su dirección o posición, digamos que existe un Kernel para detectar bordes que solo se encuentren en la posición X, hablando de ejes coordenados.

En este caso uso el Prewitt Sobel para encontrar bordes en la posición X y en la Y del eje coordenado de mi matriz.

Cita:
public int[][][] Prewitt_Sobel(int mat[][][])
{
int r1 = 0, r2 = 0;
int salida[][][] = new int[picw][pich][4];
int[][] filterX = {
{-3, 0, 3},
{-10, 0, 10},
{-3, 0, 3}};
int[][] filterY = {
{-3, -10, -3},
{0, 0, 0},
{3, 10, 3}};
for (int y = 0; y < pich-2; y++)
{
for (int x = 0; x < picw-2; x++)
{
for(int i = 0; i<=2; i++)
for(int j = 0; j<=2; j++)
{
r1 = r1 + mat[x+j][y+i][1]*filterX[j][i];
r2 = r2 + mat[x+j][y+i][1]*filterY[j][i];
}
r1 = (int) Math.round(Math.sqrt(Math.pow(r1, 2)+Math.pow(r2, 2))*0.031);
salida[x][y][1] = r1;
salida[x][y][2] = r1;
salida[x][y][3] = r1;
r1 = 0; r2 = 0;
}
}
return salida;
}
El efecto que nos da es el siguiente:


Bueno gente me retiro, espero estos filtros les sirva y seria bueno que comentaran si tuvieran dudas o alguna sugerencia en mis códigos ya que eso nos servirá a todos. O suban sus imágenes con sus Kernels que encontraron.

Nos vemos gente.
  #2 (permalink)  
Antiguo 24/12/2011, 12:09
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Se siente raro tener mas de 400 visitas... y ni un agradecimiento o comentario debería seguir con esto? o dejar que la gente se rasque por si sola...

Juguemos al opensource

Última edición por zero_master; 24/12/2011 a las 12:28
  #3 (permalink)  
Antiguo 24/12/2011, 16:25
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

jajaja
  #4 (permalink)  
Antiguo 10/03/2013, 16:06
 
Fecha de Ingreso: marzo-2013
Mensajes: 1
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Muchas gracias he seguido estos tutoriales que has publicado me parecen muy bien explicados :D me han servido de mucho espero sigas aunque veo que casi nadie ha comentado jeje.

Espero continues haciendo ya que explicas sin tanto rollo.
Saludos

Disculpas por revivir el post :P
  #5 (permalink)  
Antiguo 11/03/2013, 18:11
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

De nada espero sea de mucha ayuda ya no segui publicando por lo mismo de que no habia muchos agradecimientos y poca comunicacion con los demas que publicamos informacion no solo dudas o peticion de ayuda....
  #6 (permalink)  
Antiguo 12/03/2013, 03:33
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años
Puntos: 8
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Tu sigue escribiendo tio, que aunque seamos poco agradecidos merece la pena!
Saludos
__________________
Si te ayudó, que no te cueste dar +1!
http://www.josealopezpastor.com
@josealopezpasto
  #7 (permalink)  
Antiguo 12/03/2013, 23:49
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Pues me meti a otros proyectos ya no tanto al procesamiento de imagenes, hice lo que tenia pensado realizar y lo deje por la paz aunque tengo una idea en camino que quiero cosechar pero necesito gente cercana para poder trabajar como enfermos jajaja
  #8 (permalink)  
Antiguo 14/03/2013, 06:05
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años
Puntos: 8
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Yo estoy liado hasta el verano con unos manuales, pero si quieres hablamos después!
Saludos
__________________
Si te ayudó, que no te cueste dar +1!
http://www.josealopezpastor.com
@josealopezpasto
  #9 (permalink)  
Antiguo 19/03/2013, 19:12
Avatar de Barrero0717  
Fecha de Ingreso: octubre-2012
Ubicación: Bogotá, Colombia
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Hola!!! Mira te había comentado que utilice tus foros para hacer una aplicación y bueno, ya la termine y corre excelente, pero necesito documentarla y no encuentro la teoría suficiente que explique de manera clara los filtros que tu utilizaste, o bueno, no supe buscar en el libro que recomendaste (Digital Image Processing" del gran maestro Rafael C. Gonzalez y Richard E. Woods.)
Seria de gran ayuda :D
Muchas gracias...
  #10 (permalink)  
Antiguo 20/03/2013, 00:03
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Cita:
Iniciado por Barrero0717 Ver Mensaje
Hola!!! Mira te había comentado que utilice tus foros para hacer una aplicación y bueno, ya la termine y corre excelente, pero necesito documentarla y no encuentro la teoría suficiente que explique de manera clara los filtros que tu utilizaste, o bueno, no supe buscar en el libro que recomendaste (Digital Image Processing" del gran maestro Rafael C. Gonzalez y Richard E. Woods.)
Seria de gran ayuda :D
Muchas gracias...
Mi buen deja busco que otros libros te puedo recomendar ahorita me encuentro fuera de donde vivo y por tal motivo solo cargo mi laptop. No recuerdo bien el nombre del autor pero hay un libro bueno el autor tiene nombre como de Burguer jajaja hamburguesa aunque suene raro algo asi se llama no recuerdo bien ni la editorial del libro que lei esa vez.... ahi pones agradecimientos en tu tesis con mi nombre jeje
  #11 (permalink)  
Antiguo 20/03/2013, 01:55
Avatar de Barrero0717  
Fecha de Ingreso: octubre-2012
Ubicación: Bogotá, Colombia
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Hola!!!
El libro que encontre (e imagino que debe ser) es este "Digital Image Processing: An Algorithmic Introduction using Java".
Este es el link de descarga http://www.ebooks-share.net/digital-image-processing-an-algorithmic-introduction-using-java/
Estoy en descarga asi que te avisare ante cualquier duda.
Y solo es un articulo IEEE el que estoy haciendo, pero no dudes que te pondré en agradecimientos, así que me gustaría que me dieras tu nombre y el de la universidad para que sea de una manera mas formal.
Mil gracias.
  #12 (permalink)  
Antiguo 20/03/2013, 12:12
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Emmanuel Castillejos Villatoro, estudiando de maestria en optomecatronica en el Centro de Investigacion en Optica (CIO) de la ciudad de Leon, Guanajuato; Mexico. Y si ese es el libro tiene otro donde utiliza una libreria para el procesamiento de imagenes aunque yo siempre opino que mejor que generar tus propias librerias.
  #13 (permalink)  
Antiguo 25/04/2013, 19:32
Avatar de Barrero0717  
Fecha de Ingreso: octubre-2012
Ubicación: Bogotá, Colombia
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Hola!!!
Después de todo, termine hace unas semanas el articulo que te comente.
Quisiera enviártelo para que lo leyeras y opinaras sobre el.
Si quieres, dejame tu email.
Un abrazo, y gracias de nuevo :D
  #14 (permalink)  
Antiguo 25/04/2013, 23:09
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

jeje puedes encontrarme en [email protected] cuando gustes y si piensas seguir desarrollando o tienes otras ideas no dudes en preguntar puede que nos ayudemos mutuamente
  #15 (permalink)  
Antiguo 26/07/2013, 08:23
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: Procesamiento de imágenes, iniciamos de nuevo #3

Buenas, hablando de procesamiento de imágenes, he creado recientemente una aplicación web que aplica filtros y otras transformaciones a imágenes subidas por el usuario. Ahí la dejo. Espero que sea de ayuda. [URL="http://itransformer.es"]http://itransformer.es[/URL]

http://itransformer.es

Se agradecen comentarios y sugerencias.

Etiquetas: imagenes, procesamiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 12:37.