基于变换域的模版匹配

模板匹配原理

图像的空间域与其他域之间的变换,如傅里叶变换,小波变换,轮廓波变换,剪切波变换等,实际上是图像在其他坐标领域中的表现。在空间域中,图像的信息是像素值和坐标位置;在其他域中,如傅里叶变换,图像的信息就是频率和幅度。简单的讲就是从不同的角度看图像而已。在其他域中对图像进行模板匹配处理,称为基于变换域的模板匹配。

基于傅里叶变换的图像匹配是典型的基于变换域的模板匹配方法,图像的旋转、平移、比例变换等均能在傅里叶变换的频域中反映出来。

基于快速傅里叶互变换的模板匹配

Matlab程序代码

Matlab 复制代码
%% 读取背景背景和模板图像,并将其转化为灰度图

template = rgb2gray(imread('baby_mask.jpg'));

background = rgb2gray(imread('baby.jpg')); 

%% 获取图像的尺寸

[by,bx] = size(background);

[ty,tx] = size(template); % used for bbox placement 

%% 进行傅里叶变换,计算频谱数据

Ga = fft2(background);

Gb = fft2(template, by, bx);

c = real(ifft2((Ga.*conj(Gb))./abs(Ga.*conj(Gb))));

%% 画出互相关矩阵图像

figure;

surf(c),

shading flat; % plot correlation 

%% 获取互相关函数的峰值位置
[max_c, imax]   = max(abs(c(:)));
[ypeak, xpeak] = find(c == max(c(:)));   
%% 计算背景图像中的匹配区域的位置
position = [xpeak(1), ypeak(1), tx, ty]; 
%% 画出方框图
hFig = figure;
hAx  = axes;
imshow(background, 'Parent', hAx);
rectangle('Position',position,'LineWidth',0.8,'EdgeColor','r');
  

结果图片

相关推荐
xiaoduo AI2 分钟前
客服机器人支持表情包互动吗?智能体图文自动回复,更贴合年轻客户偏好?
人工智能·机器人
爱分享的阿Q15 分钟前
STM32现代化AI开发环境搭建:从Keil到VSCode+AI的范式转移
人工智能·vscode·stm32
LJ979511121 分钟前
媒体发布新武器:Infoseek融媒体平台使用指南
大数据·人工智能
科技小花21 分钟前
AI重塑数据治理:2026年核心方案评估与场景适配
大数据·人工智能·云原生·ai原生
Canace22 分钟前
使用大模型来维护知识库
前端·人工智能
乐鑫科技 Espressif25 分钟前
使用 MCP 服务器,把乐鑫文档接入 AI 工作流
人工智能·ai·esp32·乐鑫科技
云烟成雨TD27 分钟前
Spring AI Alibaba 1.x 系列【5】ReactAgent 构建器深度源码解析
java·人工智能·spring
语戚27 分钟前
Stable Diffusion 入门:架构、空间与生成流程概览
人工智能·ai·stable diffusion·aigc·模型
代码青铜33 分钟前
如何用 Zion 实现 AI 图片分析与电商文案自动生成流程
大数据·人工智能
俊哥V34 分钟前
每日 AI 研究简报 · 2026-04-08
人工智能·ai