Mkr*_*Mkr 15 android opencv javacv android-studio
我正在尝试将JavaCV与Android Studio和Gradle一起使用.我写了这样的代码片段:
repositories {
mavenCentral()
maven {
url "http://maven2.javacv.googlecode.com/git/"
}
}
dependencies {
compile files('libs/android-support-v4.jar')
compile group: 'com.googlecode.javacpp', name: 'javacpp', version: '0.5'
compile group: 'com.googlecode.javacv', name: 'javacv', version: '0.5'
}
Run Code Online (Sandbox Code Playgroud)
我在dir外部库中看到了导入的库.所以我试着运行这个:
...
IplImage zdjecie=cvLoadImage(Environment.getExternalStorageDirectory().getPath()+ "/1.bmp");
cvSaveImage(Environment.getExternalStorageDirectory().getPath()
+ "/2.bmp", zdjecie);
...
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jniopencv_core: findLibrary returned null
Run Code Online (Sandbox Code Playgroud)
...因为我不知道我应该怎么处理opencv(和其他人).so文件.
那么我们应该如何在Android Studio中使用JavaCV?
1.警告: 这还不够!:
dependencies { compile group: 'org.bytedeco', name: 'javacv', version: '0.9'}
Run Code Online (Sandbox Code Playgroud)
2.编辑:抱歉,我犯了错误,我最近在此处发布的解决方案仅讲述了上面的行,这是错误的。但我检查了一下,这对我有用:
a)添加依赖项
dependencies {
compile group: 'org.bytedeco', name: 'javacv', version: '0.9'
compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.9-0.9', classifier: 'android-arm'
compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.3-0.9', classifier: 'android-arm'
}
Run Code Online (Sandbox Code Playgroud)
b)在项目中创建jniLibs目录(与普通 libs 目录处于同一级别。编辑:如果遇到一些问题,请尝试将 jniLibs 移动到 app/src/main)。
c)将从 opencv-android-arm.jar 和 ffmpeg-android-arm.jar 中提取的所需 .so 文件(或仅您真正需要的文件)添加到创建的 jniLibs 目录中。(如果您不知道我在说什么,您可以从JavaCV 页面下载 javacv-0.9-bin.zip ,在其中您可以找到这 2 个 .jar)。
归档时间: |
|
查看次数: |
10805 次 |
最近记录: |