opencv
跬步千里OvO
数字信号处理、数字图像处理、机器视觉、目标检测、语义分割、实例分割。
展开
-
opencv-视频图像的前景动态追踪
opencv2的前景分割方法主要是高斯混合背景/前景分割方法,而3.0版本才增加了knn前背景分割器。高斯混合背景/前景分割方法可以通过两个类BackgroundSubtractorMOG 和BackgroundSubtractorMOG 2实现,测试后发现BackgroundSubtractorMOG 2的实现效果要好。关于这个构建这个类相关的参数说明参见博客:http://blog.csdn原创 2017-09-18 14:41:03 · 2364 阅读 · 0 评论 -
opencv01-像素的访问
opencv01-像素的访问这一系列的博客代码所搭建的环境是:opencv2.4.12+vs2013。 对于像素的访问,可以有很多种方法,不同的访问方式有着不同的效率。 下面我们将用不同的访问像素的方法来对图像随机加一些椒盐噪声。方法一:void salt(Mat &img, int n){ for (int k = 0; k < n; k++){ //添加k个随机噪声原创 2017-09-02 15:23:35 · 435 阅读 · 0 评论 -
opencv02-策略模式设计
opencv02-策略模式设计先来看看我们的代码效果,输入一张图片: 我们算上图中的像素点与RGB(20, 220, 20)的距离,也就是与一个偏绿色像素点的距离。如果距离小于一定的值,就将这个像素值置为255,否则置为0。则,我们得到的输出图片是: 想要实现上述效果实际并不难,我们这里打算用一种设计模式来实现这个过程。我们将一些算法封装在头文件里,比如计算距离,设置最小距离等等。而在类里就原创 2017-09-03 13:43:30 · 438 阅读 · 0 评论 -
图像项目-基于opencv的人脸识别
基于opencv的人脸识别opencv的一个目录:opencv/sources/data/haarcascades 提供了用于人脸检测相关的文件,加载这些文件,就可以方便的实现人脸检测的相关工作。face_cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')faces = face_cascade.det原创 2017-08-24 20:16:36 · 13187 阅读 · 8 评论 -
图像处理项目-车标识别
图像处理项目-车标识别概述我们的目标是提供一张原始车标图像作为基准。然后,提供一个实际车辆图片的车标部分的截图。然后实现两者之间的匹配。实现车标识别显然其特征是与图像尺度及旋转无关的,所以SIFT特征是一个不错的选择。匹配算法的选择:FLNN相同车标的匹配效果:不同车标的匹配效果:原创 2017-08-23 20:38:32 · 6178 阅读 · 2 评论 -
图像处理项目-监控视频的行人追踪
监控视频的行人追踪概述要求:根据提供的监控视频图像,追踪视频中行人并对其运动轨迹做出预判。实现视频图像的行人认定为图像的前景区域,识别新人即为分割图像的前景背景,故可使用knn实现分割利用opencv的BackgroundSubtractorKNN实现的分割效果如下图所示:对分割出的前景区域,可以计算该区域的HSV颜色模型并计算反投影,再利用camshift( 原理是均值漂移算法 )实现对前原创 2017-08-16 22:12:01 · 9151 阅读 · 6 评论 -
目标追踪-meanshift算法
目标追踪-meanshift算法原理简介开始 结果 如上图所示,meanshift算法原理概括如下:首先设定起始点x,就是圆的圆心。 所有在球内的点就是xi , 黑色箭头就是我们计算出来的向量xxi , 将所有的向量 xxi进行求和计算平均就得到我们的meanshift 向量,也就是图中黄色的向量。接着,再以meanshift向量的终点为圆心,再做一个高维的球,如下图所示,重复上面的步骤,原创 2017-08-15 10:59:02 · 1597 阅读 · 0 评论 -
目标追踪-背景分割
目标追踪-背景分割介绍传统的前景背景分割方法有GrabCut,分水岭算法,当然也包括一些阈值分割的算法。但是这些算法在应用中往往显得鲁棒性较弱,达不到一个好的分割效果。现代的背景分割算法融入了机器学习的一些方法来提高分类的效果。如KNN,混合高斯(MOG2),Geometric Multigrid。这些算法的基本原理就是对每一帧图像的环境进行学习,从而推断出背景区域。opencv的Backgr原创 2017-08-15 10:25:59 · 3066 阅读 · 0 评论