二、 采样、傅里叶变换与卷积
1.采样
对图像像素的选择或拒绝,一种空间操作。(上采样或下采样来增大或缩小图像)
1.1 上采样
方法:(1)聚合值:Image.NEAREST(最近邻导致图像质量差)
(2)双线性(Image.BILINEAR)或三次插值(Image.BICUBIC)的像素领域的内插值
1.2 下采样
方法:(1)以系统的方式从较大的图像中删除一些像素
(2)计算新的像素值并将其作为原始图像中相应多个像素的聚合值
抗混叠:Image.ANTIALIAS rescale()函数
1.3 PIL量化
信噪比:图像数组的均值除以图像数组的标注差。通过signaltonoise()函数获取
信噪比越高,图像质量越好
2.离散傅里叶变换
2.1 FFT的scipy.ffpack模块
fft2()/ifft2()函数计算DFT/IDFT
2.2 绘制频谱图
freq2=fp.ffshit(freq)
pylab.figure(figsize=(10,10),pylab,imshow((20*np.log10(0.1+freq2)).astype(int))
pylab.show()
2.3 FFT的numpy.fft模块
计算DFT的幅值和相位:将图像作为输入,利用fft2()得到傅里叶系数的实分量和虚分量;然后计算幅值、频谱和相位,最后利用ifft2()重建图像。
3.卷积
卷积是对两幅图像进行操作的运算:一幅是输入图像;另一幅图像是作为输入图像的滤波器而产生输出图像的掩膜
作用:在图像上使用合适的核实现各种效果,以及在边缘检测等操作中实现各种效果。
3.1使用Scipy信号模块的convolve2d函数进行卷积
(1)对灰度图像应用卷积:通过卷积拉普拉斯核检测灰度图像的边缘,然后用box核模糊图像。
(2)彩色图像的卷积:使用scipy.convolve2d()锐化彩色图像,使用emboss核和schar边缘检测复杂核对图像进行卷积。
3.2使用Scipy中的ndimage.convolve函数进行卷积
使用函数直接锐化RGB图像而不需要对每个图像通道分别进行卷积