OpenCV
OpenCV相关知识
Android-kongqw
嵌入式安卓
展开
-
OpenCV使用Harris算法实现角点检测
纯粹阅读,请移步OpenCV使用Harris算法实现角点检测效果图源码KqwOpenCVFeaturesDemo角点是两条边缘的交点或者在局部邻域中有多个显著边缘方向的点。Harris角点检测是一种在角点检测中最常见的技术。Harris角点检测器在图像上使用滑动窗口计算亮度的变化。封装这里用到了RxJava。主要是因为图片处理是耗时操作,会阻塞线程,为了防止界面卡顿,这里使用RxJava进行了线程切原创 2016-08-19 19:55:14 · 2727 阅读 · 2 评论 -
OpenCV使用Sobel滤波器实现图像边缘检测
纯粹阅读,请移步OpenCV使用Sobel滤波器实现图像边缘检测效果图源码KqwOpenCVFeaturesDemoSobel滤波器也叫Sobel算子,与Canny边缘检测一样,需要计算像素的灰度梯度,只不过是换用另一种方式。使用Sobel算子计算边缘的步骤将图像转为灰度图像// 原图置灰Imgproc.cvtColor(src, grayMat, Imgproc.COLOR_BGR2GRAY)原创 2016-08-19 17:56:59 · 6469 阅读 · 0 评论 -
OpenCV使用Canny边缘检测器实现图像边缘检测
纯粹阅读,请移步OpenCV使用Canny边缘检测器实现图像边缘检测效果图源码KqwOpenCVFeaturesDemoCanny边缘检测器是一种被广泛使用的算法,并被认为是边缘检测最优的算法,该方法使用了比高斯差分算法更复杂的技巧,如多向灰度梯度和滞后阈值化。Canny边缘检测器算法基本步骤平滑图像:通过使用合适的模糊半径执行高斯模糊来减少图像内的噪声。计算图像的梯度:这里计算图像的梯度,并将原创 2016-08-19 17:18:47 · 9765 阅读 · 1 评论 -
OpenCV高斯差分技术实现图像边缘检测
纯粹阅读,请移步OpenCV高斯差分技术实现图像边缘检测效果图源码KqwOpenCVFeaturesDemo边缘是图像中像素亮度变化明显的点。高斯差分算法步骤将图像转为灰度图像// 原图置灰Imgproc.cvtColor(src, grayMat, Imgproc.COLOR_BGR2GRAY);用两个不同的模糊半径对灰度图像执行高斯模糊(取得两幅高斯模糊图像)// 以两个不同的模糊半径原创 2016-08-19 12:09:21 · 4451 阅读 · 0 评论 -
OpenCV实现图像阈值化
纯粹阅读,请移步OpenCV实现图像阈值化效果图源码KqwOpenCVBlurDemo阈值化是一种将我们想要在图像中分析的区域分割出来的方法。 我们把每个像素值都与一个预设的阈值做比较,再根据比较的结果调整像素值。类似这样Imgproc.threshold(src,src,100,255,Imgproc.THRESH_BINARY);其中100是阈值,255是最大值(纯白色的值)。常量 名称原创 2016-08-18 19:43:40 · 1502 阅读 · 0 评论 -
OpenCV实现图像暗区扩张(腐蚀图片)
纯粹阅读,请移步OpenCV实现图像暗区扩张(腐蚀图片)效果图源码KqwOpenCVBlurDemo暗区扩张,也叫腐蚀,要实现这样的效果,我们可以选取一个合适大小的核,用被核覆盖的最小值代替锚点像素。我们首先定义一个合适大小的核Mat kernelErode = Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, new Size(5, 5));原创 2016-08-18 18:34:58 · 1711 阅读 · 0 评论 -
OpenCV实现图像亮区扩张
纯粹阅读,移步OpenCV实现图像亮区扩张效果图源码KqwOpenCVBlurDemo亮区扩张,也叫膨胀,要实现这样的效果,我们可以选取一个合适大小的核,用被核覆盖的最大值代替锚点像素。膨胀可以用来融合可能被分割的目标。我们首先定义一个合适大小的核Mat kernelDilate = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size原创 2016-08-18 18:06:29 · 1843 阅读 · 0 评论 -
OpenCV实现图片锐化
纯粹阅读,请移步OpenCV实现图片锐化效果图源码KqwOpenCVBlurDemo锐化也可以看作是一种线性滤波操作,并且锚点像素有较高的权重,而周围的像素权重较低。 因此,我们可以自定义一个这样的核。/* 自定义核 0 -1 0 -1 5 -1 0 -1 0 */Mat kernel = new Mat(3, 3, CvType.CV_16原创 2016-08-18 17:07:34 · 25676 阅读 · 0 评论 -
Android使用OpenCV实现「人脸检测」和「人脸识别」
Android使用OpenCV实现「人脸检测」和「人脸识别」DEMOOpenCV+JavaCV实现人脸识别—————————-分割线———————————效果图 先上效果图,不好弄gif 在网上找了在Android平台上使用OpenCV相关的教程,很少,大部分也都主要是介绍下人脸检测,很少有讲人脸识别,还有的人连人脸检测和人脸识别的概念都没有搞清,人脸检测只是识别到有人脸,能获取到一个人脸的大原创 2016-07-06 19:28:42 · 53794 阅读 · 81 评论 -
OpenCV中值模糊方法
纯粹阅读,请移步OpenCV中值模糊方法效果图源码KqwOpenCVBlurDemo步骤将获取到的Bitmap图片转成Mat对象// Bitmap转为MatMat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4);Utils.bitmapToMat(bitmap, src);调用OpenCV的中值模糊方原创 2016-08-18 15:58:52 · 2092 阅读 · 0 评论 -
OpenCV高斯模糊方法
纯粹阅读,请移步OpenCV高斯模糊方法效果图源码KqwOpenCVBlurDemo步骤将获取到的Bitmap图片转成Mat对象// Bitmap转为MatMat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4);Utils.bitmapToMat(bitmap, src);调用OpenCV的高斯模糊方原创 2016-08-17 19:04:06 · 4701 阅读 · 0 评论 -
OpenCV均值模糊方法
存粹越多,请访问OpenCV均值模糊方法效果图源码KqwOpenCVBlurDemo步骤将获取到的Bitmap图片转成Mat对象// Bitmap转为MatMat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4);Utils.bitmapToMat(bitmap, src);调用OpenCV的均值模糊方原创 2016-08-17 18:13:57 · 1774 阅读 · 0 评论 -
OpenCV的部署
存粹阅读,请访问OpenCV的部署官网官网之前时间比较紧张,在网上找了很多文章,写了一个人脸识别的程序,也是模棱两可,今天开始抽时间系统学习一下OpenCV在Android上的使用。OpenCV版本后面用到的是OpenCV的2.4.11版本,据说新的3.x的版本和2.x的版本改动较大,2.x的版本学习完可以再看看与3.x版本的区别。毕竟老版本的学习资源更多一些。SDK我们下载完SDK以后,里面会有一原创 2016-08-17 18:02:18 · 1262 阅读 · 0 评论