滤波器_理想高通滤波器python案例

一:高通滤波

简单粗暴理解为将图像中心化后移除中间部分低频信息
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')

输出结果为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值