通过这一部分的学习有一些Android开发的坑需要注意:
- Android 6.0以上的版本如果需要打开摄像头或是相册的操作需要动态申请权限,直接使用Uri uri=data.getData();这种直接读取uri的操作被认为是不安全的,会导致APP无法正常工作,比如我可以通过APP进入相册选取照片,但是不能将照片通过OpenCv处理后显示在APP的界面中;
- 可以不用事先在Android端安装OpenCv的环境包,而直接从APP中直接调用OpenCv,但是试过网上的很多方法仍然无法实现,可能是权限之类的问题,有待解决;
这个笔记算是将《深入OpenCv Android应用开发》这本书的内容缩略整理为方便查看的笔记
图像处理函数:src为原图、Size(3,3)表示3x3的核
- 均值模糊:Imgproc.blur(src, src, new Size(3, 3));
- 高斯模糊:Imgproc.GanssianBlur(src, src, new Size(3, 3), 0);
- 中值模糊:Imgproc.medianBlur(src, src, 3);中值模糊不用卷积;
- 锐化:这里是用的是自定义核,锐化处理要求锚点像素权重较高。周围权重较低,filter2D()函数对给定的图像和核做卷积
核:0,-1,0
-1,5,-1
0,-1,0
Mat kernel = new Mat(3, 3, CvType.CV_16SC1);
kernel.put(0,0,0,-1,0,-1,