使用OpenCV2.3.1与Android本机活动的问题

时间:2011-09-08 10:29:19

标签: android opencv native-activity

我正在为Android开发一个计算机视觉应用程序。 这项工作涉及尽可能快地获取相机帧,所以我试图使用“android_native_app_glue”和“libnative_camera”直接在c ++中构建一个Android应用程序来获取相机帧。 这似乎是不相容的。

我测试了2个选项。

  1. 我尝试在Android NDK示例“NativeActivity”上使用OpenCV,只需进行一些必要的更改(将示例转换为c ++,修改android.mk和application.mk并包括使用名称空间和包含)它会出现以下错误:
  2. 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并添加了:
    2. 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测试纯粹的原生活动以获取相机帧?

      提前致谢。

3 个答案:

答案 0 :(得分:1)

我解决了那里的问题。这是我的错(像往常一样xD)问题是我在我的Android.mk中写了这一行:LOCAL_STATIC_LIBRARIES:= android_native_app_glue,而不是这一行:LOCAL_STATIC_LIBRARIES + = android_native_app_glue。我需要“加号”符号,以便添加新库而不删除以前加载的库。不管怎么说,还是要谢谢你!!

@Adi Shavit - thx

答案 1 :(得分:0)

也许您应该看看V4L界面?您可能想查看此主题:http://comments.gmane.org/gmane.comp.handhelds.android.ndk/2824

如果我记得你可以直接从OpenCV中的相机开发文件中读取。 -James

答案 2 :(得分:0)

将LOCAL_STATIC_LIBRARIES:= android_native_app_glue更改为LOCAL_STATIC_LIBRARIES + = android_native_app_glue。注意加号。这将添加新库而不删除以前加载的库。资料来源:Edanna评论