一.对比度亮度调整 #include<opencv2/opencv.hpp> using namespace cv; #define WIN_NAME "输出图像" Mat src,dst; ,bright=; void onChange(int,void*){ ; i < src.rows; i++) { ; j < src.cols; j++) { //saturate_cast<uchar> 溢出保护:if(data<0) data=0;…
本文部分内容转自 https://www.cnblogs.com/chaosimple/p/3182157.html 一.统计学概念 二.为什么需要协方差 三.协方差矩阵 注:上述协方差矩阵还需要除以除以(n-1).MATLAB使用cov函数计算协方差时自动除以了(n-1),opencv使用calcCovarMatrix函数计算后还需要手动除以(n-1) 协方差具体计算 以学生成绩举例:有5名学生,参加数学.英语.美术考试,得分如图 1.计算均值矩阵M 均值是对每一列求平均值:means=[66…
https://blog.csdn.net/ZYTTAE/article/details/42234989 由于算法的需要,需要把彩色图像的R.G.B值分离出来,OpenCV中正好有split() 和 merge() 函数可以实现. 一.对单独彩色图片的RGB通道分离: #include <iostream> #include "cv.h" #include "highgui.h" using namespace std; using namespace…
在计算机视觉研究当中,HOG算法和LBP算法算是基础算法,但是却十分重要.后期很多图像特征提取的算法都是基于HOG和LBP,所以了解和掌握HOG,是学习计算机视觉的前提和基础. HOG算法的原理很多资料都可以查到,简单来说,就是将图像分成一个cell,通过对每个cell的像素进行梯度处理,进而根据梯度方向和梯度幅度来得到cell的图像特征.随后,将每个cell的图像特征连接起来,得到一个BLock的特征,进而得到一张图片的特征.Opencv当中自带HOG算法,可以直接调用,进行图像的特征提取.但…
OpenCV的第一个代码: #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> cv::Mat function(){ cv::Mat ima(,,CV_8U,); return ima; } int main(){ //创建窗口 cv::namedWindow("Image 1"); cv::namedWindow(&…
一.人脸检测并采集个人图像 //take_photo.cpp #include<opencv2/opencv.hpp> using namespace cv; using namespace std; void take_photo() { VideoCapture cap(); //打开摄像头 if (!cap.isOpened()) return; //加载级联检测器 CascadeClassifier cascade; cascade.load("F:/opencv3.2/Re…
一.人脸识别算法之特征脸方法(Eigenface) 1.原理介绍及数据收集 特征脸方法主要是基于PCA降维实现. 详细介绍和主要思想可以参考 http://blog.csdn.net/u010006643/article/details/46417127 上述博客的人脸数据库打不开了,大家可以去下面这个博客下载ORL人脸数据库 http://blog.csdn.net/xdzzju/article/details/50445160 下载后,ORL人脸数据库有40个人,每人10张照片. 2.流程…
一.PCA理论介绍 网上已经有许多介绍pca原理的博客,这里就不重复介绍了.详情可参考 http://blog.csdn.net/zhongkelee/article/details/44064401 计算过程 数据互换 二.opencv代码 #include<opencv2/opencv.hpp> using namespace cv; using namespace std; void calcPCAOrientation(vector<Point>&pts, Mat…
一.运动物体轮廓椭圆拟合及中心 #include "opencv2/opencv.hpp" #include<iostream> using namespace std; using namespace cv; Mat MoveDetect(Mat frame1, Mat frame2) { Mat result = frame2.clone(); Mat gray1, gray2; cvtColor(frame1, gray1, CV_BGR2GRAY); cvtColo…
一.简介 二.背景减法 图片说明 #include "opencv2/opencv.hpp"using namespace cv; void main() { Mat img1 = imread("E:\\pic\\1.bmp"); Mat img2 = imread("E:\\pic\\55.bmp"); imshow("img1", img1); imshow("img2", img2); Mat gr…