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 写得更快,上线却容易炸?拆解 AI 编码生产力悖论的 5 个机制,附 9 个坑的自检清单
人工智能·llm·ai编程
derekwang854 分钟前
驾驭 AI · AI Harness Engineering · 契约层设计
人工智能·ai编程
月华路4 分钟前
《模型不玄学》第14章 标签、损失与样本权重
人工智能·算法·机器学习
学习星球9 分钟前
编辑距离——二维 DP 的“最小操作“艺术
c++·leetcode·java-consul
OPEN-F10 分钟前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python
暖焰核心12 分钟前
迭代器与模板的结合——stl的list
c++·windows·list
DPS普轩·真空灌胶机专家12 分钟前
普轩科技亮相第四届西安军工展 | 真空灌胶专家,展位 2-003
大数据·人工智能·科技·机器人·pcb工艺
台风护盾13 分钟前
视频怎么自动翻译成中文字幕?AI 视频翻译的三道坎和一条捷径
人工智能·机器翻译·音频处理·ai工具·视频翻译
@嵌入式扫地僧14 分钟前
嵌入式环境下麦克风阵列远场语音降噪的快速实现
人工智能·语音识别·嵌入式语音降噪·麦克风阵列·ai 降噪轻量化
行者全栈架构师15 分钟前
WorkBuddy 实战:把一份 200 页年报变成可上台的投资分析 PPT
人工智能·算法·全栈