濾波器_理想高通濾波器python案例
阿新 • • 發佈:2018-12-21
一:高通濾波
簡單粗暴理解為將影象中心化後移除中間部分低頻資訊
new_img=cv2.imread('person.jpg',0) rows,cols=new_img.shape crow,ccol=int(rows/2),int(cols/2) mask1=np.ones((rows,cols),np.uint8) mask2=np.ones((rows,cols),np.uint8) mask1[crow-30:crow+30,ccol-30:ccol+30]=0 mask2[crow-10:crow+10,ccol-10:ccol+10]=0 f1=np.fft.fft2(new_img) f1shift=np.fft.fftshift(f1) f1shift_1=f1shift*mask1 f1shift_2=f1shift*mask2 f_ishift_1=np.fft.ifftshift(f1shift_1) f_ishift_2=np.fft.ifftshift(f1shift_2) img_back_1=np.fft.ifft2(f_ishift_1) img_back_2=np.fft.ifft2(f_ishift_2) img_back_1=np.abs(img_back_1) img_back_2=np.abs(img_back_2) plt.figure(figsize=(14,14)) plt.subplot(221),plt.imshow(new_img,cmap='gray'),plt.title('input image') plt.subplot(222),plt.imshow(img_back_1,cmap='gray'),plt.title('output image r=30') plt.subplot(223),plt.imshow(img_back_2,cmap='gray'),plt.title('output image r=10')
輸出結果為: