一.简介 二.opencv中的SURF算法接口 三.特征点匹配方法 四.代码 1.特征点提取 #include "opencv2/opencv.hpp" #include <opencv2/nonfree/nonfree.hpp> #include <vector> #include<iostream> using namespace std; using namespace cv; void main() { Mat srcImg1 = imrea…
特征点又称兴趣点.关键点,它是在图像中突出且具有代表意义的一些点,通过这些点我们可以用来识别图像.进行图像配准.进行3D重建等.本文主要介绍OpenCV中几种定位与表示关键点的函数. 一.Harris角点 角点是图像中最基本的一种关键点,它是由图像中一些几何结构的关节点构成,很多都是线条之间产生的交点.Harris角点是一类比较经典的角点类型,它的基本原理是计算图像中每点与周围点变化率的平均值.    (1)   (2) 其中I(x+u,y+u)代表了点(x,y)邻域点的灰度值.通过变换可以将上…
在计算机视觉研究当中,HOG算法和LBP算法算是基础算法,但是却十分重要.后期很多图像特征提取的算法都是基于HOG和LBP,所以了解和掌握HOG,是学习计算机视觉的前提和基础. HOG算法的原理很多资料都可以查到,简单来说,就是将图像分成一个cell,通过对每个cell的像素进行梯度处理,进而根据梯度方向和梯度幅度来得到cell的图像特征.随后,将每个cell的图像特征连接起来,得到一个BLock的特征,进而得到一张图片的特征.Opencv当中自带HOG算法,可以直接调用,进行图像的特征提取.但…
一.特征匹配简介 二.暴力匹配 1.nth_element筛选 #include "opencv2/opencv.hpp" #include <opencv2/nonfree/nonfree.hpp>//SIFT #include <opencv2/legacy/legacy.hpp>//BFMatch暴力匹配 #include <vector> #include<iostream> using namespace std; using…
一.简介 二.OpenCV中的SIFT算法接口 #include "opencv2/opencv.hpp" #include <opencv2/nonfree/nonfree.hpp>//SIFT #include <vector> #include<iostream> using namespace std; using namespace cv; void main() { Mat srcImg1 = imread("E://00.jp…
一.概述 二.一维灰度直方图 #include "opencv2/opencv.hpp" #include<iostream> using namespace cv; using namespace std; void main() { Mat img = imread(); //以灰度方式打开,灰度图和彩色图直方图结果不同 imshow("src", img); Mat dstHist; //定义存储直方图变量 ; //需要统计的特征数目(只统计灰度值…
一.人脸检测并采集个人图像 //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.流程…
一.直方图均衡化--equalizeHist() #include "opencv2/opencv.hpp" using namespace cv; void main() { 6 Mat srcImg = imread("E://02.jpg", 0); //以灰度方式打开,需要输入单通道图像 7 imshow("src", srcImg); 8 Mat dstImg; //均衡化后的图像 9 equalizeHist(srcImg, dstI…
一.简介 在图像处理和计算机视觉领域中,如何从当前的图像中提取所需要的特征信息是图像识别的关键所在.在许多应用场合中需要快速准确地检测出直线或者圆.其中一种非常有效的解决问题的方法是霍夫(Hough)变换. 二.霍夫线变换 霍夫线变换的原理 以上原理部分,转自http://blog.csdn.net/poem_qianmo/article/details/26977557 #include "opencv2/opencv.hpp" using namespace cv; void ma…