在OpenCV2.3.1中通过视频捕获捕获android摄像头
我正在尝试在我的OpenCV本机应用程序中使用VideoCapture。到 按照发布的说明构建我的应用程序 OpenCV2.3.1版本,所以我有一个Android.mk文件来构建我的应用程序和 eclipse中的一个构建器可以直接从eclipse执行此操作。 编译和链接其他openCV模块时,一切正常,但当我使用VideoCapture时,会出现如下链接错误: 共享库:liblivecamera.so C:/Development/android opencv wsp/VideoCamLibAndroid_v0.1/obj/local/ armeabi-v7a/libopencv_highgui.a(cap_android.o):在函数中在OpenCV2.3.1中通过视频捕获捕获android摄像头,android,opencv,camera,android-ndk,video-capture,Android,Opencv,Camera,Android Ndk,Video Capture,我正在尝试在我的OpenCV本机应用程序中使用VideoCapture。到 按照发布的说明构建我的应用程序 OpenCV2.3.1版本,所以我有一个Android.mk文件来构建我的应用程序和 eclipse中的一个构建器可以直接从eclipse执行此操作。 编译和链接其他openCV模块时,一切正常,但当我使用VideoCapture时,会出现如下链接错误: 共享库:liblivecamera.so C:/Development/android opencv wsp/VideoCamLibAn
CvCapture_Android::convertYUV2BGR(int,int,unsigned char const*,
cv::Mat&,bool,bool)“:cap_android.cpp:
(.text._ZN17CvCapture_android14转换器YUV2BGREIIIPKHRN2CV3mateb
*+0x1c6):未定义对
cv::cvtColor(cv:_inputarrayconst&,cv:_outputarrayconst&,int,int)“cap_android.cpp:
(.text._ZN17CvCapture_android14转换器YUV2BGREIIIPKHRN2CV3mateb
+0x1f8):对“cv::cvtColor(cv:_InputArrayConst&,cv:_OutputarrayConst&,int,int)”集合2:ld的未定义引用返回了1个出口
状态代码:[/cygdrive/c/Development/android opencv wsp/
VideoCamLibAndroid_v0.1/obj/local/armeabi-v7a/liblivecamera.so]错误
一,*
如果我使用opencv2.3.0,我可以让它工作(使用CMake编译),但我确实需要使用OCV2.3.1及其新功能
是否有人成功地将视频捕获模块与OpenCV2.3.1结合使用 我也遇到了同样的问题,在我的头撞在墙上几个小时后,我终于找到了解决办法 显然,OpenCV 2.3.1提供的
OpenCV.mk
中存在错误
以下一行:
OPENCV\u模块:=contrib-calib3d-objdetect功能2d-video-imgproc-highgui-ml-legacy-flann-core
应替换为:
OPENCV_模块:=contrib legacy objdetect calib3d功能2d video highgui ml imgproc flann core
它看起来非常相似,但是如果你看一下模块的顺序,会有一点不同
通过查看OpenCVConfig.cmake
文件,您可以了解此更改的逻辑,该文件的状态如下:
#库顺序非常重要,因为Android NDK的链接器是一个一次性链接器
如果它如此重要,为什么它没有包含在原始的OpenCV.mk