opencv函数学习总结

  模板匹配函数:matchTemplate()

  该函数支持灰度图像和彩色图像两种图像的匹配。

  函数原型

void matchTemplate( InputArray image, InputArray templ,
                                 OutputArray result, int method );
参数解释:
image:待匹配的原始图像,图像的数据类型为CV_8U和CV_32F两者中的一个。
templ:模板图像,需要与原图像具有相同数据类型,但是尺寸不能大于原始图像。
result:模板匹配结果输出图像,图像数据类型为CV_32F。
method:模板匹配方法标志,可选择下面中的介绍
mask:模板匹配的掩码,必须与模板图像具有相同的数据类型和尺寸,默认情况下不需要设置。

method标志参数 简记 方法名称
TM_SQDIFF 0 平方差匹配法
TM_SQDIFF_NORMED 1 归一化平方差匹配法
TM_CCORR 2 相关匹配法
TM_CCORR_NORMED 3 归一化相关匹配法
TM_CCOEFF 4 系数匹配法
TM_CCOEFF_NORMED 5 归一化相关系数匹配法

  目前仅支持TM_SQDIFF和TM_CCORR_NORMED两种匹配方法中使用。

  当函数计算完成后,想要获取其匹配最大的点由minMaxLoc()函数计算
  minMaxLoc()函数:查找全局最小和最大元素并返回其值及其位置
用法:
  double minVal,maxVal;
  Point minLoc,maxLoc;
  minMaxLoc(result,&minVal,&maxVal,&minLoc,&maxLoc);
  可以在原图中画出该区域
  rectangle(img,cv::Rect(maxLoc.x,maxLoc.y,templ.cols,templ.rows),Scalar(0,0,255),2);
有关于该函数和相关变量的使用方法请另查找,不过如上已经能够进行基本运用了。

  《》《》《》《》《》其他更加具体的介绍待补充.....

原文地址:https://www.cnblogs.com/2020zxc/p/15334835.html