Domanda

sto sviluppando un'applicazione di visione artificiale per Android.Questo lavoro implica ottenere i fotogrammi della fotocamera il più velocemente possibile, quindi sto cercando di creare un'applicazione Android direttamente in C++ utilizzando "android_native_app_glue" e "libnative_camera" per ottenere i fotogrammi della fotocamera.Sembra essere incompatibile.

Ho testato 2 opzioni.

  1. Ho provato a utilizzare OpenCV sull'esempio Android NDK "NativeActivity", apportando solo le poche modifiche necessarie (convertire l'esempio in C++, modificare Android.mk e application.mk e includere l'uso degli spazi dei nomi e degli include). Viene restituito il seguente errore:

libreria condivisa:libnative-activity.so c: /development/android-opencv-wsp/samples/native-activity/obj/local/armeabi-v7a/objs/native-activity/main.o:In funzione ~Mat': C:\Development\android-opencv-wsp\samples\native-activity/../../OpenCV-2.3.1/share/OpenCV/../../include/opencv2/core/mat.hpp:297: undefined reference toCV :: FastFree (void*) 'e così via

  1. Ho provato a importare le librerie necessarie per realizzare un'attività nativa sull'esempio 3 del tutorial OpenCV2.3.1.Ho semplicemente modificato Android.mk e ho aggiunto:

LOCAL_STATIC_LIBRARIES := android_native_app_glue

Immediatamente, quando aggiungo questa riga, ottengo il seguente errore:Libreria condivisa:libnative_sample.so c: /development/android-opencv-wsp/samples/tutorial-3 native/obj/local/armeabi-v7a/objs/native_sample/jni_part.o:In funzione ~Mat': C:\Development\android-opencv-wsp\samples\tutorial-3-native/../../OpenCV-2.3.1/share/OpenCV/../../include/opencv2/core/mat.hpp:297: undefined reference toCV :: FastFree (void*) 'e così via ...

Per favore, qualcuno ha testato un'attività puramente nativa con openCV2.3.1 e libnative_camera per ottenere i fotogrammi della fotocamera?

Grazie in anticipo.

È stato utile?

Soluzione

Cambia LOCAL_STATIC_LIBRARIES := android_native_app_glue in LOCAL_STATIC_LIBRARIES += android_native_app_glue.Nota il segno più.Ciò aggiungerà la nuova libreria senza eliminare quella caricata in precedenza.Fonte:Edanna nei commenti

Altri suggerimenti

Lì ho risolto il problema.È stata colpa mia (come al solito xD), il problema era che stavo scrivendo nel mio Android.mk questa riga:LOCAL_STATIC_LIBRARIES := android_native_app_glue, invece di questa riga:LOCAL_STATIC_LIBRARIES += android_native_app_glue.Avevo bisogno del simbolo "più", per poter aggiungere la nuova libreria e non eliminare quella precedentemente caricata.Grazie comunque!!

@Adi Shavit - grazie

Forse dovresti dare un'occhiata all'interfaccia V4L?Potresti voler dare un'occhiata a questo thread: http://comments.gmane.org/gmane.comp.handhelds.android.ndk/2824

Se ricordo bene puoi leggere direttamente dal file dev di una fotocamera in OpenCV.-Giacomo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top