AndroidStudio opencv(一)
16lz
2021-01-26
1、官网下载opencv中Android的sdk https://opencv.org/releases.html
2、在Androidstudio中File——new——import Module导入你的opencv,选择sdk下的java目录,在你的项目中进行引用。
ps:导入opencv之后将opencv的compilesdk 跟buildToolsVersion均修改为你项目一致的版本。
3、将opencv中sdk——native——libs放到jniLibs,我只复制了下图
补充:jniLibs自动创建只需要在gradle中添加如下代码再build一下。
4、经过上面的操作就可以直接使用opencv了,我用的3.3.0的版本。这里说明opencv的版本是因为尝试了3.3.1的版本不知道为什么同样的操作总是找不到Mat类。
public class CameraResultActivity extends AppCompatActivity { private String mPath; private ImageView mImageView; private Bitmap mBitmap; //OpenCV库静态加载并初始化 static { boolean load = OpenCVLoader.initDebug(); if (load) { Log.i("CV", "Open CV Libraries loaded..."); } } private void convertGray() { Mat rgbMat = new Mat(); Mat grayMat = new Mat(); Bitmap grayBitmap = Bitmap.createBitmap( mBitmap .getWidth(), mBitmap .getHeight(), Bitmap.Config.RGB_565); Utils.bitmapToMat( mBitmap , rgbMat);//convert original bitmap to Mat, R G B. Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);//rgbMat to gray grayMat Utils.matToBitmap(grayMat, grayBitmap); //convert mat to bitmap mImageView.setImageBitmap(grayBitmap); } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); mImageView = (ImageView) findViewById(R.id.res_imageview); mPath = getIntent().getStringExtra("picpath"); mBitmap=getBitmapFromPath(mPath); convertGray(); }
PS:千万不要 看网上的说需要调用
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_3_0,getApplicationContext(),mLoaderCallback);
通过回调成功来操作之类的,上面一行的代码是检测你是否安装了opencvmanager的apk,对目前来讲没什么可以借鉴的。
更多相关文章
- Android(安卓)studio 命令gradlew assembleRelease打包时,出现 Un
- Android(安卓)学习 笔记_11. Service初步
- 关于android中sqllite对时间的操作
- Android问题集锦转载之一:解决Android(安卓)requires .class comp
- android下的modeul下的build_gradle详解
- Hello Android(安卓)- File文件操作
- Android(安卓)获取手机的厂商、型号、Android系统版本号、IMEI、
- 安卓四大组件之——ContentProvider学习
- Android(安卓)Studio 编译缓存(Build Cache)