- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个带有 native 部分的应用程序,它使用嵌入式 OpenCV 从视频文件中提取帧。到目前为止,我收到此错误:
.../jni/ocv.c:12: undefined reference to `cvCreateFileCapture'
我的 Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ocv
LOCAL_SRC_FILES := ocv.c
include $(BUILD_SHARED_LIBRARY)
应用程序.mk:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi
ocv.c:
#include <string.h>
#include <jni.h>
#include <stdio.h>
#include <dlfcn.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
jstring Java_com_ice_salvador_MainActivity_invokeNativeFunction(JNIEnv* env, jobject javaThis) {
IplImage* currFrame = 0;
CvCapture* cap = 0;
cap = cvCaptureFromFile("/mnt/sdcard/vvv.3gp"); //test video
return (*env)->NewStringUTF(env, "Hello from native code!");
}
我正在使用 OpenCV-2.4.3-android-sdk、Android NDK r8b、Eclipse Juno、Windows。
IplImage
,CvCapture
得到解析,并且如果我删除带有 cvCaptureFromFile
的行,代码就会编译 - 所以我假设我在右边方式。我是 JNI 和 OpenCV 的新手。感谢你的帮助!谢谢。
最佳答案
不要让我自己的问题得不到解答..
1) 我已更改 Android.mk 以包含 SDK 中的 OpenCV.mk 并将 .so lib 包含到构建中:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include c:\dev\OpenCV-2.4.3-android-sdk\sdk\native\jni\OpenCV.mk
LOCAL_MODULE := ocv
LOCAL_SRC_FILES := ocv.c
LOCAL_LDLIBS += -Lc:\dev\OpenCV-2.4.3-android-sdk\sdk\native\libs\armeabi
include $(BUILD_SHARED_LIBRARY)
#LOCAL_PATH := /home/spatialite/jni
include $(CLEAR_VARS)
LOCAL_MODULE := libopencv_java
LOCAL_SRC_FILES := libopencv_java.so
include $(PREBUILT_SHARED_LIBRARY)
2) 将 libopencv_java.so 复制到 jni/文件夹。
3)将java代码更改为:
static {
System.loadLibrary("opencv_java");
System.loadLibrary("ocv");
}
错误已经消失。
关于java - 使用 Eclipse 构建 Android 原生 Opencv 给出 "undefined reference to ` cvCreateFileCapture'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353647/
在Learning OpenCV一书中,关于这句话有如下说法: CvCapture* capture = cvCreateFileCapture(argv[1]); The function cvCr
我正在用 C 语言使用 OpenCV。我打算在窗口上运行视频(并且在使用我制作的算法显示帧之前对帧进行一些图像处理)。但是以下行: CvCapture* capture = cvCreateF
我正在用 Xcode 4.3.3 和 OpenCV 2.4 制作一个 iphone 应用 我使用“cvCreateFileCapture("simtom.mp4")”从“.mp4”文件获取帧,但不幸的
我正在学习有关 OpenCV 的教程,但是当我构建项目时,会显示一条错误消息: #include #include int main (int argc, char **argv) { c
我一直在尝试从各种教程站点学习 javacv 教程,但最大的问题是几乎每个教程都使用 cvCreate... 方法来获取图像和视频。但是当我输入这些时,我无法在任何库中找到这些方法。我从 bytede
有时使用网络 URL 作为参数调用函数 cvCreateFileCapture 时会发生段错误,例如:rtsp://IPaddress:Port/Path... int main(int argc,
有一个 AVI 视频文件和一个网络摄像头。 cvQueryFrame 在这两种情况下都返回 null。应用代码(仅适用于凸轮): #include "highgui.h" #include usin
我试图在 Fedora 11 系统上使用 openCV 1.0 的 highgui.cvCreateFileCapture(path) 函数打开视频文件。不幸的是,这个函数总是返回空值。我尝试将它用于
我正在开发一个带有 native 部分的应用程序,它使用嵌入式 OpenCV 从视频文件中提取帧。到目前为止,我收到此错误: .../jni/ocv.c:12: undefined reference
我是一名优秀的程序员,十分优秀!