Cargar y Mostrar una Imagen con OpenCV en Java

Cargar y Mostrar una Imagen con OpenCV en Java

Cargar y Mostrar una Imagen con OpenCV en Java
5 (100%) 1 voto

En este Articulo veremos como Cargar y Mostrar una Imagen con OpenCV en Java y lo veremos mediante un sencillo ejemplo para que nos sirva de base para futuros proyectos en los que normalmente necesitaremos mostrar una imagen al usuario. La libreria para la interfaz grafica que usaremos para mostrar la imagen sera SWING, como dijimos antes usaremos netbeans pero igualmente puedes utilizar cualquier otro como eclipse donde ya hemos realizado la instalacion de opencv en el siguiente articulo aqui, los puntos importantes que trataremos seran: leer y cargar una imagen de nuestro disco duro a nuestro programa, convertir una imagen Mat de opencv a Image de AWT, mostrar una imagen en una ventana grafica. Veamos como cargar y mostrar una imagen con opencv en java y netbeans, Comencemos…

Requerimientos

Desarrollo

Lo primero sera crear un nuevo proyecto en Netbeans para ello vamos a FILE -> NEW PROJECT -> JAVA -> JAVA APPLICATION, la nombramos como queramos y terminamos.
Agregamos la libreria de OpenCV en nuestro proyecto.
En este proyecto utilizaremos la siguiente imagen para mostrarla:

Cargar y Mostrar una Imagen con OpenCV en Java jonathanmelgoza 1

Ahora crearemos nuestra clase principal de el proyecto:

Desde aqui mandamos llamar a otra llamada Procesar:

En esta clase se realiza todo el proceso de cargar la imagen a nuestro programa y el proceso de conversion de la imagen de tipo Mat de opencv a objeto Image de AWT finalmente se envia a nuestro objeto ventana la imagen ya en formato AWT para ser mostrada.

Nuestro Objeto Ventana no es mas que una clase que hereda de JFrame que solo tiene un JLabel, en el constructor recibe la imagen y la asigna al icono de esta etiqueta.

Ejecutamos y si todo va bien veremos el resultado final
Cargar y Mostrar una Imagen con OpenCV en Java 2




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

Visto – Cargar y Mostrar una Imagen con OpenCV en Java

Cargar y Mostrar una Imagen con OpenCV en Java
5 (100%) 1 voto

Dejar un comentario

47 Comments on "Cargar y Mostrar una Imagen con OpenCV en Java"

avatar
  Subscribe  
Notify of
Aníbal Andrade
Member

Muchas gracias, como seria la misma aplicacion pero para compilar desde consola en linux?

Iker
Guest

Cuando hago lo siguiente:
imagen = Imgcodecs.imread(“ruta”,Imgcodecs.CV_LOAD_IMAGE_COLOR);
System.out.println(imagen);
Me devuelve:
Mat [ 0*0*CV_8UC1, isCont=false, isSubmat=false, nativeObj=0x7febc05177a0, dataAddr=0x0 ]
Es decir, me envía la imagen vacía y no entra en el:
if(!imagen.empty())

Maritza Alvarez
Guest

Hola Soy Maritza Alvarez de Venezuela, estoy revisando este codigo ya que estoy trabajando con imagenes y necesito realizar detección de bordes en imágenes de prostatas, estoy tratando de implantar Cargar y Mostrar una Imagen con OpenCV en Java y Netbeans para comenzar y me da este error : Exception in thread “main” java.lang.NullPointerException
at cargaimagen.opencv.Procesar.(Procesar.java:28)
at cargaimagen.opencv.CargaImagenOpencv.main(CargaImagenOpencv.java:24). Como podria resolverlo?

Juan
Guest

Hola que tal estoy guiandome en tu proyecto para hacer el mio pero me marca el siguiente error

Cargar y Mostrar una Imagen
Exception in thread “main” java.lang.NullPointerException
at filtradoimagen.Procesar.(Procesar.java:23)
at filtradoimagen.FiltradoImagen.main(FiltradoImagen.java:19)
Java Result: 1

Ya puse la imagen en la misma carpeta donde esta el proyecto, el número de línea que me marca el error es en la URL espero tu ayuda

Romario
Guest

Lo que sucede es que tienes que crear un nuevo Package en tu proyecto, y dentro de ese package poner la imagen que vas a cargar. Una vez que tengas la imagen dentro del package, pones el URL en mi caso mi package lo llame “resources” y mi url fue “/resources/pjk.jpg”