14

Android 用のコンピューター ビジョン アプリケーションを開発しています。その作業にはできるだけ早くカメラ フレームを取得する必要があるため、「android_native_app_glue」と「libnative_camera」を使用して C++ で Android アプリケーションを直接ビルドしてカメラ フレームを取得しようとしています。互換性がないようです。

2つのオプションをテストしました。

  1. Android NDK サンプル "NativeActivity" で OpenCV を使用しようとしましたが、必要な変更をいくつか加えるだけです (サンプルを C++ に変換し、android.mk と 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 *)' 等々

  1. 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 を使用して純粋なネイティブ アクティビティをテストした人はいますか?

前もって感謝します。

4

3 に答える 3

1

そこで問題を解決しました。それは私のせいでした(いつものように)問題は、Android.mkに次の行を書いていたことでした:LOCAL_STATIC_LIBRARIES := android_native_app_glue、この行の代わりに:LOCAL_STATIC_LIBRARIES += android_native_app_glue。新しいライブラリを追加し、以前にロードしたものを削除しないために、「プラス」記号が必要でした。とにかくありがとう!!

@アディ・シャビット - thx

于 2013-05-10T07:48:58.780 に答える
0

LOCAL_STATIC_LIBRARIES := android_native_app_glue を LOCAL_STATIC_LIBRARIES += android_native_app_glue に変更します。プラス記号に注意してください。これにより、以前にロードされたライブラリを削除せずに、新しいライブラリが追加されます。出典:コメントのEdanna

于 2012-08-04T01:07:46.157 に答える
0

たぶん、V4L インターフェースを見てみる必要がありますか? このスレッドをチェックしてみてください: http://comments.gmane.org/gmane.comp.handhelds.android.ndk/2824

思い出すと、OpenCV でカメラの dev ファイルから直接読み取ることができます。-ジェームズ

于 2011-11-01T16:36:03.943 に答える