数字图像处理关于频率处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理:关于频域的理解
原
图频谱图
第一题:
1. matlab 代码:
i1=imread('lines.png');
I1=fft2(i1);
subplot(1,2,1);imshow(i1,[]);title('原图');
subplot(1,2,2);imshow(log(1+abs(I1)),[]);title('频谱图');
figure
i2=imread('rice.tiff');
I2=fft2(i2);
subplot(1,2,1);imshow(i2,[]);title('原图');
subplot(1,2,2);imshow(log(1+abs(I2)),[]);title('频谱图');
2. 对比效果:
原图频谱图
3.分析:频谱图中出现强烈的水平分量和垂直分量是因为原图的边缘出现明显的不连续导致的。图像频谱的低频部分决定了大体上的灰度变化(比较模糊),而图像频谱的高频部分决定了细节变化(边缘). 通过给图像加上一个汉明窗(设计低通滤波器),可以滤掉图像的高频部分,即减少图像边缘的不连续,从而可以减少频谱的水平分量和垂直分量。
4.加窗实现:
img=imread('lines.png');
img=im2double(img);
[h,w]=size(img);%图像大小
window=hamming(h)*hamming(w)';%汉明窗函数
IMG=img.*window;%加窗
FIMG=fft2(IMG);
subplot(1,2,1)
imshow(IMG,[]);title('加窗后的图像');
subplot(1,2,2)
imshow(log(1+abs(FIMG)),[]);title('加窗后的频谱图');
5.对比效果:
第二题:
1.代码:
img=imread('child.png');
img=im2double(img);
subplot(1,2,1)
imshow(img,[]);
title('原图'
); 原
图
频谱
图加窗后的图
像
加窗后的频谱
图
加窗后的图
像
加窗后的频谱图
[height,width]=size(img);
for m=1:height
for n=1:width
img(m,n)=img(m,n)*(-1)^(m+n);
end
end%步骤A :对(x,y)位置上的像素值乘以(-1)^(x+y )
IMG=fft2(img);%步骤B :计算图像二维 DFT
IMG1=conj(IMG);%步骤C :取共轭
img=ifft2(IMG1);%步骤D :对共轭后的频谱做 IDFT 运算
img1=real(img);%步骤E :取实部
for m=1:height
for n=1:width
img1(m,n)=img1(m,n)*(-1)^(m+n);
end
end%步骤F :对实部乘以(-1)^(x+y)
subplot(1,2,2)
imshow(img1,[]);
title('处理后的图');
2.结果:
3.步骤分析:
(1)步骤A ,B :变化前将输入的图像乘于(-1)^(x+y)得到的结果与傅里叶变换后使用fftshift()的结果一样,即:
原图处理后的图
F[(-1)x+y.f(x+y)] fftshift(fft2(f))
频谱的原点移动到图像中心。
(2)步骤C:根据傅里叶变换的共轭对称性,F*(u,v)对应的原函数为f(-x,-y),即将原函数关于中心取对称。
(3)步骤D:ifft2(F*(u,v))=>f(-x,-y),作用是图像取中心对称,即坐标原点在图像中心的图像旋转了180度。
(4)步骤E:取实部。如果用于计算F的输入图像是实数,那么理论上反变换的结果也应该是实数。但在matlab较早版本中,ifft2的输出通常会有由计算中舍入误差导致的较小的虚分量,常用的解决方案是取反变换后结果的实部,获得仅有实数值的图像。
(5)步骤F:由于步骤A中f(x,y)*(-1)x+y,所以傅里叶反变换后的结果为f(-x,-y)*(-1)x+y,这是正负间隔的,表现为图像像素点是黑白间隔的。步骤F的作用是:
f(-x,-y)*(-1)(x+y)*(-1)(x+y)=f(-x,-y)
所以最终的结果是:原图像取中心对称。
4.问题与思考:
(1)最终得到的图像在最左侧和最上侧均有一行像素是周期扩展得到的。为什么?
第三道题:关于负频率
1.频率f 的原始定义是每秒出现的次数,可用以衡量机械运动、电
信号、乃至任何事件重复出现的频度,这当然不存在“负”的概念。当用频率描述圆周运动时(即进入了二维信号平面),产生了“角频率ω”的概念,从机械旋转运动出发,定义为角速度,对于周期运动,角速度也就是角频率。通常θ以反时针为正,因此转动的正频率是反时针旋转角速度,负频率就是顺时针旋转角速度。正、负号是非常自然形成的。
(2)负频率频谱的物理意义:实际上,以角频率为Ω的余弦信号cosΩt 为例,欧拉公式cos Ω t = 0.5(e jΩt + e −jΩt ) 以最简明的方式建立了信号频域与时域的关系,它说明一个最简单的实余弦信号可以由正、负两个Ω频率分量合成。在复平面上,正的Ω对应于反时针旋转的向量,负的Ω对应于顺时针旋转的向量,当这两个向量幅度相等,相角符号相反时,就合成为一个在实轴上的向量。推而广之,任何实周期信号必然具有正、负两组频率的频谱成分,其正、负频率频谱的幅度对称而相位相反,即是共轭的。
(3)通信领域中,实信号的双边频谱是对称的。如果它的单边频带宽W,虑到负频率成分,实际占的频谱区域就是±W,所以通信中要传输这样的信号就需要占用2W 的频带宽度。如DSB-SC AM信号。为了节省频带, 就发明了Hibert变换, 它可以把信号的正频率频谱移相-90°, 把负频率频谱移相90°, 然后再将这个信号移相90°与原信号相加, 使两者的负频率成分互相抵消, 正频率成分加倍, 构成一个没有负频率频谱的复信号。