频域变换实现图像上采样(upsampling)
最近看了一篇文章,发现了这个有意思的玩意,写下自己的理解,供参考,如有错误的地方还请指正。
图像上采样
通常对图像进行上采样(放大),是直接对图像进行插值处理,如最近邻插值,双线性插值,均值插值,中值插值等方法。
链接: link.
频域操作
在matlab中以图像两倍上采样为例:
1)首先对图像(m X n)进行二维FFT变换;
2)对频谱图进行频移(fftshift);
3)对频移后的频谱图进行边缘补零填充中(2M x 2n);
4)对填充后频谱图逆频移;
5)对最终的频谱图进行二维FFT逆变换。
原始图像(512 x 512):
通过频谱操作进行上采样后(1024 x 1024):
可以观察到图像在处理之后亮度变暗了,对比前后数据发现:同一区域内单点像素值在处理后约为处理前的1/4。于是将整幅图像像素值放大4倍,效果如下:
从数据我无法获知插值的类型;
现以一维信号进行上述操作:
原始信号:
1)fft
2)fftshift
3)零填充
4)ifftshift
5)ifft
个人猜想,不正确的地方望指出:
零填充的高频分量,但最高频率是不变的,从而导致有效信号频率降低(降低至一半),在进行逆变换时,信号序列长度增加,总量不变,因而导致整体幅值减半。