openCV
tiankong19999
当你的才华还撑不起你的野心时,那你就应该静下心来学习!当你的经济还撑不起你的梦想时,那你就应该踏实的去工作!
展开
-
openCV学习资料整理
整理了我所了解的有关OpenCV的学习笔记、原理分析、使用例程等相关的博文。排序不分先后,随机整理的。如果有好的资源,也欢迎介绍和分享。1:OpenCV学习笔记 作者:CSDN 数量:55篇博文 网址:http://blog.csdn.net/column/details/opencv-manual.html2:部分OpenCV的函数解读和原理解读 作者:梦想腾飞 数量:20篇博...转载 2018-07-18 11:06:03 · 18173 阅读 · 1 评论 -
openCV学习笔记(十三) —— 人脸识别算法(2/3)—— 线性判别分析Fisherface(LDA)
Fisherface是由Ronald Fisher发明的,想必这就是Fisherface名字由来。Fisherface所基于的LDA(Linear Discriminant Analysis,线性判别分析)理论和特征脸里用到的PCA有相似之处,都是对原有数据进行整体降维映射到低维空间的方法,LDA和PCA都是从数据整体入手而不同于LBP提取局部纹理特征。如果阅读本文有难度,可以考虑自学斯坦福公开课...转载 2018-07-31 18:54:04 · 16068 阅读 · 0 评论 -
openCV学习笔记(十四) —— 人脸识别算法(3/3)—— 局部二值模式LBP
LBP(Local Binary Patterns,局部二值模式)是提取局部特征作为判别依据的。LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP的识别率已经有了很大的提升。在[1]的文章里,有些人脸库的识别率已经达到了98%+。LBP算子介绍在介绍LBPH之前先要了解LBP算子的基本原理。LBP是Local Binary Patter...转载 2018-07-31 19:18:52 · 17059 阅读 · 0 评论 -
openCV学习笔记(十七) —— 人脸识别 —— 程序 —— LDA线性判别分析FisherFace
流程PCA和LDA的对比程序 /* * Copyright (c) 2011. Philipp Wagner <bytefish[at]gmx[dot]de>. * Released to public domain under terms of the BSD Simplified license. * * Redistribution and use ...原创 2018-08-06 13:57:02 · 12437 阅读 · 0 评论 -
openCV学习笔记(二十) —— 图像滤波 —— 线性滤波(方框滤波、均值滤波、高斯滤波)
图像滤波简介方框滤波——boxFilter() 原理方框滤波程序 #include<opencv2/opencv.hpp>#include <vector>#include <time.h>using namespace std;using namespace cv;#define BOX_FILTER_ORIGI...原创 2018-08-14 09:35:39 · 17024 阅读 · 0 评论 -
openCV学习笔记(十五) —— 人脸识别 —— 读取摄像头进行人脸图像采集和人脸识别
实现以下功能: 交互式对话框:请选择要执行的动作 人脸采集:打开摄像头,采集照片,保存训练模型 人脸识别: 打开摄像头,采集照片,预识别; 输入图像的路径,图像识别 输出结果: 找到匹配的对象,输出名字; 未找到匹配的对象,提示:人脸采集并保存训练模型 程序 /*交互式对话框:请选择要执行的动作 1.人脸采集: 打开摄像...原创 2018-08-01 20:34:15 · 21350 阅读 · 2 评论 -
openCV学习笔记(二十一) —— 图像滤波 —— 非线性滤波(中值滤波、双边滤波)
中值滤波——medianBlur() 原理 中值滤波程序 #include<opencv2/opencv.hpp>using namespace std;using namespace cv;#define FILTER_ORIGINAL_WINDOW_NAME "中值滤波【原图】"#define FILTER_RESULT_WINDOW_NA...原创 2018-08-14 19:18:27 · 13127 阅读 · 0 评论 -
openCV学习笔记(十八) —— 人脸识别 —— 程序 —— LBPH局部二值模式直方图
#include <opencv2/core.hpp>#include <opencv2/face.hpp>#include <opencv2/highgui.hpp>#include <iostream>#include <fstream>#include <sstream>using namespace ...原创 2018-08-07 10:04:22 · 12750 阅读 · 0 评论 -
openCV学习笔记(二十二) —— 形态学滤波——膨胀与腐蚀
原理 程序 #include<opencv2/opencv.hpp>using namespace std;using namespace cv;Mat g_srcImage, g_dstImage; //原始图和效果图int g_nTrackbarNumber = 0; //0表示腐蚀erode,1表示膨胀dilateint g_n...原创 2018-08-14 20:23:55 · 13115 阅读 · 0 评论 -
openCV学习笔记(十六) —— 人脸识别 —— 程序 —— PCA特征脸Eigenfaces、重建人脸
此程序主要来源于F:\personal\data\openCV\opencv_contrib_3.4.1\modules\face\samples\facerec_eigenfaces.cpp流程读人脸数据文件 创建特征脸识别与训练 识别人脸 输出中间平均脸、特征脸、重建结果 相关图示 程序 /* 此程序主要来源于F:\personal\data\open...原创 2018-08-03 10:17:42 · 13258 阅读 · 0 评论 -
openCV学习笔记(二十三) —— 形态学滤波—— 开运算、闭运算、形态学梯度、顶帽、黑帽
原理 程序#include<opencv2/opencv.hpp>using namespace std;using namespace cv;/* 宏定义*/#define ORIGINAL_WINDOW_NAME "【原始图】"#define OPEN_CLOSE_WINDOW_NAME "【开运算/闭运算】"#defi...原创 2018-08-15 20:29:26 · 13091 阅读 · 0 评论 -
openCV学习笔记(十九) —— XML和YAML文件的写入和读取
以下程序来源于《opencv3入门经典》XML和YAML文件的写入#include<opencv2/opencv.hpp>#include <vector>#include <time.h>using namespace std;using namespace cv;int main(){ //初始化 FileStorage fs(...原创 2018-08-13 17:01:08 · 14759 阅读 · 0 评论 -
openCV学习笔记(九) —— 人脸检测
一、OpenCV人脸检测 要实现人脸识别功能,首先要进行人脸检测,判断出图片中人脸的位置,才能进行下一步的操作。 1、OpenCV人脸检测的方法 在OpenCV中主要使用了两种特征(即两种方法)进行人脸检测,Haar特征和LBP特征。在OpenCV中,使用已经训练好的XML格式的分类器进行人脸检测。在OpenCV的安装目录下的sources文件夹里的data文件夹里可以...转载 2018-07-27 12:02:11 · 14564 阅读 · 3 评论 -
openCV学习笔记(三) —— 环境搭建:codeblocks17.12 + opencv3.4.0 开发环境搭建
转载自:https://blog.csdn.net/qq_23091073/article/details/79763854 一、codeblocks + opencv主要参考了这篇博客,中间出现了一些问题,但都一一解决,我写下这篇博客记录一下。二、安装环境Windows 10 64位, codeblocks 17.12(带mingw32位编译器), opencv 3...转载 2018-07-15 17:17:15 · 16002 阅读 · 0 评论 -
openCV学习笔记(四) —— 鼠标截图、滑动条播放视频
一、鼠标截图#include <iostream>#include "opencv2/opencv.hpp"using namespace std;using namespace cv;Mat inImage = imread("test.jpg");Mat outImage = inImage.clone();bool flag = false;Point ...原创 2018-07-18 22:34:52 · 13781 阅读 · 0 评论 -
openCV学习笔记(一) ——环境搭建:codeBlocks搭建openCV-----MinGW版配置
*配置环境以及所涉及软件版本: *操作系统:win10系统 *IDE版本:codeblocks 17.12 *OpenCV版本: 2.4.10 *编译辅助工具:cmake-3.12.0-rc2-win64-x641) 安装codeb...原创 2018-07-07 11:12:17 · 15276 阅读 · 0 评论 -
openCV学习笔记(八) —— 一个窗口显示多张图片
为了将源图像和结果图像数据对比,常常要将多幅图片在一个窗口中显示。方法是首先声明一个大的Mat 作为最后显示的窗口,然后在这个大Mat中提取ROI,然后将原图和结果图拷贝到这两个ROI中。这里用到的函数是Rect 提取ROI区域,然后CopyTo 拷贝原图到ROI区域一、程序代码#include <iostream>#include <opencv2/opencv.h...原创 2018-07-24 20:14:26 · 21152 阅读 · 0 评论 -
openCV学习笔记(五) —— 函数运行时间
所用函数getTickCount():这个函数返回特定事件后的节拍数(例如,当机器打开时)。它可以用来初始化RNG或通过读取函数调用前后的滴答计数来测量一个函数执行时间。getTickFrequency():返回CPU一秒中所走的时钟周期数。所以可以以秒为单位对某运算时间计时。也可用函数cvGetTickCount()和cvGetTickFrequency()。但注意,此时得到的单位是u...原创 2018-07-19 13:56:20 · 14143 阅读 · 0 评论 -
openCV学习笔记(六) —— 图像的减色算法、椒盐噪声、锐化处理
一、原理彩色图像由三通道像素组成,每个通道表示红、绿、蓝三原色中一种颜色的亮度值,每个数值都是 8 位的无符号字符类型(uchar),因此颜色总数(number of colors,而是像素总数)为 :256×256×256=2^24=16777216超过 1600 万种颜色,因此为了降低分析的复杂性,有时需要减少图像中颜色的数量,一种实现方法是把 RGB 空间细分到大小相等的方块中。...原创 2018-07-19 15:25:43 · 15290 阅读 · 1 评论 -
openCV学习笔记(二) —— 环境搭建:OpenCV3.3+contrib+VS2017+CMake+Win10
OpenCV3.3: http://opencv.org/releases.html 下载源文件 CMake:https://cmake.org/download/ 我下载的是3.9.2版本64位 contrib:https://github.com/opencv/opencv_contrib/tree/3.3.0下载完成后解压OpenCV3.3和contrib到D:\openCV (路...转载 2018-07-07 16:26:10 · 21909 阅读 · 1 评论 -
openCV学习笔记(七) —— 图像对比度和亮度调整、通道分离与合并
一、对比度和亮度调整/* 对比度亮度调整*/#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;#define WIN_NAME "输出图像"Mat src, dst;int contrast = 100, bright ...原创 2018-07-19 18:52:43 · 14250 阅读 · 0 评论 -
openCV学习笔记(十) —— 人脸检测之面部特征(眼睛、鼻子、嘴巴)
环境:VS2017版本:3.4.1 人脸面部特征检测的准确性依赖于学习到的分类器。分类器可以从以下地址下载:https://github.com/opencv/opencv_contrib/tree/master/modules/face/data/cascades也可以从下载contrib模块,从以下路径获得:opencv_contrib_3.4.1\modules\face...原创 2018-07-28 14:39:44 · 35814 阅读 · 4 评论 -
openCV学习笔记(十二) —— 人脸识别算法(1/3)—— 特征脸 EigenFaces
一、原理opencv支持3种人脸识别的算法,分别是:1. Eigen Faces PCA(特征脸方法)2. Fisher Faces LDA(线性判别分析)3. Local Binary Pattern Histograms(LBP 局部二值模式直方图) 详细介绍可以参照以下链接https://blog.csdn.net/wanghz999/...转载 2018-07-30 19:52:52 · 29632 阅读 · 0 评论 -
openCV学习笔记(十一) —— 人脸识别的原理
在之前讲到的人脸测试后,提取出人脸来,并且保存下来,以供训练或识别是用,提取人脸的代码如下:void GetImageRect(IplImage* orgImage, CvRect rectInImage, IplImage* imgRect,double scale){ //从图像orgImage中提取一块(rectInImage)子图像imgRect IplImage *resul...转载 2018-07-28 16:29:24 · 11960 阅读 · 0 评论 -
openCV学习笔记(二十四) —— 直方图均衡化
原理 程序 #include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat srcImage, dstImage; srcImage = imread("test.jpg"); if (!srcImage.data) { printf...原创 2018-08-20 16:28:22 · 14905 阅读 · 0 评论