自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 (四)OpenCV级联分类器训练与使用_06_视频中人脸检测与眼睛跟踪

人脸检测人脸的生物学特征两个眼睛之间的宽度大致等于一个眼睛的距离左右对称眼睛到嘴巴之间的距离大致在两个眼睛的宽度大小左右鼻子到嘴唇距离,大致等于两个嘴唇的厚度Haar人眼级联特征数据haarcascade_eye.xmlhaarcascade_lefteye_2splits.xmlhaarcascade_righteye_2splits.xmlany custom casca...

2020-05-13 02:58:00 380 8

原创 2019年Python入门到精通_个人代码及笔记_03

目录:面向对象继承多态异常模块与包面向对象应用1. 面向对象#封装:将属性和方法写到类达里面的操作 / 可以为属性和方法添加私有属性#1)类和对象:用类去创建一个对象/用类实例化对象print('类和对象:')#1.定义类class Washer(): def wash(self): #self指的是调用该函数的对象 print(...

2020-03-15 19:12:51 273

原创 2019年Python入门到精通_个人代码及笔记_02

目录:函数1函数2引用函数应用递归lambda表达式高阶函数文件操作1. 函数1#1.定义函数def func_print(i): print(i)def func_add(i,j): print(i+j)def func_str(): return 'money' #返回值 + 退出当前函数def func_sum(i,j): ...

2020-03-15 18:51:00 397

原创 2019年Python入门到精通_个人代码及笔记_01

目录:基本语法if语句循环字符串列表元组字典集合公共操作推导式1. 基本语法#来源 http://yun.itheima.com/course/542.html#1.定义变量#2.使用变量#3.变量特点my_name = 'TOM'print(my_name)schoolName = 'SZU'print(schoolName)num =1 #整型n...

2020-03-15 18:34:40 233

原创 (九)OpenCV其它功能_03_相机标定

相机标定:(来源百度百科)在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数;(内参矩阵,外参矩阵)在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定);无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定...

2020-03-15 17:57:59 249

原创 (九)OpenCV其它功能_02_离散傅立叶变换

离散傅立叶变换:对一张图像使用傅立叶变换就是将它分解成正弦和余弦两部分(任一函数都可以表示成无数个正弦和余弦函数的和的形式);就是将图像从空间域(spatial domain)转换到频域(frequency domain)经过象限变化,如果中心(聚)亮,说明高频多,图像包含的细节/边/角信息较多;而如果四角亮,说明低频多,图像模糊#include "opencv2/opencv.hp...

2020-03-15 17:29:40 162

原创 (九)OpenCV其它功能_01_支持向量机(SVM)

支持向量机( SVM )是一个类分类器,正式的定义是一个能够将不同类样本在样本空间分隔的超平面;即给定一些标记(label)好的训练样本 (监督式学习), SVM算法输出一个最优化的分隔超平面(下例用直线分割2个类)定义一条评价直线好坏的标准:距离样本太近的直线不是最优的,因为这样的直线对噪声敏感度高,泛化性较差;因此我们的目标是找到一条直线,离所有点的距离最远计算最优超平面权重向量...

2020-03-15 17:23:55 152

原创 (八)OpenCV人脸识别_07_实时人脸识别

摄像头与人脸数据采集VideoCapture类使用使用HAAR 级联检测器实现人脸检测对检测的人脸数据写入文件保存删除错误数据与数据对齐采集数据注意点数据训练与测试基于EigenFace算法实现数据训练与测试实时人脸识别检测人脸识别人脸实时显示人脸识别结果整体流程:人脸数据采集与处理->人脸数据训练与测试->实时人脸检测->人脸识别->显示结果/...

2020-02-18 14:32:41 511

原创 (八)OpenCV人脸识别_06_LBPH算法

基本流程:输入人脸->人脸数据表示->LBPH特征提取+人脸图像与特征数据库->分类识别->识别人脸LBPH算法:图像灰度化->LBP特征提取->ULBP降维处理->分割为多个方格(Cell)->每个方格生成直方图->直方图链接,特征向量集合->与DB中直方图比较(直方图比较)->得到分类结果Ptr<LBPHFac...

2020-02-18 14:27:31 1917

原创 (八)OpenCV人脸识别_05_FisherFace算法

LDA原理(在低维表示下,相同的类应该紧紧的聚在一起,而不同的类别尽量距离越远)统计学方法(Fisher)最大类间方差最小类内方差过程:输入数据->减去均值->计算离散矩阵->计算特征值与特征向量->计算前K个最大特征值对应特征向量->投影到子空间->终止PCA与LDA差别PCA:每个主成分轴指向最大方差方向LDA:最大化主成分轴在不同类之间...

2020-02-18 14:24:12 394

原创 (八)OpenCV人脸识别_04_EigenFace算法

读人脸数据文件 ORL/face database(https://github.com/fengbingchun/NN_Test)创建特征脸识别与训练识别人脸输出中间平均脸 、特征脸、重建结果过程:读训练数据->计算平均脸->计算协方差矩阵->计算特征脸->特征矩阵->PCA降维->子空间模型->检测/距离Ptr<BasicFace...

2020-02-18 14:09:21 324 1

原创 (八)OpenCV人脸识别_03_PCA主成分分析

PCA原理:(一个分析多维分布并且从中提取出带有最多信息量的维度子集的方法)(无监督:基于方差提取最有价值的信息)通过对高维数据分析发现他们的相同与不同表达为一个低维数据模式主成分不变、细微损失、高维数据到低维数据PCA:样本数据、减去均值、计算协方差矩阵(标准差、方差越大,离散程度越大)、计算特征值与特征向量、根据特征值排序保留前K个主成分特征向量、形成新的数据样本。输出数据 = 前K...

2020-02-18 14:03:34 191

原创 (八)OpenCV人脸识别_02_特征值与特征向量

特征值与特征向量定义Ax =λx,则λ是A的一个特征值,x为A对应于特征值λ的特征向量特征值为零,矩阵不可逆求A的特征值:解特征多项式det(A-λI)eigen求矩阵的特征值与特征向量,但有限制,必须是对称矩阵#include <opencv2/opencv.hpp>#include <iostream>using namespace std;usi...

2020-02-18 14:00:31 1591

原创 (八)OpenCV人脸识别_01_方差与协方差

计算N维数据的平均值meanStdDev(均值及标准差)方差协方差calcCovarMatrix#include <opencv2/opencv.hpp>#include <iostream>#include <opencv2/face.hpp>using namespace std;using namespace cv;int main(i...

2020-02-18 13:58:26 302

原创 (七)OpenCV深度神经网络(DNN)模块_03_FCN模型(实现)图像分割、CNN模型预测性别与年龄

FCN模型Model下载地址:https://github.com/BVLC/caffe/wiki/Model-Zoo使用模型实现图像分割(支持20个分割标签)20个分类标签二进制模型fcn8s-heavy-pascal.caffemodel网络描述fcn8s-heavy-pascal.prototxt分割信息pascal-classes.txt#include <o...

2020-02-18 13:54:56 699

原创 (七)OpenCV深度神经网络(DNN)模块_02_使用SSD模型实现(实时)对象检测、GOTURN模型实现对象跟踪

SSD模型:下载:https://github.com/weiliu89/caffe/tree/ssd#modelsFast-R-CNN模型基础上延伸(在特征图上采用卷积核来预测)刚开始的层使用图像分类模型中的层,称为base network,在此基础上,添加一些辅助结构:Mult-scale feature map for detection在base network后,添加一些卷积...

2020-02-18 13:47:46 622 1

原创 (七)OpenCV深度神经网络(DNN)模块_01_使用GoogleNet模型实现图像分类

DNN模块图像分类、图像检测、实时对象检测、图像分割、预测、视频对象跟踪使用googlenet模型实现图像分类Caffe模型:bvlc_googlenet.caffemodel描述文件:vblc_googlener.prototxt标签文件:synset_words.txt加载Caffe模型、使用模型预测#include <opencv2/opencv.hpp>#i...

2020-02-18 13:39:19 654 2

原创 (六)OpenCV视频分析与对象跟踪_09_扩展模块中的多对象跟踪

KCF:或者其它KCF速度快,基本好用MultiTracker#include <opencv2/opencv.hpp>#include <iostream>#include <opencv2/tracking.hpp>using namespace cv;using namespace std;int main(int argc, char...

2020-02-18 13:34:49 201

原创 (六)OpenCV视频分析与对象跟踪_08_扩展模块中的跟踪方法介绍

KCF核相关滤波(阉割版)BOOSTING(机器学习)、MIL、MEDIANFLOW、TLD#include <opencv2/opencv.hpp>#include <iostream>#include <opencv2/tracking.hpp>//KCF核相关滤波using namespace cv;using namespace std;...

2020-02-18 13:32:06 281

原创 (六)OpenCV视频分析与对象跟踪_07_视频中移动对象统计

基于BSM模型提取前景ROI区域对象轮廓排除干扰与统计#include <opencv2/opencv.hpp>#include <iostream>//#define _CRT_SECURE_NO_WARNINGSusing namespace cv;using namespace std;int main(int argc, char** argv)...

2020-02-18 13:27:26 371

原创 (六)OpenCV视频分析与对象跟踪_06_CAMShift对象跟踪

CAMShift(ContinuouslyAdaptive Mean-Shift)持续自适应均值位移Mean-Shift分割算法:找到空间上颜色分布的峰值选择特征模型 - 选择转换为特征空间(直方图量化特征) - 特征空间PDF模型数据CAMShift(窗口尺寸自动变化、适合变形目标检测)流程:第一帧、读取第一帧、选择ROI区域、HSV空间H通道直方图表达、直方图反向投影、CAMShif...

2020-02-18 13:25:12 247

原创 (六)OpenCV视频分析与对象跟踪_05_稠密HF_光流的对象跟踪

移动对象跟踪三要素外观模型、图像表示、移动模型稠密光流-HFcalcOpticalFlowFarneback#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;void drawOpticalFlowHF(Mat& flo...

2020-02-18 13:18:27 283

原创 (六)OpenCV视频分析与对象跟踪_04_稀疏KLT_光流的对象跟踪

移动对象跟踪三要素外观模型、图像表示、移动模型稀疏光流-LK亮度恒定、时间持续性或"微小移动"、空间一致性Sparse Optical Flow(Lucas-Kanade)calcOpticalFlowPyrLK + goodFeaturesToTrack(角点检测)稠密光流-HFcalcOpticalFlowFarneback输入第一帧图像、特征点检测选择、保存特征点、输入第二...

2020-02-18 13:12:54 318

原创 (六)OpenCV视频分析与对象跟踪_03_对象检测与跟踪(基于颜色)

(不稳定、受光照影响大)利用颜色范围过滤标注与测量基于颜色跟踪实现步骤①inRange过滤②形态学操作③轮廓查找(也可以根据矩检测跟踪)④外接矩形获取⑤位置标定#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;void ...

2020-02-18 13:10:21 238

原创 (六)OpenCV视频分析与对象跟踪_02_背景消除建模(BSM)

BackgroundSubtractor算法图像分割(GMM-高斯混合模型)当前帧 - 背景模型 -> 阈值 = 前景图像BackgroundSubtractorMOG2机器学习(KNN-K个最近邻)//有学习过程BackgroundSubtractorKNN#include <opencv2/opencv.hpp>#include <iostream&g...

2020-02-18 13:07:54 218 2

原创 (六)OpenCV视频分析与对象跟踪_01_视频读写

视频格式支持avi、mp4从视频文件中读写视频VideoCaptureread、isOpened、release、>>操作符重载从摄像头中导出视频1)VideoWriter2)fourcc.orgCV_FOURCC(‘D’, ‘I’, ‘V’, ‘X’) = MPEG-4 codecCV_FOURCC(‘P’, ‘I’, ‘M’, ‘1’) = MPEG-1 cod...

2020-02-18 13:04:48 198

原创 (五)OpenCV图像分割_09_绿幕背景视频抠图

分割算法选择背景融合 – 高斯模糊遮罩层生成不使用GMM或者K-means:处理非常慢而基于色彩的处理方法RGB与HSV色彩空间过程:加载视频、帧图像、转为HSV、模型Mask、背景融合替换、显示帧图像、下一帧(循环获取帧图像)、终止#include <opencv2/opencv.hpp>#include <iostream>using name...

2020-02-18 13:01:45 891 2

原创 (五)OpenCV图像分割_08_证件照背景替换

K-Means分割背景去除遮罩生成遮罩模糊背景融合:高斯模糊混合通道输出#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;Mat mat_to_samples(Mat& image);//RGB 数据转换到样本数据,用...

2020-02-18 12:58:10 423

原创 (五)OpenCV图像分割_07_Grabcut图像分割方法

grabCut图像中对象交互抠图setMouseCallbackonMouse(int event, int x, int y, int flags, void*param)输入图像、矩形输入、初始分类、GMM描述GMM训练分类、Graph Cut分类、最终分类、继续迭代/停止图像中对象抠图#include <opencv2/opencv.hpp>#include &...

2020-02-18 12:55:48 193

原创 (五)OpenCV图像分割_06_分水岭分割方法_图像分割

#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;Mat watershedCluster(Mat& image, int& Num_contours);void createDisplaySegments(Mat&amp...

2020-02-18 12:50:22 192

原创 (五)OpenCV图像分割_05_分水岭分割方法_对象分离

形态学操作:腐蚀与膨胀,开闭操作基于浸泡理论的分水岭分割方法基于连通图的方法基于距离变换的方法分割粘连对象,实现形态学操作与对象计数图像分割流程:输入图像、灰度、二值、距离变换、寻找种子、生成Marker、分水岭变化、输出图像粘连对象分离与计数distanceTransformwatershed#include <opencv2/opencv.hpp>#in...

2020-02-18 12:48:05 628

原创 (五)OpenCV图像分割_04_GMM(高斯混合模型)图像分割_机器学习

#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;using namespace cv::ml;int main(int argc, char** argv){ Mat src; src = imread("../path.jpg"...

2020-02-18 12:44:50 434

原创 (五)OpenCV图像分割_03_GMM(高斯混合模型)数据分类_机器学习

数据聚类图像分类高斯混合模型(GMM)高斯分布与概率密度分布(PDF)初始化跟K-Means相比较,属于软分类(随机概率)实现方法:期望最大化(E-M)停止条件:收敛样本数据训练与预言#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespa...

2020-02-18 12:41:03 632

原创 (五)OpenCV图像分割_02_K-means分割图像_机器学习

#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main(int argc, char** argv){ Mat src,dst; src = imread("C:/Users/good/Desktop/test.jpg")...

2020-02-18 12:35:59 175

原创 (五)OpenCV图像分割_01_K-means分类数据_机器学习

K-means①无监督学习方法②分类问题,输入分类数目,初始化中心位置③硬分类方法,以距离度量④迭代分类为聚类过程:初始化中心位置对各个数据点,计算与它们到每个中心点的距离,把它归为与之最近中心点重新计算中心点,中心点位置发生变化执行多个迭代之后,RSS收敛满足,得到最终分类Kmeans(InputArray data,InputOutputArray bestLabe...

2020-02-18 12:32:56 467

原创 (四)OpenCV级联分类器训练与使用_08_Haar与LBP级联分类器训练

在OpenCV 4.x中已经被剔除基本流程收集样本数据:包括正负样本数据规范化:大小、格式生成vec文件与负样本列表文本文件使用OpenCV自动的级联分类器训练工具,训练样本数据得到最终的级联分类器数据(XML格式)步骤详解1)收集样本数据以人脸检测为例:公开的数据库有正向样本数目(少)负样本数目(多)正向样本的大小:统一尺寸正向样本图片中的背景问题2)样本集合与描述...

2020-02-18 12:09:05 455 1

原创 (四)OpenCV级联分类器训练与使用_07_Haar级联数据文件结构与精简

一个完整的弱分类器包括:(树状结构)①若干个Haar特征 + Haar特征数量相等的弱分类器阈值②若干个leftValue③若干个rightValue<stageType>BOOST</stageType>//C++程序库<featureType>HAAR</featureType>//特征类型,Haar级联分类器 <hei...

2020-02-18 12:05:53 214

原创 (四)OpenCV级联分类器训练与使用_05_Haar级联分类器猫脸检测

Haar猫脸检测haarcascade_frontalcatface.xmlhaarcascade_frontalcatface_extended.xml#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;String CatFac...

2020-02-18 12:00:17 562

原创 (四)OpenCV级联分类器训练与使用_04_Haar与LBP级联分类器视频读取

视频读取#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;String Haar_fileName = "haarcascade_frontalface_alt.xml";//HaarString LBP_fileName = "lbp...

2020-02-18 11:54:44 257

原创 (四)OpenCV级联分类器训练与使用_02_Haar与LBP级联分类器使用

OpenCV中的HAAR与LBP数据HAAR特征数据LBP特征数据数据格式XML#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;String Face_fileName = "haarcascade_frontalface_a...

2020-02-18 11:48:22 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除