Procesar y Guardar una Imagen con OpenCV en Java

Procesar y Guardar una Imagen con OpenCV en Java

Procesar y Guardar una Imagen con OpenCV en Java
5 (100%) 3 votos

En este Articulo veremos como procesar y guardar una imagen con opencv en java a traves de algunas funciones para el procesamiento de imagenes para la aplicacion de filtros como grayscale, binario, blur, erosion de una imagen, dilatacion de una imagen, todo esto haciendo uso de la libreria opencv de vision por computadora. En articulos anteriores de OpenCV en java hemos visto como cargar y mostrar una imagen lo cual nos servira de base en este articulo para realizar el siguiente paso, que sera como hemos dicho, aplicar estos filtros a una imagen y poder guardarla a nuestro disco duro, asi que veamos pues como procesar y guardar una imagen con opencv en java, comencemos…

Requerimientos

Desarrollo

Como hemos visto en articulos anteriores somos capaces de cargar una imagen y mostrarla en una interfaz grafica, ahora veamos como procesarla, esto es, realizar algun cambio en la imagen original, y posteriormente como guardar los cambios en nuestro disco duro. En este Articulo damos por hecho que ya has cargado una imagen y la tienes guardada en un objeto de tipo Mat, sino sabes como hacerlo te recordamos…

[help]
Si tienes problemas con realizar lo anterior te recomendamos darte una vuelta por los articulos anteriores.
[/help]
Ahora, teniendo la imagen que queremos modificar vamos a revisar algunos codigos para procesarla, aplicaremos algunos diferentes filtros para esta imagen

Procesar y Guardar una Imagen con OpenCV en Java 1

  • Escala de Grises (grayscale)
  • Procesar y Guardar una Imagen con OpenCV en Java grayscale

    Este Filtro tan solo convierte una imagen de color en una imagen en escala de grises.

  • Binario
  • Procesar y Guardar una Imagen con OpenCV en Java binario

    En este filtro convertiremos la imagen original en otra en la que el color sera o blanco o negro, sin escalas, para lo cual primero necesitamos convertirla a grayscale.


    Suscríbete!

    Suscríbete a nuestra lista de correo y recíbe los últimos contenidos directamente en tu bandeja de correo electrónico, puedes elegir únicamente de que categoria del blog quieres recibir contenido.

    Suscríbeme

  • Blur(desenfoque)
  • Procesar y Guardar una Imagen con OpenCV en Java blur

    Este efecto es el de desenfocar la imagen, poco que decir, solo que utilizamos el metodo medianblur en lugar de el blur tradicional o cualquier otro como el gaussianblur.

  • Erosionar
  • Procesar y Guardar una Imagen con OpenCV en Java erosionar

    Este filtro puede ser definido como el proceso de “engordar” cada elemento.

  • Dilatar
  • Procesar y Guardar una Imagen con OpenCV en Java dilatacion

    Este filtro puede ser definido como lo contrario de erosionar, consiste en “adelgazar” cada elemento.

    [note]
    El metodo “establecerImagen(dst)” es un metodo en el que la imagen resultante se coloca en algun componente de la interfaz grafica para ser mostrado al usuario, como puede ser un JLabel en el cual se coloca la imagen en su icono, como por ejemplo:

    Donde area_imagen es ese JLabel en el que se establece un icono con la imagen resultante.
    [/note]

  • Guardar una Imagen Procesada a Disco
  • Donde nombre es el nombre como quieres guardar la imagen con su extension, por ejemplo “imagen.jpg”.

    Video

    Visto – Procesar y Guardar una Imagen con OpenCV en Java

    Procesar y Guardar una Imagen con OpenCV en Java
    5 (100%) 3 votos

    Dejar un comentario

    24 Comments on "Procesar y Guardar una Imagen con OpenCV en Java"

    avatar
      Subscribe  
    Notify of
    Jhon
    Guest

    Hola, muchas gracias por compartir y los excelentes tutoriales, podrías por favor compartir el proyecto completo de este ejemplo. Te lo agradecería muchísimo.

    21699212003
    Guest
    hola, tengo un proyecto en java, OpenCV y de gestión de base de datos mysql .it estudiantes universitarios con la detección y reconocimiento de rostros. Luego he creado la base de datos (aplicación) y guardé imágenes (BLOB) en la base de datos y logré (insertar / cambiar / eliminar) y yo tengo otro proyecto (ReconnVisage), el reconocimiento se hace por carpeta (no la base de datos) y muestra el nombre de la imagen (la cara) en el directorio (con la extensión). usted me puede ayudar con ese reconocimiento se hace por la base de datos y mostrar el nombre del… Read more »
    Jose Durley Lancheros
    Guest
    Jose Durley Lancheros

    existe la forma como detectar áreas dentro de una imagen que no sean rostros sino que yo pueda detectar un objeto en un stand y contar cuantos objetos iguales hay en el stand.

    agradezco mucho su colaboración, links y códigos donde me pueda documentar

    Luis
    Guest

    hola me pregunto si al alguna manera de poder cambiar el color de nuestra imagen original donde los campos en blanco los cambie por ejemplo a rojo como se podria hacer eso con opencv de java

    Leonardo
    Guest

    Hola Jonathan,

    Muy buenos sus tutoriales, le comento que me funciona el reconocimiento del rostro con mi webcam, pero el problema es ¿cómo le hago para guardar la imagen en el pc?, he estado utilizando

    ighgui.imwrite(“procesada_”+nombre, imagen_actual_mat);

    pero me genera un error en +nombre.

    Le agradezco mucho su colaboración

    Por otro lado lo en realidad es que necesito guardar la imagen en MySQL o PostgreSQL

    enicma
    Guest

    El método de area_imagen.updateUI(); donde fue creado o cual es es su código Gracias por responder pronto

    Jonathan Melgoza
    Guest

    Hola enicma,

    Perdona por la demora, area_imagen es una etiqueta JLabel la cual contendra la imagen mediante la instruccion setIcon, el metodo updateUI sirve para volver a pintar el control.

    Saludos!

    arturo molina
    Guest

    Que tal!!! De casualidad ¿conocerás alguna función de OpenCV para dar más color a una imagen? ¿Y para reducir el brillo??

    Renato Martin De La Rosa Casti
    Guest
    Renato Martin De La Rosa Casti

    Hola Jonathan , mira yo quiero alinear la imagen (operacion de transformacion supongo) en base a un marcador , usand opencv con java claro esta. Tienes alguna idea o algun metodo que me pueda ayudar para hacer ese tipo de trabajo. Gracias de antemano

    Carlos Suarez
    Guest

    Saludos! Como hago para definir “Imgproc”? De que tipo es?
    Gracias!

    Carlos Suarez
    Guest

    Ya lo resolví, lo publico por si alguno lo necesita:

    import org.opencv.imgproc.Imgproc;

    Jonathan Melgoza
    Guest

    Hola Carlos,

    Gracias por apoyar a la comunidad de OpenCV en Español 😉

    Saludos!

    Gustavo Adolfo Zuluaga C.
    Guest
    Gustavo Adolfo Zuluaga C.

    Cordial saludo Jonathan,

    El tutorial está genial, aunque tengo problemas con la parte gráfica, existe la posiblidad de que compartas el proyecto de Netbeans?

    Disculpa el atrevimiento.

    Jonathan Melgoza
    Guest

    Hola Gustavo,

    Gracias, aunque no se bien si aun tengo ese programa hehe soy malo para guardar informacion al formatear XD dejame lo busco mañan en otra PC que tengo a ver si lo encuentro.. de cualquier forma no es dificil siguiendo todos los tutos de la categoria computervision seguro la armas, cualquier duda aqui estoy de cualquier forma.

    Saludos!

    Gustavo Adolfo Zuluaga C.
    Guest
    Gustavo Adolfo Zuluaga C.

    Muchas gracias Jonathan, estaré atento.
    Tu página es genial.

    Jonathan Melgoza
    Guest

    Hola Gustavo,

    Lamento la tardanza en contestarte heh, lamentablemente ya busque el codigo completo y no pude encontrarlo pero como te digo antes en el tuto esta lo mas importante la parte grafica puedes hacerla muy facil con el asistente de Netbeans y simplemente conectar con el metodo establecerImagen() para mandar las imagenes a un JLabel y este sobre un panel..

    De cualquier forma puedes hacerme saber tus dudas.

    Saludos!

    Gustavo Adolfo Zuluaga C.
    Guest
    Gustavo Adolfo Zuluaga C.

    Muchas gracias Jonathan,

    Ya tengo el proyecto funcionando con la parte gráfica.
    Eres muy gentil, gracias por compartir el conocimiento.

    Jonathan Melgoza
    Guest

    Hola Gustavo,

    Me alegro de haber podido ayudarte, ojala y sigas el blog, aqui estaremos para ayudar.

    Saludos!

    ronny
    Guest

    Quisiera ayuda por favor necesito hacer la deteccion de rostros desde una camara web

    Jonathan Melgoza
    Guest

    En el blog tenemos uno de deteccion de rostros aunque desde una imagen, espero poder subir uno que lo haga desde la webcam, la verdad no es mucha la diferencia ..

    ronny
    Guest

    Estoy desarrollando mi tema de tesis para la deteccion voy a utilizar opencv y para el reconocimiento algoritmos geneticos.

    Jonathan Melgoza
    Guest

    Buena eleccion de tesis, y que te digo de los algoritmos genericos, de vdd que son muy interesantes.. hace semanas pense en subir algo de eso.

    ronny
    Guest

    Hola Jonathan muy bueno el tutorial

    Jonathan Melgoza
    Guest

    Gracias ronny!

    trackback
    Deteccion de Bordes con Canny en OpenCV y Java

    […] Para convertir una imagen a Grayscale o Blur puedes ver el siguiente articulo. […]