OpenCV(十九):模板匹配

1.模板匹配:

OpenCV提供了一个模板匹配函数,用于在图像中寻找给定模板的匹配位置。

2.图像模板匹配函数matchTemplate

void matchTemplate( InputArray image, InputArray templ,

OutputArray result, int method, InputArray mask = noArray() );

  • image:待模板匹配的原图像,图像数据类型为CV 8U和CV 32F两者中的一个。
  • templ:模板图像,需要与image具有相同的数据类型,但是尺寸不能大于image。
  • result:模板匹配结果输出图像,图像数据类型为CV 32F。如果image的尺寸为WXH,模板图像尺寸为wxh,则输出图像的尺寸为 (W-w+1)XH-+1)。
  • method:模板匹配方法标志。
  • mask: 匹配模板的掩码,必须与模板图像具有相同的数据类型和尺寸,默认情况下不设置,目前仅支持在TM_SODIFF和TM_CCORR_NORMED这两种匹配方法时使用。

其中,图像模板匹配方法标志:

3.示例代码:

复制代码
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

//模板匹配
void Template_matching(Mat img,Mat temp){
Mat result;
matchTemplate(img,temp,result,TM_CCOEFF_NORMED);
//在结果图像中找到最佳匹配位置:
double maxVal,minVal;
Point maxLoc,minLoc;
minMaxLoc(result,&minVal,&maxVal,&minLoc,&maxLoc);
//在原始图像上绘制矩形框标记最佳匹配位置:
rectangle(img,Point(maxLoc.x,maxLoc.y),Point(maxLoc.x+temp.cols,maxLoc.y+temp.rows),Scalar(0,0,0),2);

imwrite("/sdcard/DCIM/img.png",img);//原图像
imwrite("/sdcard/DCIM/temp.png",temp);//模板
}
相关推荐
火柴-人2 分钟前
用 AI 调试渲染 Bug:renderdoc-mcp 进阶工作流
c++·人工智能·图形渲染·claude·codex·mcp·renderdoc
狙击主力投资工具5 分钟前
MACD形态推演:形背离的实战技巧-MACD指标的加速度特征-从速度的角度,对高低点结构进行分类
人工智能
梓䈑10 分钟前
【CMake】cmake实现属性传递的秘密(目标的默认输出路径 以及 如何修改输出路径)
c++·cmake
wangjialelele13 分钟前
现代C++:C++17新特性整理
c语言·开发语言·c++·visual studio code
HySpark14 分钟前
从“录音”到“决策”:一套会议总结与智能分析体系的技术落地实践
人工智能·机器学习·支持向量机
字节高级特工15 分钟前
C++从入门到熟悉:深入剖析const和constexpr
前端·c++·人工智能·后端·算法
luofeiju16 分钟前
有限投影与仿射相机应用对比
计算机视觉
智能运维指南17 分钟前
AI 重塑研发效能边界:企业级 DevOps 进入 “智能工程平台” 新阶段—— 嘉为科技视角下 AI+DevOps 的落地逻辑与实践路径
人工智能·科技·devops
独隅17 分钟前
PyTorch 模型性能优化全面指南
人工智能·pytorch·性能优化
Bruce_Liuxiaowei19 分钟前
2026年3月第4周网络安全形势周报(1)
人工智能·安全·web安全