Androidネイティブアクティビティを使用したOpenCv2.3.1の使用問題
-
27-10-2019 - |
質問
Android向けのコンピュータービジョンアプリケーションを開発しています。その作業には、できるだけ速くカメラフレームを取得することが含まれているため、「android_native_app_glue」と「libnative_camera」を使用してカメラフレームを取得するために、C ++でAndroidアプリケーションを直接構築しようとしています。互換性がないようです。
2つのオプションをテストしました。
- Android NDKサンプル「Nativeactivity」でOPENCVを使用しようとしました。必要な変更をいくつか変更します(サンプルをC ++に変換し、Android.mk Y Application.mkを変更し、名前空間を使用して含めることを含む)次のエラーが得られます。
SharedLibrary:libnative-activity.so c:/development/android-opencv-wsp/samples/native-activity/obj/local/armeabi-v7a/objs/native-activity/main.o:機能 ~Mat':
C:\Development\android-opencv-wsp\samples\native-activity/../../OpenCV-2.3.1/share/OpenCV/../../include/opencv2/core/mat.hpp:297: undefined reference to
cv :: fastfree(void*) 'など
- OPENCV2.3.1チュートリアル3サンプルでネイティブアクティビティを作成するために必要なライブラリをインポートしようとしました。 Android.mkを単に変更して追加しました。
local_static_libraries:= android_native_app_glue
すぐに、この行を追加すると、次のエラーが表示されます。SharedLibrary:libnative_sample.so c:/development/android-opencv-wsp/samples/tutorial-3-native/obj/local/armeabi-v7a/objs/native_sample/ JNI_PART.O:機能 ~Mat':
C:\Development\android-opencv-wsp\samples\tutorial-3-native/../../OpenCV-2.3.1/share/OpenCV/../../include/opencv2/core/mat.hpp:297: undefined reference to
cv :: fastfree(void*) 'など...
カメラフレームを取得するためにOpenCv2.3.1とlibnative_cameraを使用して純粋にネイティブなアクティビティをテストしましたか?
前もって感謝します。
解決
Local_static_librariesを変更:= android_native_app_glue to Local_static_libraries += android_native_app_glue。プラスサインに注意してください。これにより、以前にロードされたライブラリを削除せずに新しいライブラリが追加されます。出典:コメントのエダンナ
他のヒント
そこで問題を解決しました。私のせいだった(いつものようにxD)問題は、私がandroid.mkに書いていたということでした。新しいライブラリを追加して、以前にロードされたものを削除しないために、「プラス」記号が必要でした。とにかくありがとう!!
@adi shavit -thx
たぶん、V4Lインターフェイスを見てみる必要がありますか?このスレッドをチェックアウトすることをお勧めします。 http://comments.gmane.org/gmane.comp.handhelds.android.ndk/2824
思い出すと、OpenCVのカメラの開発ファイルから直接読むことができます。 - ジェームズ