Android 使用OpenCV SDK 开源库---傻瓜式教程

1:创建一个Android项目-----(不会的话还是放弃吧~)

2:去OpenCV官方网站下载安卓的SDK(版本随便选)

3:Android 使用OpenCV SDK 开源库---傻瓜式教程_第1张图片就是他啦

4:Android 使用OpenCV SDK 开源库---傻瓜式教程_第2张图片

5:C:\Users\sunbo\Downloads\opencv-3.4.4-android-sdk\OpenCV-android-sdk\sdk\java (兄弟去你解压缩的目录找到你下载的opencv-3.4.4-android-sdk) 

Android 使用OpenCV SDK 开源库---傻瓜式教程_第3张图片

6:点击Next-默认-finish就行 。然后静静等待(滑稽)

Android 使用OpenCV SDK 开源库---傻瓜式教程_第4张图片

Android 使用OpenCV SDK 开源库---傻瓜式教程_第5张图片

7:然后File-Project Structure-app-Dependencies-加号-Module Dependencies-选择你的opencvsdk 确定,静静等待。

Android 使用OpenCV SDK 开源库---傻瓜式教程_第6张图片

8:把opencv android  sdk的 native\libs 目录下的所有文件copy到安卓项目app的libs下

arm64-v8a ,armeabi,armeabi-v7a,x86等等 这些是手机cpu架构。基本常用的是这几个。如果在意项目包的大小,没必要全部copy,选择常用的就行,细节自行百度。

Android 使用OpenCV SDK 开源库---傻瓜式教程_第7张图片Android 使用OpenCV SDK 开源库---傻瓜式教程_第8张图片

9:修改gradle文件和编译,保证这openCVLibrary的gradle和app的匹配

compileSdkVersion ,minSdkVersion,targetSdkVersion

Android 使用OpenCV SDK 开源库---傻瓜式教程_第9张图片

10:打开app下的gradle文件,在最下面输入以下代码,原理是task一个XXX,然后描述XXX

描述的信息有这个XXX的目录,名字,来自哪儿,要去哪儿

最后Compile 编译XXX

task nativeLibsToJar(type: Jar, description: 'create a jar archive of the native libs') {
    destinationDir file("$buildDir/native-libs")
    baseName 'native-libs'
    from fileTree(dir: 'libs', include: '**/*.so')
    into 'lib/'
}
tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

Android 使用OpenCV SDK 开源库---傻瓜式教程_第10张图片

11:然后再gradle(app)下dependencies{}内部输入以下代码,就是把第10步做的事情加入到你的安卓项目里

 implementation fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
12:大功告成,可以去测试你的OpenCV-sdk了。先别着急!忘记配置ndk了… File-Project Structure-SDK Loction-Android NDK location选择你的NDK(这里建议你去官网下载,NDK 下载  |  Android NDK  |  Android Developers 然后配置一下系统path,具体细节就不多讲了,百度有很多。为什么不用IDE的NDK,就是任性~~~不任性的可以自行尝试~~~哈哈哈哈)

13:我迫不及待的run project  开心地打开logcat,关注下opencv,上面还有很多openCV库的初始化日志。

Android 使用OpenCV SDK 开源库---傻瓜式教程_第11张图片

15:prefect~~~ 哇 爱学习的同学这么多,来一个小栗子吧~~时间有限,就不带大家验证了哈,有点安卓基础的都可以看懂~~~看完别忘记点赞哦。

  Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.timg);
        Mat src = new Mat();
        Mat dst = new Mat();
        Utils.bitmapToMat(bitmap, src);
        Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGRA2GRAY);
        Utils.matToBitmap(dst, bitmap);
        iv.setVisibility(View.VISIBLE);
        iv.setImageBitmap(bitmap);
        src.release();
        dst.release();

你可能感兴趣的:(Android,OpenCV)