OpenCV
Jackie035
这个作者很懒,什么都没留下…
展开
-
OpenCV之图像分割(一)KMeans方法_数据聚类&图像分割
概述:KMeans方法GMM方法分水岭方法GrabCutKMeans方法 1.无监督的学习方法(不需要人为的干预)2.分类问题,输入数目,初始化中心位置3.硬分类方法,以距离度量(不同的分类会有不同的分类标准)4.迭代分类为聚类基本流程:1. 根据输入的分类数目K定义K个分类,每个分类选择一个中心点2. 对DS(Data Set)中每个数据点做如下操作: -计...原创 2018-08-18 11:00:16 · 8036 阅读 · 1 评论 -
OpenCV之视频分析与对象跟踪(四) 光流的对象跟踪 稀疏光流&稠密光流
稀疏光流实现流程:代码&注释:#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;Mat frame, gray;Mat prev_frame, prev_gray;vector<Point2f>...原创 2018-08-23 15:41:49 · 2298 阅读 · 0 评论 -
OpenCV之视频分析与对象跟踪(三) 对象检测与跟踪(基于颜色)
/*1.基于颜色跟踪的实现步骤2.使用inRange的方法过滤出绿色,3.形态学造作提取4.轮廓查找5.外界矩形获取6.位置标定*/#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;Rect roi;void pr...原创 2018-08-23 10:56:32 · 1770 阅读 · 5 评论 -
OpenCV之视频分析与对象跟踪(二) 背景消除建模(BSM)
要分析背景不怎么变化的视频的时候可以用BSM 基本原理:利用前几帧(或一帧)的图像作为背景模型,后续的帧图像与背景模型比较,得到的差异就是前景对象了。 两个常用的算法:图像分割(GMM – 高斯混合模型), 机器学习(KNN –K个最近邻)代码:#include <opencv2/opencv.hpp>#include <iostream>us...原创 2018-08-23 09:05:45 · 1171 阅读 · 0 评论 -
OpenCV之视频分析与对象跟踪(一) 视频读写
动画是通过连续播放一系列禁止的画面,当连续播放达到一定的速度时,我们用肉眼看到的就是动画了。它的基本原理与电影,电视一样,都是利用视觉原理。医学已经证明,人的眼睛具有“视觉暂留”特性,就是人的眼睛看到一幅画面或一个物体后,在1/24秒内不会消失,利用这一视觉变化效果。因此电影采用了每秒24幅画的速度拍摄播放,电视采用了每秒25幅(PAL制)或30幅(NSTC制)画面的速度拍摄播放,如果以每秒低于2...原创 2018-08-22 22:24:37 · 2527 阅读 · 0 评论 -
OpenCV之图像分割(三) 分水岭分割方法 粘连对象分离与计数&图像分割
基于距离的分水岭分割流程:代码:粘连对象分离与计数/*读取图像,将原图上进行pyrMeanShiftFiltering()处理,保留更多的边缘信息,在平滑区进行滤波,保证后面二值化时的效果更好,转成单通道,二值处理,进行距离变换,将距离变换的结果归一化,找到山峰再一次进行二值化处理,转到CV_8U类型的图像进行轮廓发现,绘制轮廓,每次绘制轮廓时用不同的值对每个轮廓进行标记...原创 2018-08-20 20:56:41 · 13899 阅读 · 19 评论 -
OpenCV之源码分析 imread(),imshow(),waitKey()函数
参考原博客:https://blog.csdn.net/hujingshuang/article/details/47184717#t1imread()Mat imread( const string& filename, int flags ){ Mat img;//定义一个Mat类,用于装载图片 imread_( filename, flags, LOAD_...原创 2018-08-26 10:24:08 · 4221 阅读 · 0 评论 -
OpenCV之图像分割(六) 绿幕背景视频抠图
算法设计步骤:由RGB图像转到HSV(H:色调,S:饱和度,V:亮度),利用hsv在绿幕背景中的颜色范围是,使用inRang函数进行二值代码:#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;Mat replace_a...原创 2018-08-22 10:49:31 · 6196 阅读 · 10 评论 -
OpenCV之图像分割(五) 证件照背景替换
算法设计步骤:代码与注释:/*流程处理思路:先通过Kmeans训练,目的为了得到背景像素的一个标记(个人觉得没有这个必要,性价比太低了)利用这个标记跟证件照的原图进行一波处理,得到背景跟前景的一个(0跟255)的分开,架构这个作为mask对这个马mask进行一波骚操作,目的是为了后面的羽化边缘,得到更加精确的效果,羽化边缘有几种思路:先讲下这种的,即利用3X3的内核去掉一...原创 2018-08-22 10:26:17 · 2882 阅读 · 0 评论 -
OpenCV之图像分割(四) Grabcut抠图
并没有深入的对grabCut算法进行深入的研究,只是学会初步使用这个API效果示意图:工作流程: 代码:#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;using namespace std;bool s...原创 2018-08-22 09:56:05 · 5943 阅读 · 10 评论 -
OpenCV之图像分割(二) 高斯混合模型(GMM)方法 样本数据训练与预言&图像分割
基于高斯函数的算法,通过混合单个或多个高斯函数,计算对应像素中概率,哪个分类的概率最高的,则属于哪个类别图解: GMM算法概述GMM方法跟K - Means相比较,属于软分类实现方法 - 期望最大化(E - M)停止条件 - 收敛,或规定的循环次数 代码:#include<opencv2\core\core.hpp>#include<...原创 2018-08-19 10:38:01 · 3242 阅读 · 0 评论 -
OpenCV之扩展模块安装
本文是参考博主:https://blog.csdn.net/weixin_41695564/article/details/79925379 但本人在安装的过程中还是犯了几个关键错误,导致浪费了很多时间,所以再原博文的基础上,将我遇到的问题也标明出来,供参考。以下标注ps的地方是本人指出来的问题。 本文将演示OpenCV3.1.0的版本安装,其他版本也可以参考,主要是把几个关键地方注意到即...原创 2018-08-24 19:55:41 · 9220 阅读 · 3 评论