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 分钟前
算法备案算法安全自评估报告模板(精简完善版)
大数据·网络·人工智能·算法·文心一言
阳火锅5 分钟前
鳌虾 AoCode:重新定义 AI 编程助手的下一代可视化工具
前端·人工智能·架构
用户446594547875 分钟前
OpenClaw 源码解析:架构设计与扩展开发
人工智能
Irissgwe5 分钟前
线程概念与控制
linux·开发语言·c++·线程
leeshuqing8 分钟前
《Python程序设计(AI辅助学习版)》已经出版
人工智能·python·学习
沐曦股份MetaX9 分钟前
沐曦芯生 开源共创 | 沐曦股份北京AI研究院揭幕,共建开源生态高地
人工智能·开源
@大吉11 分钟前
AI笔记第二节:RNN 循环神经网络
人工智能·笔记·rnn
Less^_^12 分钟前
深入理解 AI 开发核心概念:Prompt、Agent、MCP、Skill 与 Tools
人工智能·microsoft·prompt
行走的大头13 分钟前
论文写作全流程工具推荐:从降AI率到数据分析,
人工智能·chatgpt·数据分析·aigc·ai写作
新缸中之脑13 分钟前
AI时代好的设计意味着什么
人工智能