首页 > 代码库 > [DIP] 数字图像处理 CH04
[DIP] 数字图像处理 CH04
---慢慢地go through冈萨雷斯的DIP和配套的matlab,记下一些零碎的知识点给自己以后复习。
DIP CH04 频率域滤波
x = nextpow2(a)可以找到最小整数x,使得2的x次幂比a大;
傅里叶频谱
F = fft2(f) --- 傅里叶变换,f为图像,空间域,F为傅里叶频域,直流分量在左上角,(1,1);
Fc = fftshift(F) --- 居中操作,将F的直流分量从左上角移动到频率矩形的中心;
S = abs(Fc) --- 傅里叶频谱幅值;
S2 = log(1+S) --- 调整动态范围;
imshow(S2,[]) --- 显示;
Fi = ifftshift(Fc) --- 逆居中操作;
fi = ifft2(Fi) --- 逆傅里叶变换;
书中paddedsize是寻找合适的图像函数和滤波函数尺寸,然后以0填充,可以选择合适的最小偶数,也可以选择合适的最小的2的整数次幂为尺寸,用以加快傅里叶变换的计算。
通过空间滤波器构造频域滤波器
H = freqz2(h,R,C) --- h为空间滤波器,R,C是生成的频域滤波器的尺寸,注意,H的直流分量在频率矩形的中心位置;
--- 因此与图像f的傅里叶变换 fft2(f,R,C) 得到的 F 不能直接相乘,F的直流分量在左上角,先将H通过 ifftshift(H) 逆居中操作;
--- 可视化的时候居中的频谱更合适,平时运算用没有居中的频谱(即直流分量左上角,或者说在四个角落上,这是离散傅里叶变换的周期性);
gscale --- 类似于 imshow(f,[]),对图像作 min -> 0,max -> 255 的映射;
[DIP] 数字图像处理 CH04