High-pass filtering OpenCV

High-pass filtering

Low frequency, high frequency

Here Insert Picture Description

Filtering

Here Insert Picture Description

Frequency domain filtering

Here Insert Picture Description

The sample code

import cv2
import numpy as np
import matplotlib.pyplot as plt
	#1.导入图片并进行傅里叶变换
img = cv2.imread('./hanser.jpg',0)
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
	#2.剔除低频,通高频
rows,cols = img.shape
crow,ccol = int(rows/2),int(cols/2)
fshift[crow-30:crow+30,ccol-30:ccol+30] = 0
	#3.反傅里叶变换
ishift = np.fft.ifftshift(fshift)
iimg = np.abs(np.fft.ifft2(ishift))
	#4.图片展示
plt.subplot(121),plt.imshow(img,cmap='gray')
plt.title('original'),plt.axis('off')
plt.subplot(122),plt.imshow(iimg,cmap='gray')
plt.title('iimg'),plt.axis('off')
plt.show()

Here Insert Picture Description

Published 56 original articles · won praise 6 · views 1704

Guess you like

Origin blog.csdn.net/qq_43161186/article/details/104599502