声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3233|回复: 8

[图像处理] 基于FFT的图像匹配

[复制链接]
发表于 2011-7-1 15:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
结果不对,望指教。
% 文件名: ImageMatch_2.m
% 功能: 基于FFT相关法的图像匹配
% 改进: 旋转
%%%%%%%%%%%%%%%基于FFT的图像匹配%%%%%%%%%%%%%
clc
clear all

% 设定参数
Size = 128;

% 读取原始图像和待匹配图像的数据并显示
SrcIm = imread('E:\Image\lena.bmp');
TmpIm = imread('E:\Image\tmp.bmp');
[SrcWidth SrcHeight] = size(SrcIm);
[TmpWidth TmpHeight] = size(TmpIm);
figure, imshow(SrcIm)
figure, imshow(TmpIm)

% 二维FFT
Width = 2 ^ ceil(log2(SrcWidth));
Height = 2 ^ ceil(log2(SrcHeight));
SrcIm = fft2(double(SrcIm), Width, Height);
TmpIm = fft2(double(TmpIm), Width, Height);

% 二维FFT中心化
SrcIm = fftshift(SrcIm);
TmpIm = fftshift(TmpIm);

% 提取幅谱
SrcIm = abs(SrcIm);
TmpIm = abs(TmpIm);

% 原始图像、待匹配图像转化对数极坐标图像
SrcPolar = imlogpolar(SrcIm, Size, Size, 'bilinear');
TmpPolar = imlogpolar(TmpIm, Size, Size, 'bilinear');

% 极坐标图像的二维FFT
SrcData = fft2(SrcPolar, Size, Size);
TmpData = fft2(TmpPolar, Size, Size);

% 计算矩阵相关系数
TmpData = conj(TmpData);
CC = SrcData .* TmpData;
for i = 1 : Size
    for j = 1 : Size
        CC(i, j) = CC(i, j) / abs(CC(i, j));
    end
end

% 二维IFFT
Data = ifft2(CC);
Data = abs(Data);
figure, surf(Data)

% 计算CC的峰值
[fMax PosY] = max(Data);
[fMax PosX] = max(fMax);
PosY = PosY(PosX);

% 计算旋转角度
Theta = (PosX - 1) * 360 / Size;

if Theta > 180
    Theta = Theta - 360;
end

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2011-7-2 14:46 | 显示全部楼层
回复 1 # FTfengtao 的帖子

自己顶一下
发表于 2011-7-3 14:56 | 显示全部楼层
或许专业不同, 个人总觉得LZ问得不清!?
 楼主| 发表于 2011-7-6 16:17 | 显示全部楼层
回复 3 # ChaChing 的帖子

不好意思,我的意思是我上面的程序有问题,希望大家看看,问题在哪??谢谢
发表于 2011-7-6 16:50 | 显示全部楼层
回复 1 # FTfengtao 的帖子

不太看得懂
发表于 2011-7-6 21:51 | 显示全部楼层
回复 4 # FTfengtao 的帖子

我想我没表达清楚, 建议LZ看下, 或许有所体会
5.建议提问的网友分清 编程问题 和 专业问题 http://forum.vibunion.com/thread-36746-1-1.html
6.提问的智慧!!!!(发帖前请认真阅读) http://forum.vibunion.com/thread-21991-1-1.html
发表于 2011-7-20 10:52 | 显示全部楼层
楼主  你好  旋转角度的结果作出来了吗   上面的imlogpolar命令代码你有吗  
发表于 2013-10-14 17:02 | 显示全部楼层
for i=1:Size中的Size的大小不知道
发表于 2013-11-1 15:06 | 显示全部楼层
谢谢楼主,学习一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-3 10:41 , Processed in 0.092473 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表