https://www.cnblogs.com/wmr95/articles/9981605.html 引用博文
Code:
import torch
import cv2
import numpy as np
import torchvision
import torchvision.transforms as transforms
from PIL import Image
import torch.nn as nn
import matplotlib.pyplot as plt
import numpy as np
import kornia
def showTorchImage(image, simage):
mode = transforms.ToPILImage()(image).save(simage)
def readImage(path='13_4.jpg'):#这里可以替换成自己的图片
mode = Image.open(path)
transform1 = transforms.Compose([
transforms.Resize((64, 64)),
transforms.ToTensor()
])
mode = transform1(mode)
return mode
img2 = readImage('g/2.jpg').unsqueeze(0)
kernel = torch.ones(1, 3, 3)
img2 = kornia.filter2D(img2, kernel).squeeze(0).view(64, 64, 3)
print(img2.shape)
img = readImage('g/2.jpg').view(64, 64, 3)
#img = 0.2126 * img[0,:,:] + 0.7152 * img[1,:,:] + 0.0722 * img[2,:,:]
img = img2 - img
fft2 = np.fft.fft2(img.numpy())
fshift = np.fft.fftshift(fft2) #傅里叶变换
ishift = np.fft.ifftshift(fshift)
io = np.fft.ifft2(ishift)
io = np.abs(io)
plt.subplot(233)
plt.imshow(io,'gray')
plt.title('fft2')
plt.show()