在matlab中实现图像的自相关和互相关

%图像的自相关? 
clear
I1=imread('lenna.bmp','bmp');%输入图像1(参考图像)
I1=I1(:,:,1);
figure(1)%显示输入图像1
colormap(gray(255));
image(I1)
axis off
FI1=fft2(I1);
max1=max(FI1);
max2=max(max1);
scale=1.0/max2;
FI1=FI1.*scale;
I2=imread('lenna.bmp','bmp');%输入图像2(待识别图像)
I2=I2(:,:,1);
figure(2)%显示输入图像2
colormap(gray(255));
image(I2)
axis off
FI2=fft2(I2);
max1=max(FI2);
max2=max(max1);
scale=1.0/max2;
FI2=FI2.*scale;
FPR=FI1.*conj(FI2);%计算相关性
PR=ifft2(FPR);
PR=fftshift(PR);
max1=max(PR);
max2=max(max1);
scale=1.0/max2;
PR=PR.*scale;
figure(3)%空间域相关显示
colormap(gray(255));
image(abs(256*PR));
axis off




%图像的互相关? 
clear 
I1=imread('lenna.bmp','bmp');%输入图像1(参考图像)
I1=I1(:,:,1);
figure(1)%显示输入图像1
% colormap(gray(255));
imagesc(I1)
axis off
FI1=fft2(I1);
max1=max(FI1);
max2=max(max1);
scale=1.0/max2;
FI1=FI1.*scale;
I2=imread('lenna.bmp','bmp');%输入图像2(待识别图像)
A=zeros(256,256);%图像矩阵的大小
A=I2(1:256,1:256);%图像矩阵的大小
A=A(:,:,1);
figure(2)%显示输入图像2
% colormap(gray(255));
imagesc(A)
axis off
FI2=fft2(A);
max1=max(FI2);
max2=max(max1);
scale=1.0/max2;
FI2=FI2.*scale;
FPR=FI1.*conj(FI2);%计算相关性
PR=ifft2(FPR);
PR=fftshift(PR);
max1=max(PR);
max2=max(max1);
scale=1.0/max2;
PR=PR.*scale;
figure(3)%空间域相关显示
% colormap(gray(255));
imagesc(abs(256*PR));
axis off

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值