一.运动物体轮廓椭圆拟合及中心 #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…
这里要感谢这篇博主的文章 部分内容转载自此 opencv在2.3版本之前 都是用的c语言实现的 而在2.3以后的版本 做了很多重大的改变 其中最主要的是用c++重写大部分结构 然后文件的结构和2.0之前的也有很多不同 然后对库的结构进行了合理的规划拆分 core——定义了基本数据结构,包括最重要的Mat和一些其他的模块 imgproc——该模块包括了线性和非线性的图像滤波,图像的几何变换,颜色空间转换,直方图处理等等 video——该模块包括运动估计,背景分离,对象跟踪 calib3d——基本的…
一.简介 二.背景减法 图片说明 #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…
一.角点检测的相关概念 二.Harris角点检测——cornerHarris() 参考网址: http://www.cnblogs.com/ronny/p/4009425.html #include "opencv2/opencv.hpp" #include<iostream> using namespace std; using namespace cv; void main() { Mat img = imread("E://3.jpg"); ims…
检测边缘和轮廓不仅重要,还经常用到,它们也是构成其他复杂操作的基础. 直线和形状检测与边缘和轮廓检测有密切的关系. 霍夫hough 变换是直线和形状检测背后的理论基础.霍夫变化是基于极坐标和向量开展的,常规的直线是二维平面直角坐标上建立的 y = kx + b 该直线的参数 k.b 存在有负值,负值则不便于计算(有资料这样撰写的,没有深究,就以此为参考吧),对于极坐标而言,其表达式为 r=x * cosθ + y * sinθ 参数r.θ均可以为正数(极坐标r值永远是大于等于0的数,θ就可以用0…
在计算机视觉研究当中,HOG算法和LBP算法算是基础算法,但是却十分重要.后期很多图像特征提取的算法都是基于HOG和LBP,所以了解和掌握HOG,是学习计算机视觉的前提和基础. HOG算法的原理很多资料都可以查到,简单来说,就是将图像分成一个cell,通过对每个cell的像素进行梯度处理,进而根据梯度方向和梯度幅度来得到cell的图像特征.随后,将每个cell的图像特征连接起来,得到一个BLock的特征,进而得到一张图片的特征.Opencv当中自带HOG算法,可以直接调用,进行图像的特征提取.但…
一.人脸检测并采集个人图像 //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…
一.简介 二.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…
一.特征匹配简介 二.暴力匹配 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…