
build一下项目,不出意外应该会报错,这时候找到该类,引入自己的R文件包就可以了

再次build应该就不会有什么问题了。
java层的测试方法
OpenCVLoader.initDebug();
Mat rgbMat = new Mat();
Mat grayMat = new Mat();
Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic);
Bitmap grayBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.RGB_565);
Utils.bitmapToMat(srcBitmap, 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
img.setImageBitmap(grayBitmap);
注意使用OpenCVLoader.initDebug();进行初始化而不是使用OpenCVLoader.initAsync()
这种方法的特点是处理都在java层,不怎么会涉及jni层的代码,除非java层完成不了的工作会转移到jni层去。
三种方法各有各的优点,根据自己的情况进行选择。
如果c++特别好的,建议使用第一种方法
如果更习惯java代码的,并且java层的函数都能进行处理的,建议选择第三种方法
第二种方法建议在第三种方法不满足条件的情况下进行辅助使用,因为使用了第三种方法的前提是使用第二种方法的动态链接库。
最后附上源码
CSDN又抽了,正常之后有空补上
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33885-4.html
要是自己不努力
结果大家认为捡垃圾的马云说的是屁话