python-opencv对图像进行傅里叶变换,逆傅里叶变换,并展示图像

python-opencv对图像进行傅里叶变换,逆傅里叶变换,并展示图像

import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
def read_img(img_7_path):
    img=cv2.imread(img_7_path,0)
    dft=cv2.dft(np.float32(img),flags=cv2.DFT_COMPLEX_OUTPUT)
    dftshift=np.fft.fftshift(dft)
    ishift=np.fft.ifftshift(dftshift)
    iImg=cv2.idft(ishift)
    iImg=cv2.magnitude(iImg[:,:,0],iImg[:,:,1])
    plt.subplot(121),plt.imshow(img,cmap='gray')
    plt.title('orignal'),plt.axis('off')
    plt.subplot(122),plt.imshow(iImg,cmap='gray')
    plt.title('inverse'),plt.axis('off')
    plt.show()
if __name__ == '__main__':
    work_path = os.getcwd()
    data_path = os.path.join(work_path, 'data')
    img_7_path = os.path.join(data_path, '7.jpg')
    read_img(img_7_path)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qestion_yz_10086/article/details/107904453