我必须从输入图像中过滤高频,我知道高斯滤波器在此任务中很好。首先,我转换我的形象:
import cv2
import numpy as np
from numpy.fft import fft2, ifft2, fftshift, ifftshift
...
image = fftshift(fft2(image))
image_real = image.real
image_imag = image.imag
获取图像的形状,模糊并组合
x, y = image.shape
image_real_filter = cv2.GaussianBlur(image_real, (x, y), 0)
image_imag_filter = cv2.GaussianBlur(image_imag, (x, y), 0)
image = image_real_filter + 1j * image_imag_filter
然后把它改回来。
image = ifft2(ifftshift(image))
它应该过滤高频,但我没有得到黑色图像。