clear
load data.mat ; %下载数据
H = [0:floor(size(data,1)/2),floor(size(data,1)/2)-1:-1:0]; %补偿高频的滤波器
H = H(:) ;
l = pow2(nextpow2(size(data,1))-1) ; %重构图像的大小
F = zeros(l,l) ; %用于存放重构后的图像
f = zeros(size(data));
for i = 1 : size(data,2)
x = data(:,i) ;
y = fft(x) ;
f(:,i) = real(ifft(y)) ;
tmp = imrotate( repmat(f(:,i),1,size(data,1)),i-1,'bilinear' ) ; %将每一行的傅立叶反变换由一维扩展到二维
tmp = tmp(floor(size(tmp,1)/2-l/2)+1:floor(size(tmp,1)/2+l/2),floor(size(tmp,2)/2-l/2)+1:floor(size(tmp,2)/2+l/2)) ;
F = F + tmp ; %将所有方向上的变换结果求和
end
figure;imshow(F,[]) ;
评论1
最新资源