理想高通滤波实现 python opencv
import numpy as np
import cv2
from matplotlib import pyplot as plt
plt.rcparams[‘font.sans-serif']=[‘simhei']
plt.rcparams[‘axes.unicode_minus'] = false
i = cv2.imread(‘capture3.png')
cv2.imshow(‘original',i)
(r,g,b) = cv2.split(i)
i = cv2.merge([b,g,r])
j = np.double(cv2.cvtcolor(i,cv2.color_rgb2gray))
d1 = 30
d2 = 60
d3 = 160
fuv = np.fft.fftshift(np.fft.fft2(j))
print(‘fuv',fuv)
print(i.shape)
m,n = i.shape[0],i.shape[1]
xo = np.floor(m/2)
yo = np.floor(n/2)
h1 = np.zeros((m,n))
h2 = np.zeros((m,n))
h3 = np.zeros((m,n))
for i in range(m):
for j in range(n):
d = np.sqrt((i-xo)**2+(j-yo)**2)
if d>=