前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >带阻滤波器

带阻滤波器

作者头像
裴来凡
发布2022-05-29 09:34:53
3260
发布2022-05-29 09:34:53
举报
文章被收录于专栏:图像处理与模式识别研究所
代码语言:javascript
复制
import math
import os
import numpy as np
import cv2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def bandstop_filter(image, radius, w, n=1):
    #对图像进行傅里叶变换(fft是一个三维数组,fft[:, :, 0]为实部,fft[:, :, 1]为虚部)
    fft=cv2.dft(np.float32(image),flags=cv2.DFT_COMPLEX_OUTPUT)
    #对fft进行中心化
    dshift=np.fft.fftshift(fft)
    #获到中心像素
    rows,cols=image.shape[:2]
    mid_row,mid_col=int(rows/2),int(cols/2)
    #构建掩模
    mask=np.zeros((rows,cols,2),np.float32)
    for i in range(0,rows):
        for j in range(0,cols):
            #计算(i,j)到中心点的距离
            d=math.sqrt(pow(i-mid_row,2)+pow(j-mid_col,2))
            if radius-w/2<d<radius+w/2:
                mask[i,j,0]=mask[i,j,1]=0
            else:
                mask[i,j,0]=mask[i,j,1]=1
    #傅里叶变换结果乘掩模
    fft_filtering=dshift*np.float32(mask)
    #傅里叶逆变换
    ishift=np.fft.ifftshift(fft_filtering)
    image_filtering=cv2.idft(ishift)
    image_filtering=cv2.magnitude(image_filtering[:,:,0],image_filtering[:,:,1])
    #对逆变换结果进行归一化
    cv2.normalize(image_filtering,image_filtering,0,1,cv2.NORM_MINMAX)
    return image_filtering
def put(path):
    image=cv2.imread(path,1)
    image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    image_bandstop_filtering5=bandstop_filter(image,30,35,1)
    plt.subplot(131)
    plt.axis('off')
    plt.title('原始图像')
    plt.imshow(image,cmap='gray')
    plt.subplot(132),
    plt.axis('off')
    plt.title('带阻图像')
    plt.imshow(image_bandstop_filtering5,'gray')
    plt.savefig('C:/Users/xpp/Desktop/result.png')
    plt.show()
put(r'C:/Users/xpp/Desktop/Lena.png')

算法:带阻滤波器是减弱(或减少)一定频率范围信号, 但容许频率低于下限截止频率和高于上限截止频率信号通过。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档