基于Android Studio的OpenCV开发环境搭建笔记
1.我的基本软件配置
(1).开发软件 Android Studio 2.2.3
[外链图片转存失败(img-NaAqKhtb-1567397927176)(http://i.imgur.com/ym1utrJ.png)]
(2).编译环境 OpenCV-android-sdk 3.0.0
2.步骤
(1).用AS(Android Studio)新建一个新项目.
(2).用AS新建一个模块(new module),导入OpenCV-sdk的JAVA文件,因为该SDK是Eclipse模式,所以会有告诉我们要不要创建Gradle-style,我们全选,点finish即可.完成后会弹出一个报告,我们不用管,关掉即可.
(3).我们要修改AS的build.gradle与openCVLibrary的build.gradle下的 compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion 的后面的值是一样的
(4).我们右键项目app.点击Open Module Settings
[外链图片转存失败(img-G7pyksUw-1567397927176)(http://i.imgur.com/1rIJgJW.png)]然后跟着下图的箭头顺序点击加载类库
[外链图片转存失败(img-xvR25mQh-1567397927176)(http://i.imgur.com/14Wj6Po.png)]现在OpenCV里面的源代码就加载进来了
(5).如下图所示,把OpenCV SDK native libs下的所有文件拷贝到你新建的AS项目文件的app libs里,拷贝前后图:
[外链图片转存失败(img-pO2DqnVI-1567397927177)(http://i.imgur.com/0lMOhI8.png)]
[外链图片转存失败(img-kx0il3rR-1567397927178)(http://i.imgur.com/vloY9fW.png)]
(6).打开AS的build.gradle,如下图,将下面标注的1,2,3点复制到里面,如图,你们的没有,我已经复制好了
[外链图片转存失败(img-ARCk9XGA-1567397927178)(http://i.imgur.com/XdEzTkR.png)]
代码一:
compile fileTree(dir: "$buildDir/native-libs", include:'native-libs.jar')
代码二:
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)
}
然后点击右上角Sync Now即可,或者我们让他run
[外链图片转存失败(img-O85Zk0IE-1567397927178)(http://i.imgur.com/mxON58M.png)]
(7).测试
我的布局[外链图片转存失败(img-o0ONqxUW-1567397927178)(http://i.imgur.com/jIaHasY.png)]
我的代码[外链图片转存失败(img-EuivNXpt-1567397927178)(http://i.imgur.com/nuWnJpP.png)]
上下图片拼接即可:
[外链图片转存失败(img-e03UKQv5-1567397927179)(http://i.imgur.com/nsXF2yB.png)]
主要代码段:
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.test,options);
Mat src = new Mat();
Mat dst = new Mat();
Utils.bitmapToMat(bitmap,src);
Imgproc.cvtColor(src,dst,Imgproc.COLOR_BGR2GRAY);
Utils.matToBitmap(dst,bitmap);
ImageView imageView = (ImageView) this.findViewById(R.id.imageView);
imageView.setImageBitmap(bitmap);
}
(8).效果
点击环境测试_灰度按钮前:
点击环境测试_灰度按钮后:
结果证明你的OpenCv开发环境搭建成功