jueves, 7 de junio de 2012

JavaCV + Netbeans + Ubuntu

¿Cómo utiulizar OpenCV para programar en Java?

-->
Si bien OpenCV no fue creado para su uso directo en Java, se creó una interface llamada JavaCV que proporciona adaptadores para las bibliotecas de uso común por parte de los investigadores en el campo de visión por computadora.

Actualmente, Ubuntu 12.04 trae incorporado en sus repositorios OpenCV, por lo que para instalarlo basta con escribir:
sudo apt-get install libopencv-dev
Otra forma de instalarlo ha sido descripta en un post anterior. Para acceder a él, slick aquí.

Para poder utilizar JavaCV, se debe bajar el paquete javacv-xxx-bin.zip desde aquí. Se debe tener en cuenta que hay un JavaCV para cada versión de OpenCV, por lo que utilizar un JavaCV actual con un OpenCV viejo, o viceversa, no funcionará. Yo, por ejemplo, utilizo las versiones:
  • OpenCV 2.3
  • JavaCV del 29 de Marzo de 2012 (javacv-bin-20120329.zip)
Una vez descargado descomprimir en un lugar seguro, donde no vayamos a borrarlo, y vincularlo a las librerías del proyecto Netbeans de la siguiente manera:
  1. Crear un nuevo proyecto Java o abrir uno existente.
  2. Click derecho sobre el proyecto > Properties.
  3. Dentro de Categories > Libraries.
  4. Click en "Add JAR/Folder" y agregar los siguientes jar:
    • javacpp.jar
    • javacv.jar 
    • javacv-linux-x86_64.jar 



Una vez hecho ésto, ya se puede utilizar OpenCV desde un proyecto Java. No olvidar las importaciones al comienzo del archivo de clase, por ejemplo:

import com.googlecode.javacv.cpp.*;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
 Luego, se programa haciendo referencia a los namespaces, por ejemplo: