数字图像处理-频域滤波

频域滤波

频域滤波是在频率域对图像做处理的一种方法。步骤如下:

1.理想的高/低通滤波器

顾名思义,高通滤波器为:让高频信息通过,过滤低频信息;低通滤波相反。滤波器大小和频谱大小相同,

理想的低通滤波器模板为:

其中,D0表示通带半径,D(u,v)是到频谱中心的距离(欧式距离),计算公式如下:

M和N表示频谱图像的大小,(M/2,N/2)即为频谱中心

理想的高通滤波器与此相反,1减去低通滤波模板即可。

代码如下:(D0=20)

"""理想的高/低通滤波器"""
import numpy as np
import matplotlib.pyplot as plt
import cv2

# 定义函数,显示滤波器
def showTemplate(template):
    temp = template*255
    cv2.imshow(‘Template‘, temp)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    return

# 定义函数,显示滤波函数
def showFunction(template):
    m, n = template.shape
    m = np.uint16(m/2)
    n = np.uint16(n/2)
    y = template[m, n:]
    x = np.arange(len(y))
    plt.plot(x, y, ‘b-‘, linewidth=2)
    plt.axis([0, len(x), -0.2, 1.2])
    plt.show()

# 定义函数,完成高通低通滤波
def lowAndhigh_pass(src, filter_cdtion, filter_type):
    template = np.zeros(src.shape, dtype=np.float32)   # 构建滤波器
    m, n = src.shape
    for i in range(m):
        for j in range(n):
            distance = np.sqrt((i-m/2)**2+(j-n/2)**2)
            if distance < filter_cdtion:
                template[i, j] = 1
            else:
                template[i, j] = 0

    if filter_type == 1:
        template = 1 - template

    showFunction(template)
    showTemplate(template)

    img_dft = np.fft.fft2(src)   # 傅立叶变换,进行滤波
    img_fshift = np.fft.fftshift(img_dft)  # 中心化
    new_img = img_fshift*template   # 滤波
    img_ifshift = np.fft.ifftshift(new_img)  # 边缘化
    img = np.fft.ifft2(img_ifshift)  # 傅立叶逆变换
    img = np.abs(img)
    img = np.uint8(img + 0.5)
    return img

img_input = cv2.imread(r‘F:\program_study\Python\data\woman.tif‘, cv2.IMREAD_GRAYSCALE)
cv2.imshow(‘orig_img‘, img_input)
img_out = lowAndhigh_pass(img_input, 20, 0)  # 0代表低通
cv2.imshow(‘lowPass_img‘, img_out)
# img_out1 = lowAndhigh_pass(img_input, 20, 1)  # 1代表高通
# cv2.imshow(‘highPass_img‘, img_out1)
cv2.waitKey(0)
cv2.destroyAllWindows()

Low&Highpass

原文地址:https://www.cnblogs.com/laumians-notes/p/8592968.html

时间: 2024-10-09 05:02:40

数字图像处理-频域滤波的相关文章

[数字图像处理]图像复原--逆滤波

1.逆滤波的问题点 图像的老化,可以视为以下这样的一个过程.一个是退化函数的影响(致使图片模糊,褪色等),一个可加性噪声的影响. 用算式表示为 前几篇博文,主要是介绍可加性噪声的去除.本博文,主要介绍图像的逆滤波,即退化函数的去除.然而,逆滤波在空间域内的处理是很不方便的. 简单的来考虑,加法的逆运算是减法,乘法的逆运算的除法,微分的逆运算是积分(严密一点说是不定积分).那么就可以得到一个简单的结论了,要出去卷积的话,肯定需要用到卷积的逆运算.卷积的逆运算是---------反卷积,额,好像是一

Win8 Metro(C#)数字图像处理--2.51图像统计滤波算法

原文:Win8 Metro(C#)数字图像处理--2.51图像统计滤波算法 ?? [函数名称] ??图像统计滤波???WriteableBitmap?StatisticalFilter(WriteableBitmap?src,double?T) /// <summary> /// Statistical filtering process. /// </summary> /// <param name="src">The source image.&

数字图像处理 简单介绍

 数字图像处理发展概况 数字图像处理发展概况数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们開始利用计算机来处理图形和图像信息.数字图像处理作为一门学科大约形成于20世纪60年代初期.早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的.图像处理中,输入的是质量低的图像,输出的是改善质量后的图像

【数字图像处理之(三)】用图像增强谈灰度变换

前面已经说了,数字图像处理是指通过计算机对数字图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术. 其主要目的有三个方面: 提高图像的视感质量,如进行图像的亮度.彩色变换,增强.抑制某些成分,对图像进行几何变换等,以改善图像的质量. 图像数据的变换.编码和压缩,以便于图像的存储和传输. 提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利.提取特征或信息的过程是模式识别或计算机视觉的预处理.提取的特征可以包括很多方面,如频域特征.灰度或颜色特征.边

结合实例与代码谈数字图像处理都研究什么?

图像处理(以及机器视觉)在学校里是一个很大的研究方向,很多研究生.博士生都在导师的带领下从事着这方面的研究.另外,就工作而言,也确实有很多这方面的岗位和机会虚位以待.而且这种情势也越来越凸显.那么图像处理到底都研究哪些问题,今天我们就来谈一谈.图像处理的话题其实非常非常广,外延很深远,新的话题还在不断涌现.下面给出的12个大的方向,系我认为可以看成是基础性领域的部分,而且它们之间还互有交叉 1.图像的灰度调节 图像的灰度直方图.线性变换.非线性变换(包括对数变换.幂次变换.指数变换等).灰度拉伸

[数字图像处理]常见噪声的分类与Matlab实现

1.研究噪声特性的必要性 本文的内容主要介绍了常见噪声的分类与其特性.将噪声建模,然后用模型去实现各式各样的噪声. 实际生活中的各种照片的老化,都可以归结为以下老化模型. 这个模型很简单,也可以直接用以下公式来表达. 在频域内,用以下公式区表示. 根据以上式子,可以看出,老旧照片的复原,主要分为两个任务,一个是去噪:另一个是去卷积,或者称为逆滤波,也就是将老化滤波器做反处理. 本文首先由噪声类型与其建模.随后的博文,会介绍几种基础的去噪方法和基础的逆滤波方法. 2.噪声的实现 2.1    评价

数字图像处理的基本原理和常用方法

数字图像处理的基本原理和常用方法 数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.图像处理最早出现于 20 世纪 50 年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息.数字图像处理作为一门学科大约形成于 20 世纪 60 年代初期.早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的.图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强.复原.编码.压缩等. 数字图像处理常用方法

6本值得收藏的数字图像处理书籍!

在这个看脸的时代,颜值就是一切.怎样可以成为控制颜值的"黑魔法师"?相信,阅读以下这些经典的图像处理书籍能够助你一臂之力.赶紧紧随大圣众包威客平台的脚步吧! <数字图像处理基础> 随着台式计算机的处理能力日益增强,各种图像拍摄的设备(例如平板电脑.手机摄像头.数码相机.扫描仪等)的普及,以及互联网的加持,使得数字图像处理变得与文字处理一样普及.本书就数字图像处理的各个基本主题,先给出有关问题的数学公式,然后根据数学公式给出实现有关问题的伪代码,最后在Java语言及Image

灰度图像--频域滤波 概论

学习DIP第25天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意.有些网站转载了我的博文,很开心的是自己写的东西被更多人看到了,但不开心的是这段话被去掉了,也没标明转载来源,虽然这并没有版权保护,但感觉还是不太好,出于尊重文章作者的劳动,转载请标明出处!!!! 开篇废话 这两天写了一下频域滤波的代码,并且发现以前博客里代码的一个BUG,产生BUG的原因是一维