Dedicaremos este tutorial a conocer el proceso necesario para compilar la librería OpenCV para Android, al terminar obtendremos el OpenCV4Android SDK requerido para desarrollar aplicaciones de Visión por Computador destinadas a ser utilizadas en dispositivos móviles con sistema operativo Android, con este SDK podremos crear aplicaciones de reconocimiento de objetos, caras, etc., realidad aumentada, aprendizaje automático y otros.
opencv4android
Para empezar primero debemos instalar las herramientas necesarias para compilar en Windows:
  • Código fuente de OpenCV (para este tutorial usare la versión 3.3.0)
  • CMake (requerido para generar el proyecto, versión 3+)
  • MinGW (puedes instalarlo vía msys2, en mi caso uso las herramientas incluidas en Qt-5 asegúrate de agregar la carpeta <mingw>/bin a la variable de entorno PATH)
  • Apache Ant (agregar la variable de sistema ANT_HOME apuntando a la carpeta descomprimida <ant> también será necesario agregar la carpeta <ant>/bin a la variable de entorno PATH)
  • Java JDK (instalar y agregar la ruta a la variable de sistema PATH)
  • Android NDK (agregar la variable de sistema ANDROID_NDK apuntando a la carpeta descomprimida)
  • Python 2.x (instalar y agregar la ruta a la variable de sistema PATH)
Lo primero, luego de haber descargado he instalado las herramientas previamente mencionadas será abrir CMake he indicar mediante el botón Browse Source… la carpeta en la que descomprimimos el código fuente de OpenCV, también utilizaremos el Browse Build… para seleccionar la carpeta en donde se guardará el proyecto.
Presionamos Configure y seleccionamos el generador MinGW Makefiles tambien nos aseguramos de activar la opción Specify toolchain file for cross-compiling.
OpenCV4Andriod SDK CMake
El la siguiente ventana seleccionamos el archivo android.toolchain.cmake que se encuentra en la carpeta /opencv-3.3.0/platform/android/ para finalizar presionamos el botón Finish.
OpenCV Android toolchain
Si todo esta correcto veremos el mensaje Configuring done al final, de ser así procedemos haciendo clic en el botón Generate, esperamos a que termine el proceso y abrimos la carpeta en donde indicamos se debía guardar el proyecto.
Generar OpenCV para Android
Si se muestra un mensaje de error indicando que no ha podido localizar alguna herramienta debes asegurarte de haberla agregado correctamente al PATH o también pueden indicarla manualmente a través de la GUI de CMake.
El siguiente paso es dirigirse al la carpeta en donde se genero el proyecto, una vez en ella abres una ventana de comando CMD puedes hacer clic en el botón archivo ubicado en la parte superior derecha del explorador y seleccionar abrir ventana de comandos aquí, debes ejecutar el siguiente comando:
mingw32-make
Compilar OpenCV para Android
Si todo finaliza de manera correcta ejecutamos en siguiente comando que nos permitirá generar la carpeta que contiene todos los archivos necesarios para programar aplicaciones OpenCV desde Android.
mingw32-make install
Los resultados serán almacenados en la carpeta indicada en CMAKE_INSTALL_PREFIX por defecto es la carpeta installubicada en la misma carpeta en donde indicaste se debía guardar el proyecto.
-install
+-apk
+-sdk
+-LICENSE
+-README.android

Finalizamos por ahora, ya estamos preparados para utilizar OpenCV en Android pero eso será para la próxima.