空间频域信息实际上描述了灰度图像在X、Y长、宽两个方向上灰度级别的变化快慢。如:拉普拉西算子实际上就是一种线性高通低阻滤波器。通过FFT变化,去除图像对应的低频成分同样可以达到边缘轮廓提取的目的。
# Lapalace
img2gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
Laplace_Var = cv2.Laplacian(img2gray, cv2.CV_64F).var()
# FFT删除低频成分
size = 60
rs_img = cv2.resize(img, (400, 400))
(h, w,_) = rs_img.shape
(cX, cY) = (int(w / 2.0), int(h / 2.0))
fft = np.fft.fft2(rs_img)
fftShift = np.fft.fftshift(fft)
fftShift[cY - size:cY + size, cX - size:cX + size] = 0
fftShift = np.fft.ifftshift(fftShift)
recon = np.fft.ifft2(fftShift)
magnitude = 20 * np.log(np.abs(recon))
mean = np.mean(magnitude)
FFT_score = mean