我做的就像Opencv2.2所说的那样(this); 现在,我可以使用构建的静态opencv库来构建我需要的xx.so文件,而不是android程序,它的工作原理。但是当我使用函数cvCaptureFromFile时,会出现如下错误 在构建期间。
$ $ NDK_ROOT / ndk-build
Compile ++ thumb:facedetection< = / cygdrive / e / workspace / Recognization1_0 / jni / hus
t_iprai1104_jni_FaceDetectedJNI.cpp
SharedLibrary:libfacedetection.so
/cygdrive/d/OpenCV-2.2.0/android/build/obj/local/armeabi-v7a/libopencv_highgui.a
(cap.o):在函数cvCreateVideoWriter':
cap.cpp:(.text.cvCreateVideoWriter+0x16): undefined reference to
cvCreateVideoW中
riter_Images(char const *)'
cap.cpp :(。text.cvCreateVideoWriter + 0x20):对cvCreateVideoW
riter_Images(char const*)'
/cygdrive/d/OpenCV-2.2.0/android/build/obj/local/armeabi-v7a/libopencv_highgui.a
(cap.o): In function
cvCreateFileCapture'的未定义引用:
cap.cpp :(。text.cvCreateFileCapture + 0x2):对`cvCreateFileCap的未定义引用
ture_Images(char const *)'
collect2:ld返回1退出状态
make: * [/ cygdrive / e / workspace / Recognization1_0 / obj / local / armeabi / libfacedetec
tion.so]错误1
它说无法找到cvCreateFileCapture_Images(char const *),我该怎么办? 当cmake或make ???时,opencv2.2是不是支持视频进程?
答案 0 :(得分:0)
HighGUI实际上负责为OPENCV NATIVE UI构建UI元素,用于显示图像等,并且还用于抓取帧等,因为这不能在android中编译,因为JNI中的UI库不可用库以及,在android中UI是用java创建的,所以HIGHGUI不能合并到OPENCV库中,如果合并你也不能全面使用它,
所以对于阅读视频文件或从相机中抓取帧,使用android java框架(例如:camera.Preview回调来获取原始YUV帧),然后用它来构造IplImage并将其用于处理。
希望这能解决你的问题..