本文详细说明给android项目添加opencv库的详细步骤,并通过实现图片灰度化来查看配置是否成功。
下载OPENCV ANDROID SDK
到官网下载
打开 https://opencv.org/releases/
选择android,下载完成后解压出下面的文件:
安装android sdk 和 ndk
在Android studio中打开sdk管理器即可下载:
新建C++工程
打开Android studio,选择模板,这时选择最后一项Native C++,然后进入配置界面。
配置项目
选择C++14
配置OpenCV库
OpenCV库作为Module导入
导入OpenCV模块
具体步骤为:File->New->Import Module:
然后将OpenCV-android-sdk\sdk目录导入,最好顺便将模块名改成opencv+版本号。如下图,然后Next->Finish。
改OpenCV下的build.gradle文件, 将下图中的两处改为与app模块的设置一致
添加依赖,菜单栏选择File->Project Structure,在Dependencies选项中选择app,点击+,选择Module dependency,如下图:
勾选OpenCV,点击OK,等待同步
配置参数,打开app的build.gradle,在android.defaultConfig下面添加如下配置:
externalNativeBuild {
cmake {
cppFlags '-std=c++14 -frtti -fexceptions'
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
arguments "-DOpenCV_DIR=" + project(":opencv480").projectDir + "/native/jni",
'-DANDROID_STL=c++_shared'
}
}
这时环境就算配置好了。
下面用一个简单和灰度化验证一下。
灰度化
关键代码:文章来源:https://www.toymoban.com/news/detail-805139.html
override fun onResume() {
super.onResume()
if (!OpenCVLoader.initDebug()){
Log.i("main","未找到内部的opencv库")
}else{
Log.i("main","发现了内置的opencv库");
doGray()
}
}
private fun doGray(){
val bitmap = BitmapFactory.decodeResource(resources,R.drawable.ldh)
val bit = bitmap.copy(Bitmap.Config.ARGB_8888,false)
val src = Mat(bit.height,bit.width,CvType.CV_8UC(3))
Utils.bitmapToMat(bit,src)
Imgproc.cvtColor(src,src,Imgproc.COLOR_BGR2GRAY)
Utils.matToBitmap(src,bitmap)
binding.sampleImage.setImageBitmap(bitmap)
}
效果:
成功!!文章来源地址https://www.toymoban.com/news/detail-805139.html
到了这里,关于android 和 opencv 开发环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!