2012-09-20 18 views
6

Necesito hacer una aplicación de reconocimiento de imágenes. Estaba revisando el tutorial de OpenCV y dice que necesito instalar el administrador de OpenCV de Google Play, lo cual no es bueno desde el punto de vista del usuario. Pero después de cavar durante muchas horas noté que OpenCV es el más popular y confiable entre todos. ¿Hay alguna buena alternativa a OpenCV que no requiera la instalación de otra aplicación? Y qué es esta inicialización estática de OpenCV. Y si no quiero instalar OpenCV Manager, ¿qué tan bueno debería saber NDK?Android - alternativa para OpenCV?

Respuesta

1

La inicialización estática es la alternativa al administrador de OpenCV, con esto la biblioteca está incluida dentro de la aplicación (como en el pasado) y el usuario no necesita instalar el administrador. Además, los desarrolladores están trabajando para que el Administrador implemente las aplicaciones de forma más sencilla para los usuarios.

+1

Ok aquí hay una pregunta más. Si hago la inicialización estática, ¿qué archivos necesito agregar en mi carpeta lib? El tutorial de OpenCV me dio una imagen borrosa de cómo funciona. Revisé los archivos dentro de native/libs y estos son algunos archivos enormes en términos de tamaño que no voy a agregar en absoluto. Cómo pueden tener una aplicación OpenCV manager de 375kb haciendo todo lo que requiere megs de archivos. Creo que estoy confundido ¿Podría explicar un poco más qué archivos de esa carpeta de lib necesitaría para que todo funcione en mi aplicación? – Varundroid

+0

disculpa por preguntar cosas nuevas pero nunca he hecho algo así antes. – Varundroid

+1

El administrador de OpenCV es 375kb porque le pedirá que descargue una lib de unos MB que depende de la CPU de su teléfono inteligente. Tienes que incluir manualmente esa lib cuando haces el método estático. A partir de esos archivos "enormes", debe elegir el correcto para los dispositivos de destino o incluirlos a todos. Creo que si los incluye, su aplicación no superará los 25Mb, ¿verdad? –

2

Puede enviar OpenCV en su propio paquete si lo desea, realmente no necesita el administrador. Si envía OpenCV en su paquete, puede usarlo a nivel nativo (C/C++), pero también puede usar los wrappers para usarlo directamente a nivel de Java.

+0

+1. Gracias por tu respuesta. – Varundroid

+0

IMPORTANTE: el administrador de OpenCV contiene una biblioteca nativa de opencv compilada con gnustl_static ... ¡En caso de que su código de C++ también se compile con gnustl_static, esto puede provocar bloqueos horribles! solo lea la sección de "tiempos de ejecución estáticos" de CPLUSPLUS-SUPPORT.html en la página de documentos del NDK – Sdra

1

Quizás podría utilizar una biblioteca de Qualcomm Vuforia. Nunca lo he usado pero he escuchado mucho sobre eso.

+0

Vuforia es una gran cosa de AR. No puedo agregar esa sobrecarga en mi aplicación, pero aún así, gracias por su consejo. – Varundroid