6.1 频率域滤波之低通滤波

数字图像处理学习笔记5:频率域滤波1(傅里叶频谱图,低通滤波-平滑,高通滤波-锐化) 文章目录前言一、傅里叶变换:傅里叶频谱图二、使用步骤1.引入库2.读入数据总结 前言 频率域滤波步骤: 一、傅里叶变换:傅里叶频谱图 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._c. 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


1. 频率域增强的一般过程

频域率增强的一般过程如下:
f ( x , y ) → 傅里叶变换 D F T F ( u , v ) → 滤波 H ( u , v ) F ( u , v ) H ( u , v ) → 傅里叶逆变换 I D F T g ( x , y ) f(x,y)\xrightarrow[傅里叶变换]{DFT} F(u,v)\xrightarrow[滤波]{H(u,v)}F(u,v)H(u,v)\xrightarrow[傅里叶逆变换]{IDFT}g(x,y) f(x,y)DFT 傅里叶变换​F(u,v)H(u,v) 滤波​F(u,v)H(u,v)IDFT 傅里叶逆变换​g(x,y)
我用大白话解释就是:先用傅里叶变换将图像变换到频率域(也就是频谱图),然后针对频谱图做图像变换(使用滤波器),使用滤波器进行图像变换后通过傅里叶逆变换将图像变换回空域图(也就是目标图像)。

频域特征与空域特征的对应关系:

  • 频普中的低频分量对应了图像中的平滑区域。
  • 频谱中的高频分量对应了图像中的边缘和变化剧烈区域。

实在抱歉,由于本人学艺不精,此处就不对傅里叶变换进行讲解,各位观众可以查看其它资料

频谱图的绘制代码和效果如下所示:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


def drawCircleOnImage(image, radiusLst):
    """
    Draw multiple concentric circles on an image
    :param image: raw image
    :param radiusLst: Radii of concentric circles (Here is a list with multiple radii).
    :return: Returns an image drawn on concentric circles.
    """

    center = (image.shape[0] // 2, image.shape[1] // 2)
    color = (0, 0, 0)
    thickness = 1

    for radius in radiusLst:
        cv.circle(image, center, radius, color, thickness)


def generateSpectrumImage(image):
    # 对原图像进行傅里叶变换,生成频谱图
    dft = cv.dft(np.float32(image), flags=cv.DFT_COMPLEX_OUTPUT)

    # 将频谱图上的低频移至中心
    f_shift = np.fft.fftshift(dft)

    # 生成可以显示的频谱图
    f_img = 20 * np.log(cv.magnitude(f_shift[:, :, 0], f_shift[:, :, 1]) + 1)
    drawCircleOnImage(f_img, [10, 20, 40, 80, 160, 460])

    # 将低频从中心移回原处
    i_shift = np.fft.ifftshift(f_shift)

    # 进行计算傅里叶逆变换,将频谱图还原回空间域图像
    dst = cv.idft(i_shift)

    # 计算还原图像的幅度,并进行归一化处理
    dst = cv.magnitude(dst[:, :, 0], dst[:, :, 1])

    return f_img, dst


if __name__ == '__main__':
    img = cv.imread('Image/Fig0601.tif', 0)
    img1, img2 = generateSpectrumImage(img)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(20, 10))
    imagesLst = [img, img1, img2]
    labelLst = ["Original Image", "Radius=10", "Radius=20"]

    for i in range(3):
        plt.subplot(1, 3, i + 1), plt.title(labelLst[i]), plt.axis('off')
        plt.imshow(imagesLst[i], cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

在这里插入图片描述
如上图所示:我们先将空域图(原始图像)转到频域图,然后将频域图有转为空域图,在经过一次变换后,图像几乎没有发生变化。

2. 低频滤波示例分析

2.1 理想低通滤波

在以原点为中心的一个园内无衰减的通过所有频率,而在这个圆外 “截止” 所有频率的二维低通滤波器,称为 理想低通滤波器(ILPF)。

2.1.1 原理说明

**理想低通滤波器(ILPF)**的传递函数规定如下: H ( u , v ) = { 1 , D ( u , v ) ≤ D 0 0 , D ( u , v ) > D 0 H(u,v)= \left\{ \begin{aligned} 1, &\quad D(u,v) \leq D_0 \\ 0, &\quad D(u,v) > D_0\\ \end{aligned} \right. H(u,v)={1,0,​D(u,v)≤D0​D(u,v)>D0​​ 式中, D 0 是一个正常数, D ( u , v ) 是频率域中的点 ( u , v ) 到 P × Q 频率矩形中心的距离,即: 式中,D_0是一个正常数,D(u,v)是频率域中的点(u,v)到P \times Q频率矩形中心的距离,即: 式中,D0​是一个正常数,D(u,v)是频率域中的点(u,v)到P×Q频率矩形中心的距离,即: D ( u , v ) = [ ( u − P 2 ) 2 + ( v − Q 2 ) 2 ] 1 2 D(u,v) = \left[ \left(u-\frac{P}{2}\right)^2 + \left(v-\frac{Q}{2}\right)^2 \right]^\frac{1}{2} D(u,v)=[(u−2P​)2+(v−2Q​)2]21​ 式中 P , Q 可以理解成滤波器的大小 式中\quad P,Q \quad可以理解成滤波器的大小 式中P,Q可以理解成滤波器的大小
在这里插入图片描述
如上图所示:理想一词表示在半径为 D 0 D_0 D0​ 的圆内,所有频率都会无衰减地通过,而在该圆之外的所有频率则完全被衰减(滤除)。

2.1.2 示例代码

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


def genIdealLowpassFilters(radius, shape):
    """
    Generate an ideal low pass filter
    Those inside the circle are marked 1 and those outside are marker 0.
    :param radius: The radius of the circle.
    :param shape: The shape of the mask (the mask is also an image)
    :return:
    """
    mask = np.zeros(shape, np.uint8)

    center = np.array([shape[0] // 2, shape[1] // 2])
    for i in range(shape[0]):
        for j in range(shape[1]):
            point = np.array([i, j])
            distance = np.linalg.norm(point - center)
            if distance <= radius:
                # print(distance, radius)
                mask[i][j] = 1

    return mask


def imageSmoothing(image, radius):
    """
     Image smoothing in the frequency domain using low pass filters.
    :param image: raw image
    :param radius: A parameter used to generate the low pass filters.
    :return: smoothed image
    """

    # 对原图像进行傅里叶变换,生成频谱图
    dft = cv.dft(np.float32(image), flags=cv.DFT_COMPLEX_OUTPUT)

    # 将频谱图上的低频移至中心
    f_shift = np.fft.fftshift(dft)

    # 生成低频滤波器
    mask = genIdealLowpassFilters(radius, (image.shape[0], image.shape[1], 2))
    f = f_shift * mask  # 将掩模与傅里叶变化后的图像相乘,保留四周部分,即保留低频部分

    # 将低频从中心移回原处
    i_shift = np.fft.ifftshift(f)

    # 进行计算傅里叶逆变换,将频谱图还原回空间域图像
    dst = cv.idft(i_shift)

    # 计算还原图像的幅度,并进行归一化处理
    dst = cv.magnitude(dst[:, :, 0], dst[:, :, 1])

    return dst


if __name__ == '__main__':
    img = cv.imread('Image/Fig0601.tif', 0)

    img1 = imageSmoothing(img, 10)
    img2 = imageSmoothing(img, 20)
    img3 = imageSmoothing(img, 40)
    img4 = imageSmoothing(img, 80)
    img5 = imageSmoothing(img, 160)
    img6 = imageSmoothing(img, 360)
    img7 = imageSmoothing(img, 460)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(20, 10))
    imagesLst = [img, img1, img2, img3, img4, img5, img6, img7]
    labelLst = ["Original Image", "Radius=10", "Radius=20", "Radius=40", "Radius=80",
                "Radius=160", "Radius=320", "Radius=460"]

    for i in range(8):
        plt.subplot(2, 4, i + 1), plt.title(labelLst[i]), plt.axis('off')
        plt.imshow(imagesLst[i], cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

2.1.3 示例效果

在这里插入图片描述

如上图所示:

  • 当半径 Radius=10 的时候,图像的大部分高频部分(即图像的细节)包含在被滤波器去除的那部分中,因此导致图像的模糊非常严重
  • 随着半径增大,也就是可以通过的频率越来越多,图像的模糊也越来越弱
  • 当 Radius=20 和 Radius=40 的时候可以看出图像有很明显的振铃现象,但是随着被滤除的高频内容越来越少,振铃效应也变得越来越弱,当 Radius = 460 时,振铃效应几乎无法觉察

2.2 高斯低通滤波

在以原点为中心的一个圆内以衰减的方式通过所有频率,并且衰减的方式符合高斯分布,而在这个圆外 “截止” 所有频率的二维低通滤波器,称为 高斯低通滤波器。

2.2.1 理论基础

**高斯低通滤波器(GLPF)**低通滤波器的传递函数有如下形式: H ( u , v ) = e − D 2 ( u , v ) 2 σ 2 令 σ = D 0 可得: H(u,v)=e^{\frac{-D^2(u,v)}{2\sigma^2}} \quad 令\quad\sigma=D_0\quad可得: H(u,v)=e2σ2−D2(u,v)​令σ=D0​可得: H ( u , v ) = e − D 2 ( u , v ) 2 D 0 2 H(u,v)=e^{\frac{-D^2(u,v)}{2D_0^2}} H(u,v)=e2D02​−D2(u,v)​
我们先分析下图:
在这里插入图片描述
从上图以及推导公式中可以看出,当 D ( u , v ) = 0 D(u,v)=0 D(u,v)=0 时, H ( u , v ) = 1 H(u,v)=1 H(u,v)=1 此时原点处的频率全通过(无需衰减),而随着 D ( u , v ) D(u,v) D(u,v) 不断增大, H ( u , v ) H(u,v) H(u,v) 开始减少,但 0 < H ( u , v ) < 1 0 < H(u,v) < 1 0<H(u,v)<1,此时的频率以衰减的方式通过,如上图中的 b b b 图。

2.2.2 示例代码

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

def genGaussianLowpassFilters(sigma, shape):
    """
    Generate a gaussian low pass filter
    :param sigma: The standard deviation of the gaussian filter.
    :param shape: The shape of the mask (the mask is also an image)
    :return: Returns a gaussian low pass filter.
    """

    mask = np.zeros(shape, np.float32)
    rows, cols = shape[0], shape[1]
    center_x, center_y = rows // 2, cols // 2
    for i in range(rows):
        for j in range(cols):
            distance = (i - center_x) ** 2 + (j - center_y) ** 2
            mask[i][j] = np.exp(-distance / (2 * sigma ** 2))
    return mask

def imageSmoothing(image, sigma):
    """
     Image smoothing in the frequency domain using the gaussian low pass filters.
    :param image: raw image
    :param sigma: The standard deviation of the gaussian filter.
    :return: smoothed image
    """

    # 对原图像进行傅里叶变换,生成频谱图
    dft = cv.dft(np.float32(image), flags=cv.DFT_COMPLEX_OUTPUT)

    # 将频谱图上的低频移至中心
    f_shift = np.fft.fftshift(dft)

    # 生成低频滤波器
    mask = genGaussianLowpassFilters(sigma, (image.shape[0], image.shape[1], 2))
    f = f_shift * mask  # 将掩模与傅里叶变化后的图像相乘,保留四周部分,即保留低频部分

    # 将低频从中心移回原处
    i_shift = np.fft.ifftshift(f)

    # 进行计算傅里叶逆变换,将频谱图还原回空间域图像
    dst = cv.idft(i_shift)

    # 计算还原图像的幅度,并进行归一化处理
    dst = cv.magnitude(dst[:, :, 0], dst[:, :, 1])

    return dst


if __name__ == '__main__':
    img = cv.imread('Image/Fig0603.tif', 0)

    img1 = imageSmoothing(img, 10)
    img2 = imageSmoothing(img, 20)
    img3 = imageSmoothing(img, 40)
    img4 = imageSmoothing(img, 80)
    img5 = imageSmoothing(img, 160)
    img6 = imageSmoothing(img, 320)
    img7 = imageSmoothing(img, 460)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(20, 10))
    imagesLst = [img, img1, img2, img3, img4, img5, img6, img7]
    labelLst = ["Original Image", "Sigma=10", "Sigma=20", "Sigma=40", "Sigma=80",
                "Sigma=160", "Sigma=320", "Sigma=460"]

    for i in range(8):
        plt.subplot(2, 4, i + 1), plt.title(labelLst[i]), plt.axis('off')
        plt.imshow(imagesLst[i], cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

2.2.3 示例效果

在这里插入图片描述
与ILPF相比,GLPF实现的平滑要稍微少一些,但是GLPF不会出现振铃效应。

2.3 巴特沃斯低通滤波

在以原点为中心的一个圆内以衰减的方式通过所有频率,并且衰减的方式符合一定条件的(下面会讲述)分布,而在这个圆外 “截止” 所有频率的二维低通滤波器,称为 巴特沃斯低通滤波器。

2.3.1 理论基础

巴特沃斯低通滤波器的传递函数定义为: H ( u , v ) = 1 1 + [ D ( u , v ) D 0 ] 2 n H(u,v)=\frac{1}{1+\left[\frac{D(u,v)}{D_0}\right]^{2n}} H(u,v)=1+[D0​D(u,v)​]2n1​我们先分析下图:
在这里插入图片描述
从上图可以看出:

  • 当我们使用较高的 n n n 时, B L P F BLPF BLPF 可以逼近 I L P F ILPF ILPF的特性
  • 当我们使用较低的 n n n 时, B L P F BLPF BLPF 可以逼近 G L P F GLPF GLPF的特性

2.3.2 示例代码

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

def genButterworthLowpassFilters(n, D0, shape):
    """
    Generate a butterworth low pass filter
    :param n: The param of the transfer function
    :param D0: The cut-off frequency of the low pass filter
    :param shape: image shape
    :return: A butterworth low pass filter
    """
    mask = np.zeros(shape, np.float32)
    rows, cols = shape[0], shape[1]
    center_x, center_y = rows // 2, cols // 2
    for i in range(rows):
        for j in range(cols):
            distance = np.sqrt((i - center_x) ** 2 + (j - center_y) ** 2)
            mask[i, j] = 1 / (1 + (distance / D0) ** (2 * n))
    return mask


def imageSmoothing(image, n, D0):
    """
     Image smoothing in the frequency domain using the butterworth low pass filters.
    :param image: raw image
    :param n: The param of the transfer function
    :param D0: The cut-off frequency of the low pass filter
    :return: smoothed image
    """

    # 对原图像进行傅里叶变换,生成频谱图
    dft = cv.dft(np.float32(image), flags=cv.DFT_COMPLEX_OUTPUT)

    # 将频谱图上的低频移至中心
    f_shift = np.fft.fftshift(dft)

    # 生成低频滤波器
    mask = genButterworthLowpassFilters(n, D0, (image.shape[0], image.shape[1], 2))
    f = f_shift * mask  # 将掩模与傅里叶变化后的图像相乘,保留四周部分,即保留低频部分

    # 将低频从中心移回原处
    i_shift = np.fft.ifftshift(f)

    # 进行计算傅里叶逆变换,将频谱图还原回空间域图像
    dst = cv.idft(i_shift)

    # 计算还原图像的幅度,并进行归一化处理
    dst = cv.magnitude(dst[:, :, 0], dst[:, :, 1])

    return dst


if __name__ == '__main__':
    img = cv.imread('Image/Fig0603.tif', 0)

    img1 = imageSmoothing(img, 1,10)
    img2 = imageSmoothing(img, 1,20)
    img3 = imageSmoothing(img, 1,40)
    img4 = imageSmoothing(img, 1,80)
    img5 = imageSmoothing(img, 1,160)
    img6 = imageSmoothing(img, 1,320)
    img7 = imageSmoothing(img, 1,460)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 20
    plt.figure(figsize=(20, 10))
    imagesLst = [img, img1, img2, img3, img4, img5, img6, img7]
    labelLst = ["Original Image", "n=1 D0=10", "n=1 D0=20", "n=1 D0=40", "n=1 D0=80",
                "n=1 D0=160", "n=1 D0=320", "n=1 D0=460"]

    for i in range(8):
        plt.subplot(2, 4, i + 1), plt.title(labelLst[i]), plt.axis('off')
        plt.imshow(imagesLst[i], cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

2.3.3 示例效果

在这里插入图片描述
通过与上面两种低频滤波器对比分析可得:

  • 从模糊效果上看, B L P F BLPF BLPF 介于 I L P F ILPF ILPF 和 G L P F GLPF GLPF 之间,小于 I L P F ILPF ILPF ,但大于 G L P F GLPF GLPF
  • 从振铃效应上看,当 n = 1 n=1 n=1 时,没有振铃,此时 B L P F BLPF BLPF 逼近 G L P F GLPF GLPF,当 n n n 逐渐增大时,振铃效应也随之强烈,此时 B L P F BLPF BLPF 逼近 I L P F ILPF ILPF

3. 三种低频滤波器的比较分析

在这里插入图片描述

滤波类型振铃效应图像模糊噪声
ILPF严重严重比较好
BLPF低阶无较轻一般
GLPF无较轻一般
数字图像处理第四章频率域滤波(低通滤波器、高通滤波器、拉普拉斯滤波、同态滤波器) 本章节的主要内容具体包括:傅里叶变换的概念及处理的相关知识、频率域卷积概念、三种低通滤波器的原理及代码实现、三种高通滤波器的原理及代码实现、频率域拉普拉斯算法原理及实现、同态滤波器原理及代码实现。 4.1傅里叶变换原理 1、傅里叶变换 概念: 法国数学家傅里叶指出:任何周期函数都可以表示为不同频率的正弦和或余弦和的形式,每个正弦和或者余弦和乘以不同的系数(这个正弦和或余弦和就是傅里叶级数)。 非周期函数也可以用正弦或者余弦乘以加权函数的积分来表示。这种情况下就是傅里叶变换。。DFT指的是单变量的离散傅里叶变 阅读详情

相关推荐

数字图像处理-频率域滤波原理

频率域滤波,傅立叶变换

forrest02的博客 1万+

数字图像频率域低通滤波器Matlab实现

数字图像频率域低通滤波器Matlab实现

m6886258的博客 1487

【数字图像处理2.1 】频率域中的 高通滤波 和 低通滤波 Python+Opencv+Numpy

前言 1、图像的高频信息往往是细节+噪声 2、中频信息一般是图像的框架信息 3、低频信息数量最多,是图形的主体 所以,高通滤波器,只通过高频信息,所以留下来的图像只有边缘等细节信息,看起来像简笔画。 低通滤波器同理。 效果图 代码 import numpy as np import matplotlib.pyplot as plt import cv2 ################################################################### #########

火火的博客 4600

频率域图像增强之理想低通滤波器的python实现——数字图像处理

做法流程:首先对图像做傅里叶变换并中心化其频谱。接着生成不同截止频率的理想低通滤波器,在计算D(u,v)时,不能直接用书上的公式计算(u,v)和原点(0,0)的距离,由于频谱经过了中心化,频率中心已经平移到了(M/2,N/2),所以要计算(u,v)到(M/2,N/2)的距离。最后,,将图像频谱与生成的理想低通滤波器传递函数H(u,v)相乘,再做去中心化和傅里叶反变换,便可以得到滤波后的图像。可以看到,半径越小,图片越模糊。低通滤波器容许低频信号通过, 但减弱(或减少)频率高于截止频率的信号的通过。

qq_49370210的博客 2869

频率域滤波

之前介绍了关于空间域滤波的一些操作,主要目的是减少噪声和平滑图像,空间域的处理方法都是在已知噪声数据类型基础上进行噪声过滤的,而在某些噪声图像类别上上述方法就显得十分渺小了,频率域的引入就是来寻找噪声的类型,并进行空间过滤的。其中频率是单位时间变化期间,一个周期函数重复相同值序列的次数。频率域滤波(即波数)为图像像元的灰度值随着位置变化的空间频率,以频谱表示信息分布特征,可以将一幅图像像元值在空间...

shushi6969的博客 6711

OpenCV C++频率域滤波 高斯低通

l 频率域滤波的基本步骤 思想:通过滤波器函数以某种方式来修改图像 变换,然后通过取结果的反变换来获得处理后 的输出图像 低通滤波器: 使低频通过而使高频衰减的滤波 器 被低通滤波的图像比原始图像少尖锐的细节部分而 突出平滑过渡部分 对比空间域滤波的平滑处理,如均值滤波器 高通滤波器: ...

cyf15238622067的博客 4659

图像处理(13)–频率域滤波

文章结构1. 频率域的滤波器1.1 频率域滤波公式1.2 滤波步骤1.3 低通滤波器与高通滤波器2. 低通滤波器2.1 理想低通滤波器 图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809 【前言】 为了消除图像噪声,可以使用在空间域的滤波的方法,还可以使用在频率域的滤波器。本文将介绍在频率域的滤波方法。 频率域...

ShaneHolmes 1万+

OpenCV C++实现频域理想低通滤波器

频率域平滑滤波器有 1、理想低通滤波器 2、巴特沃思低通滤波器 3、高斯低通滤波器 √ 边缘和噪声等尖锐变化处于傅里叶变换的高 频部分 √ 平滑可以通过衰减高频成分的范围来实现 √ 理想低通滤波器:尖锐 √ 巴特沃思低通滤波器:处于理想和高斯滤波 器之间 √ 高斯低通滤波器:平滑 l 理想低通滤波器 ...

cyf15238622067的博客 8618

低通滤波器的探究

在电机控制过程中,低通滤波器是一个经常被使用的模块。电流采样的滤波,高频注入中的信号提取,因此有必要对低通滤波器的工作原理和实现方法进行深入的探究。文章按照1、低通滤波器是什么?2、低通滤波器数学表达及幅频特性?3、仿真效果验证 三步的思路进行阐述。 1、低通滤波器是什么? 顾名思义,低通滤波器具备通低频阻高频的功能,并且低通滤波器的特性使得低于设定临界值频率的信号能正常通过,而高于设定临界值频率(fc)的信号则被阻隔和衰减。低通滤波可以简单的认为:设定一个频率点,当信号频率高于这个频率时不能通过。

sy243772901的博客 4万+

理想低通滤波器(频率域滤波)

%频率域滤波 clc; close all; img=imread(‘Fig3.10(b).jpg’); img=im2double(img); Fimg=fft2(double(img));%傅里叶变换 Fimg=fftshift(Fimg);%将变换的原点移到频率矩形的中心 [M,N]=size(img); %半径为5的理想低通滤波处理 dist1=5; z1=zeros(M,N); for i=1:M for j=i:N if(sqrt(((i-M/2)2+(j-N/2)2))<dist1) z

qq_48173199的博客 5520

Python3+OpenCV(八):频率域滤波增强

1、频率域平滑滤波器(1) 理想低通滤波器(ILPF)(2) Butterworth低通滤波器(BLPF)(3) 高斯低通滤波器(GLPF)(常用)2、频率域锐化滤波器(1) 理想高通滤波器(IHPF)(2) Butterworth高通滤波器(BHPF)(3) 高斯高通滤波器(GHPF)3、Python实现 频域滤波增强的一般方法 1.对原始原图像f(x,y)进行傅里叶变换得到F(u,v) 2.将F(u,v)与滤波函数H(u,v)进行卷积运算得到G(u,v) 3.将G(u,v)进行傅里叶逆变换得到增强..

Seven_WWW的博客 4708

第四章:频率域滤波

任何周期函数都可以表示为不同频率的正弦和或余弦和的形式,每个正弦和/或余弦和乘以不同的系数(现在称这个和为傅里叶级数)。非周期的函数(曲线是有限的情况)也可以用正弦/或余弦乘以加权函数的积分来表示。在这种情况下的公式就是傅里叶变换。单变量连续函数fx)的傅里叶变换F(u)定义为等式:反变换定义为单变量离散函数f(r)(其中x=0,1,2...,m-1)的傅里叶变换由以下等式给出:同样。给出F(u),能用反DFT来获得。

qq_63029071的博客 1183

频域低通滤波

从信号频谱角度来看,低频部分是信号缓慢变换的频率域,而信号的迅速变化部分所在的频率域属于高频。对图像来说,信号以及噪声的频率都处于高频部分。若要减弱噪声,需要减弱高频分量,可以采用低通滤波。 在频率域,低通滤波的输出表达式为: G(u,v)=H(u,v)F(u,v) G(u,v) = H(u,v)F(u,v) G(u,v)=H(u,v)F(u,v) 其中F(u,v)F(u,v)F(u,v)是含噪声图像得分傅里叶变换;H(u,v)H(u,v)H(u,v)是线性低通滤波器传递函数;G(u,v)G(u,v)G(u

SilverCv的博客 3598

【OpenCV 例程200篇】81. 频率域高斯低通滤波器

高斯滤波器的滤波效果随着样值点到傅里叶变换中心的距离的变化而变化,当距离增大时滤波效果变好。 频率域高斯低通滤波器也是一个掩模蒙板。利用二维高斯蒙板,可以滤去高频、保留低频。频域高斯函数的方差 $\sigma^2$ 越小,高斯函数越狭窄,滤除的高频成分(图像细节)越多,图像越模糊。

youcans的博客 8607

《数字图像处理》第四章-频率域滤波 笔记

参考文章: 数字图像处理——第四章(频率域滤波) 一、傅里叶变换基础知识 1. 复数 2. 傅里叶级数、傅里叶变换 3. 冲激函数及其取样(筛选)性质 4. 一维连续函数傅里叶变换对 5. 一维离散傅里叶变换对(DFT) 6. 二维连续傅里叶变换对 7. 二维离散傅里叶变换对 8. 卷积定理 9. 二维离散傅里叶变换的性质 二、频率域滤波基础 三、使用低通频率域滤波器平滑图像 四、使用高通滤波器锐化图像 ...

肉丸不肉 5201

Doris + Iceberg 实现高效数据湖分层:架构解析与最佳实践

本文深入解析了如何利用Doris与Iceberg构建高效的数据湖冷热分层架构。通过将高频访问的热数据存储在Doris中以实现毫秒级查询,同时将历史冷数据归档至低成本的Iceberg存储,该方案在保障查询性能的同时显著降低了总体拥有成本。文章详细阐述了从架构设计、自动化迁移到统一查询的最佳实践,为应对海量数据下的成本与性能平衡提供了实战指南。

weixin_29207533的博客 135

【OpenCV 例程200篇】80. 频率域图像滤波详细步骤

在本节中,给出更加详细的频率域图像滤波的步骤和完整例程: (1)读取原始图像 (2)中心化,centralized 2d array (3)快速傅里叶变换 (4)构建低通滤波器 传递函数 (5)在频率域修改傅里叶变换 (6)对低通傅里叶变换 执行傅里叶逆变换 (7)中心化,centralized 2d array (8)截取左上角,大小和输入图像相等

youcans的博客 6041

基因家族的鉴定-基于Windows系统上的HMMER

基因家族的鉴定-基于Windows系统上的HMMER。

liangjinghui123的博客 3241

图像的频率域高斯低通滤波

图像的频率域高斯低通滤波

qq_43685640的博客 1480

环境科研人必备:手把手教你用EPISuite 4.1批量预测化合物毒性(附ECOSAR实战)

本文详细介绍了EPISuite 4.1在环境毒理学研究中的应用,重点解析了ECOSAR模块的化合物毒性预测技术。通过批量处理实战和科研案例,帮助环境科研人员快速评估化学物质对水生生态系统的风险,提升工作效率。文章还涵盖了EPISuite核心模块的功能分类及ECOSAR模型的技术原理与算法特点。

weixin_28738165的博客 539

HTML小游戏20 —— html5版开心斗地主小游戏(附完整源码)

100个H5游戏专栏🎮 目前已有100+小游戏,源码在持续更新中,前100位订阅限时优惠,先到先得。🐬 订阅专栏后可阅读100个HTML小游戏文章;还可私聊进前端/游戏制作学习交流群;领取一百个小游戏源码。在线演示地址:源码也可在文末进行获取。

前端好玩的小案例、游戏、工具 1万+

数字图像处理——第四章 频率域滤波

本章主要学习了空间域与频率域的概念、傅里叶级数、二维傅里叶变换的正反变换等核心内容。进一步探讨了频域滤波中的低通滤波与高通滤波方法,并结合图像锐化处理,深入理解图像的平滑、去噪、锐化与边缘增强等操作。通过本章的学习,为后续图像处理技术的掌握奠定了坚实的理论基础。

2501_92757786的博客 2497

【腾讯小龙虾 WorkBuddy 专栏 03】技能(Skills)制作全教程!自定义技能编写、导出分享、导入使用一步到位

🔥腾讯AI智能体WorkBuddy自定义技能全攻略 本文为零基础用户提供WorkBuddy自定义技能的完整教程,涵盖技能概念、编写规范到实操全流程。核心内容包括: 技能本质:标准化任务指令模板,可固化重复操作流程 三大价值:一键执行重复任务/跨设备共享/降低使用门槛 实操演示:以"桌面文档自动分类"为例,分步讲解编写、测试、导出 共享方案:支持单技能/批量导出,通过任意渠道传输分享 导入指南:3秒完成他人技能加载,并提供常见问题解决方案 高阶优化:增加异常处理、版本管理等提升技能普适性

AI人人懂 2944
上一篇: 5.3 钝化掩蔽和高提升滤波
下一篇: 6.2 频率域滤波之高通滤波
Four o'clock
博客等级 码龄8年 305粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值