一、计算图象的频谱函数
1设计图象3*30*30/256*256,垂直排列;
原理:傅立叶变换
傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原
和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立
叶变换。
离散傅立叶(Fourier)变换的定义:
二维离散傅立叶变换(DFT)为:
逆变换为:
式中,
在DFT变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为:
图像的傅立叶变换有快速算法。
思路:先创建一个256*256的图,在其中有三个30*30的模块垂直排列,它们的像素都为1,其他部分都为0,此过程可以用for语句实现,一个一个像素处理,最后将创建的图像进行傅里叶变换,显示频域图。
程序:
clc;
A=[];
s=256;
w=256;
for i=1:s
for j=1:w
A(i,j)=0;
end
end
for i=113:143
for j=113:143
A(i,j)=1;
end
end
for i=53:83
for j=113:143
A(i,j)=1;
end
end
for i=173:203
for j=113:143
A(i,j)=1;
end
end
subplot(1,2,1),imshow(A);
title('A');
F = fft2(A);
F2=fftshift(F);
F2 = log(abs(F2));
subplot(1,2,2),imshow(F2,[-1 5]);
title('傅里叶变换');
图:
二、根据计算证明傅立叶变换的性质
5.空域平移性:
设f1(x,y)为30*30/256*256, 左移得到f2(x,y), 求F2(u,v); 上移得到f3(x,y), 求F3(u,v); 证明F1(u,v)、F2(u,v)和F3(u,v)的绝对值相等。
思路:方法同第一题,只是加了平移,同样先创建一个256*256的f1图像,再将f1左移得到f2,只是像素点值的变换,再将f1上移得到f3,最后分别进行傅里叶变换,设一个参数a,当F1(u,v)、F2(u,v)和F3(u,v)的绝对值相等时,a的值是1.
程序:
clc;
f1=[];
f2=[];
f3=[];
s=256;
w=256;
for i=1:s
for j=1:w
f1(i,j)=0;
end
end
for i=113:143
for j=113:143
f1(i,j)=1;
end
end
for i=1:s
for j=1:w
f2(i,j)=f1(i,j);
end
end
for i=113:143
for j=53:83
f2(i,j)=1;
end
end
for i=113:143
for j=113:143
f2(i,j)=0;
end
end
for i=1:s
for j=1:w
f3(i,j)=f1(i,j);
end
end
for i=53:83
for j=113:143
f3(i,j)=1;
end
end
for i=113:143
for j=113:143
f3(i,j)=0;
end
end
F=fft2(f1);
F1= abs(F);
F=fft2(f2);
F2= abs(F);
%F2=fftshift(F2);
F3=fft2(f3);
F3 = abs(F3);
%F3=fftshift(F3);
[s,w]=size(F1);
for i=1:s
for j=1:w
if F1(i,j)==F2(i,j)&&F1(i,j)==F2(i,j)
a=1;
else a=0;
end
end
end
subplot(2,2,1),imshow(f1);
title('f1');
subplot(2,2,2),imshow(f2);
title('f2');
subplot(2,2,3),imshow(f3);
title('f3');
figure,imshow(fftshift(F2),[-1 5]); title('F2');
figure,imshow(fftshift(F3),[-1 5]); title('F3');
结果:
图像:
三、图象变换比较
利用现有的离散傅立叶变换、离散余弦变换、Walsh-Hadamard变换对同一图象实施变换,比较三种变换所得到的频谱。
原理:离散余弦变换
在傅里叶级数展开式中,如果被展开的函数是实偶函数,那么,其傅里叶技术中只包含余弦项,在将其离散化由此可导出余弦变换,或称之为离散余弦变换(DCT,Discrete Cosine Transform)[7]。
二维离散余弦正变换
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
为
(2-3)
式中,
。
Walsh-Hadamard变换
程序:
clc;
A=imread('C:\Documents and Settings\Administrator\桌面\作业\DIP上机图象1\p105.tif');
%显示原图
subplot(2,2,1),imshow(A);
title('A');
X=double(A);
F2=fft2(X);
F2=fftshift(F2);
F2 = log(abs(F2));
subplot(2,2,2),imshow(F2,[-1 10]);title('F2');
J = dct2(A);
subplot(2,2,3),imshow(log(abs(J)));title('J');
J(abs(J) < 10) = 0;
subplot(2,2,4),imshow(log(abs(J)));title('J1');
K = idct2(J);
figure,imshow(K,[0 255]);title('K');
a=double(A)/255;
ha=H*a*H;
ha=ha/256;
figure,imshow(ha);
title('图像的二维离散哈达玛变换');
图像:
四、图象的频域滤波
5.根据窗函数法设计一个低通滤波器,对两图象(f1(x,y)为30*30/256*256的图象;f2(x,y)=p205图象)进行低通滤波,观察分析空域图象和频谱分布的变化。
原理:低通滤波
图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部
分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。由卷积定理,在频域实现低通
滤波的
数学
数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划
表达式:
G(u,v) =H(u,v)F(u,v)
1) 理想低通滤波器(ILPF)
思路:先对图进行傅里叶变换,再通过C语句设计理想低通滤波器来处理变换后的图像,最后反变换回来,复原图像。
f2(x,y)=p205图象程序:
clc;
A=imread('C:\Documents and Settings\Administrator\桌面\作业\DIP上机图象2\p205.tif');
subplot(2,2,1),imshow(A);
title('A');
f=double(A);
g=fft2(f);
g=fftshift(g);
subplot(2,2,2),imshow(log(abs(g)),[-1 10]);title('傅里叶变换');
[M,N]=size(g);
D0=100; %截止频率
m=fix(M/2);
n=fix(N/2);
for i=1:M
for j=1:N
D=sqrt((i-m)^2+(j-n)^2);
if(D<=D0)
h=1;
else h=0;
end
I(i,j)=h*g(i,j);
end
end
subplot(2,2,3),imshow(I);title('理想低通滤波器');
I=ifftshift(I);
J1=ifft2(I);
J2=uint8(real(J1));
subplot(2,2,4),imshow(J2); title('复原图');
图: