opencv学习记录——(15)模板匹配

一、单模板匹配

#include "opencv2/opencv.hpp"
#include 
using namespace std;
using namespace cv;
void main()
{
	///单模板匹配
	Mat temp = imread("temp.png");  //模板图像
	Mat src = imread("src.png");  //待搜索图像即原图
	imshow("temp", temp);
	imshow("src", src);

	Mat dst = src.clone();  //原图备份:为后面可以在原图上画出绿色框做准备

	int width = src.cols -  temp.cols +1;  //result 宽度,因为像素点从0开始,所以要加1
	int height = src.rows - temp.rows +1; //result 高度

	Mat result(height, width, CV_32FC1); //创建结果映射图像即结果图

	matchTemplate(src, temp, result, CV_TM_CCOEFF_NORMED);  //化相关系数匹配最佳值 1
	imshow("result", result);
	normalize(result, result, 0, 1, NORM_MINMAX, -1);  //归一化到0--1范围
     
	double minValue, maxValue;//定义最小匹配值和最大匹配值
	Point minLoc, maxLoc;//定义最小匹配位置和最大匹配位置
	minMaxLoc(result, &minValue, &maxValue, &minLoc, &maxLoc);
	cout<<"minValue="<

你可能感兴趣的:(opencv,学习,计算机视觉)