2D DFT变换在数字图像处理中有着重要应用,本文记录相关概念和简单应用。
1D 傅里叶变换是将时域信号用频域空间的基——不同频率的正弦、余弦波表示后的结果,那么 2D 傅里叶变换本质是什么呢
一维信号是一个序列,傅里叶变换将其分解成若干个一维的简单函数之和。 二维的信号可以说是一个图像,类比一维,那二维傅里叶变换是不是将一个图像分解成若干个简单的图像呢?
123456789101112131415161718192021222324252627282930 | import numpy as npimport mtutils as mtif __name__ == '__main__': golden_img = np.zeros(600, 600) golden_img250:350, 250:350 = 255 H, W = golden_img.shape:2 gloden_fft = np.fft.fft2(golden_img) ori_fft_res = np.abs(np.fft.fftshift(gloden_fft)) rotate_img = mt.img_rotate(golden_img, 30) rotate_fft = np.fft.fft2(rotate_img) rotate_fft_res = np.abs(np.fft.fftshift(rotate_fft)) roi = 100, 100, W+100, H+100 moved_img = mt.crop_data_around_boxes(golden_img, roi) moved_fft = np.fft.fft2(moved_img) moved_fft_res = np.abs(np.fft.fftshift(moved_fft)) roi = 100, 100, W+100, H+100 moved_rotated_img = mt.crop_data_around_boxes(rotate_img, roi) moved_rotated_fft = np.fft.fft2(moved_rotated_img) moved_rotated_fft_res = np.abs(np.fft.fftshift(moved_rotated_fft)) mt.PIS(golden_img, rotate_img, moved_img, moved_rotated_img, ori_fft_res, rotate_fft_res, moved_fft_res, moved_rotated_fft_res, row_num=2) |
---|
一个大佬的PPT中提到了一个指纹去噪的傅里叶变换应用,很有意思