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);//模板
}
相关推荐
2501_945837434 分钟前
OpenClaw:从 “聊天” 到 “执行”,AI 智能体的破局者
人工智能
DO_Community4 分钟前
无封号焦虑!Claude Code 官方插件 +VS Code ,稳定接入的配置指南
人工智能·vscode·aigc·claude
woai33645 分钟前
AI通识-人工智能的发展&产生要素
人工智能·ai
互联网推荐官6 分钟前
APP开发的架构决策:PaaS平台与自建体系的工程边界在哪里
人工智能
xiami_world6 分钟前
产品路线图的技术实现升级:从甘特图到AI Agent驱动的无限画布闭环
人工智能·ai·信息可视化·流程图·产品经理·甘特图
思绪无限6 分钟前
YOLOv5至YOLOv12升级:疲劳驾驶检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·yolo·目标检测·计算机视觉
南境十里·墨染春水6 分钟前
C++流类库 字符串流
开发语言·c++
唯创知音11 分钟前
语音提示器雷达感应方案从红外到雷达的技术升级与模组选型指南
人工智能·语音识别·语音提示器·提示器·雷达选型指南
roc9811 分钟前
这个系统能跑,但我不敢改:一次典型的 vibecoding 反思
人工智能·后端