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

带阻滤波器

作者头像
裴来凡
发布于 2022-05-29 01:34:53
发布于 2022-05-29 01:34:53
35700
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
带通滤波器
算法:带通滤波器是容许一定频率范围信号通过, 但减弱(或减少)频率低于下限截止频率和高于上限截止频率信号通过。
裴来凡
2022/05/29
2190
带通滤波器
低通滤波
算法:低通滤波将傅里叶变换结果图像中的高频分量值都替换为0,即屏蔽高频信号,只保留低频信号,实现低通滤波。低频信号对应图像内变化缓慢的灰度分量。低通滤波器使高频信号衰减而让低频信号通过,图像进行低通滤波后会变模糊。
裴来凡
2022/05/28
5140
低通滤波
【OpenCV】Chapter6.频率域图像滤波
OpenCV 中的cv.dft()函数也可以实现图像的傅里叶变换,cv.idft()函数实现图像傅里叶逆变换。
zstar
2022/09/26
1.6K0
【OpenCV】Chapter6.频率域图像滤波
频域变换
如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。 喜欢就点一点在看
跋扈洋
2021/02/02
3540
频域变换
无约束滤波器
算法:无约束滤波器是对退化的图像进行二位傅里叶变换;计算系统点扩散函数的二位傅里叶变换;引入 H(fx,fy)计算并且对结果进行逆傅里叶变换。
裴来凡
2022/05/29
1870
无约束滤波器
组合滤波器
算法:组合滤波器是先对图片添加椒盐噪声,先采用中值滤波器进行去噪处理,然后采用巴特沃斯低通滤波和同态滤波混合滤波器进行图像处理。
裴来凡
2022/05/29
4280
组合滤波器
Python气象数据处理与绘图:常见的10种图像滤波方法
1.中值滤波(medianBlur) 中值滤波是非线性的图像处理方法,在去噪的同时可以兼顾到边界信息的保留。选一个含有奇数点的窗口,将这个窗口在图像上扫描,把窗口中所含的像素点按灰度级的升或降序排列,取位于中间的灰度值来代替该点的灰度值。
郭好奇同学
2021/08/26
2.2K0
Python气象数据处理与绘图:常见的10种图像滤波方法
有约束滤波器
算法:有约束滤波器是在一定的约束条件下,其输出与一给定函数(通常称为期望输出)的差的平方达到最小,通过数学运算最终可变为一个托布利兹方程的求解问题。
裴来凡
2022/05/29
2820
有约束滤波器
高通滤波
算法:高通滤波将傅里叶变换结果图像中的低频分量值都替换为0,即屏蔽低频信号,只保留高频信号,实现高通滤波。高通滤波器使低频信号衰减而让高频信号通过,将增强图像中尖锐细节,但是会导致图像对比度降低。高频信号对应图像内变化越来越快的灰度分量,是由灰度尖锐过渡造成的。
裴来凡
2022/05/28
6690
高通滤波
使用傅里叶变换进行图像边缘检测
简单来说,傅里叶变换是将输入的信号分解成指定样式的构造块。例如,首先通过叠加具有不同频率的两个或更多个正弦函数而生成信号f(x),之后,仅查看f(x)的图像缺无法了解使用哪种或多少原始函数来生成f(x)。
小白学视觉
2020/04/15
1.7K0
特殊高通滤波器
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 Enhance_PassFilter(image,d,n,s1): f=np.fft.fft2(image) fshif
裴来凡
2022/05/29
2280
特殊高通滤波器
逆傅里叶变换
算法:图像经过傅里叶变换、逆傅里叶变换后,可以恢复到原始图像。逆傅里叶变换应用在图像复原、图像重构、图像水印等领域。
裴来凡
2022/05/28
4391
逆傅里叶变换
空域噪声滤波器
算法:空域噪声滤波器是在待处理的图像中逐点地移动模板,滤波器在该点的响应通过事先定义的滤波器系数与滤波模板扫过区域的相应像素值的关系来计算。
裴来凡
2022/05/29
3980
空域噪声滤波器
同态滤波器
算法:同态滤波器是一种在频域中同时能够压缩图像的亮度范围和增强图像对比度的方法,将像元灰度值看作是照度和反射率两个组份的产物。由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份。通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴影区细节特征的目的。
裴来凡
2022/05/29
3880
同态滤波器
万字长文告诉新手如何学习Python图像处理(上篇完结 四十四) | 「Python」有奖征文
期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~
全栈程序员站长
2022/11/04
2.1K0
万字长文告诉新手如何学习Python图像处理(上篇完结 四十四) | 「Python」有奖征文
OpenCV中图像频率域滤波
图像处理不仅可以在空间域进行还可以在频率域进行,把空间域的图像开窗卷积形式,变换得到频率域的矩阵点乘形式得到比较好的效果。转换到频率域最常见的是通过傅里叶变换得到图像的频率域表示,处理之后再反变换回去。支持各种卷积处理的效果,比如模糊,梯度提取等,OpenCV中支持傅里叶变换与逆变换的函数分别为
OpenCV学堂
2019/07/23
1.9K1
OpenCV中图像频率域滤波
余弦变换编码
算法:余弦变换编码是利用DCT压缩图像数据。在空间域上,图像内容千差万别;但在频率域上,经过对大量图像的统计分析发现,图像经过DCT变换后,其频率系数的主要成分集中于比较小的范围,且主要位于低频部分。通过利用DCT变换揭示出这种规律后,再采取一些措施把频谱中能量较小的部分舍弃,保留传输频谱中主频率分量达到图像数据压缩目的。
裴来凡
2022/05/29
5750
余弦变换编码
OpenCV系列之傅里叶变换 | 三十
傅立叶变换用于分析各种滤波器的频率特性。对于图像,使用2D离散傅里叶变换(DFT)查找频域。一种称为快速傅立叶变换(FFT)的快速算法用于DFT的计算。关于这些的详细信息可以在任何图像处理或信号处理教科书中找到。请参阅其他资源部分。
磐创AI
2019/12/23
1.5K0
OpenCV系列之傅里叶变换 | 三十
OpenCV 4基础篇| OpenCV图像的拼接
游戏开发小Y
2024/05/24
4980
OpenCV 4基础篇| OpenCV图像的拼接
OpenCV 图像频域操作
频域乘法表现在空域中等效于卷积计算,但是计算量会大大降低,本文记录 OpenCV 实现频域操作图像的相关内容。 概述 图像处理一般分为空间域处理和频率域处理,空间域处理是直接对图像内的像素进行处理。频率域处理是先将图像变换到频率域,然后在频率域对图像进行处理,最后通过反变换将图像变为空间域。傅里叶变换可以将图像变换为频率域, 傅立叶反变换再将频率域变换为空间域。 在频域里,对于一幅图像,高频部分代表了图像的、纹理信息;低频部分则代表了图像的轮廓信息。如果图像受到的噪声恰好在某个特定的频率范围内
为为为什么
2022/08/09
6270
OpenCV 图像频域操作
相关推荐
带通滤波器
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验