android opencv jni android-ndk

¿Cómo usar Java con NDK Android?



opencv jni (2)

¿Su aplicación requiere la interfaz C? OpenCV en realidad lo considera obsoleto / hecho con, la nueva API es C ++. Un puerto de esta interfaz y la aplicación de calibración de muestra están aquí: http://code.google.com/p/android-opencv/

Me llevó un tiempo venderme el nuevo C ++, pero tuve que admitir que era agradable no tener que hacer cvReleaseMat () y seguir y volver entre IplImage y CvMat todo el tiempo. Documento de Opencv 2.1: http://opencv.willowgarage.com/documentation/cpp/index.html

Asumo que usando el código OpenCV aquí: http://github.com/billmccord/OpenCV-Android#readme es la mejor manera de usar OpenCV en Android, con el NDK.

Todavía estoy atascado en cuanto a cómo me sale de las definiciones de C de funciones a las que declaro en OpenCV.java en mi proyecto de Android

cvFindContours( void* img, CvMemStorage* storage, CvSeq** firstContour, int cntHeaderSize, int mode, int method, CvPoint offset ) --> findContours(int[] data, int w, int h) )

Cualquier ayuda / consejos apreciados, incluso donde comenzar a resolver esto. Actualmente quiero usar cvHoughCircles, cvHoughCircles(CvArr* image, void* circle_storage, int method, double dp, double min_dist, double param1 = 100, double param2 = 300, int min_radius = 0, int max_radius = 0};

¿Cómo escribo esto en Java con ndk para Android?


Mire las muestras de Android dentro del ndk (hello-jni). Están en el directorio de aplicaciones del NDK. Muestran cómo importar la biblioteca y llamar a métodos nativos. En el lado C de las cosas tienes que dar a tus métodos las convenciones jni naming adecuadas Java _... nombre de la clase java completamente calificado, hacer métodos externos y también incluirlos para hacerlos accesibles.

También el directorio de documentos del NDK tiene toda la documentación sobre cómo compilar y ejecutar código nativo.