理想滤波器、巴特沃斯滤波器、高斯滤波器实现(包含低通与高通,代码实现与分析)

news2024/9/29 17:27:51

本篇博客聚焦理想滤波器、巴特沃斯滤波器、高斯滤波器进行原理剖析、代码实现和结果总结,代码含有详细注释,希望帮助大家理解。

以下将从理想低通滤波器理想高通滤波器巴特沃斯低通滤波器巴特沃斯高通滤波器高斯低通滤波器高斯高通滤波器六个块题进行阐述,每一块题将分为实验原理实验代码展示实验结果分析三部分进行讲解。

在本博客中使用的待处理图像如下所示:

理想低通滤波器

实验原理

        低通滤波可保留图像中的低频分量而除去高频分量。图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或削弱噪声的影响并模糊边缘轮廓。理想低通滤波器具有传递函数:

H(u, v)=\left\{\begin{array}{l}1, D(u, v) \leq D_{0} \\0, D(u, v)>D_{0}\end{array}\right.

        其中$D_{0}$为理想低通滤波器的截止频率。理想低通滤波器在半径为$D_{0}$的范围内,所有频率都可以没有衰减地通过滤波器,该半径之外的所有频率都完全被衰减掉。

        $D(u,v)$是到频谱中心的距离(欧式距离),计算公式如下:

D(u, v)=\left[\left(u-\frac{M}{2}\right)^{2}-\left(v-\frac{N}{2}\right)^{2}\right]^{\frac{1}{2}}

        $M$$N$表示频谱图像的大小,$(\frac{M}{2},\frac{N}{2})$即为频谱中心。

        理想低通滤波器在数学上定义得很清楚,在计算机模拟中也可实现,但在截断频率处直上直下的理想低通滤波器是不能用实际的电子器件实现的。理想低通滤波器图像如下图所示。

一个理想低通滤波器函数的透视图 

以图像形式显示的滤波器

滤波器镜像横截图

        可以看出,理想低通滤波器具有平滑图像的作用。但是理想低通滤波器的过渡非常急剧,高频信息全部消失,严重降低了复原图像的质量,有很严重的振铃现象。

        振铃现象产生的本质原因是:对于窗函数(理想低通滤波器形式)而言,经过逆傅里叶变换转换到空域后的函数形式为辛格函数($sinc$),$sinc$两边的余波将对图像产生振铃现象,如下图。

矩形窗函数和辛格函数 

        在空间域将低通滤波作为卷积过程来理解的关键是空间滤波函数的特性——可将空间滤波函数分为两部分:原点处的中心部分,中心周围集中的成周期分布的外围部分。前者决定模糊,后者决定振铃现象。如下图所示。若外围部分有明显的震荡,则增强图像会出现振铃。利用傅里叶变换,我们发现,若频域滤波函数具有陡峭变化,则傅里叶逆变换得到的空域滤波函数会在外围出现震荡。

理想低通滤波器在频域和空域内的函数透视图 

实验代码实现

理想低通滤波器的代码实现如下,该部分只展示了绘制截止频率$D_{0}=5$图像的相关代码,绘制其他频率图像的代码只需修改截止频率数值即可。该部分使用Matlab代码实现。

close all;
clc;

I = imread("待处理图片.jpg");%读取图片
I = rgb2gray(I);%将图片转化为灰度图像
subplot(331),
imshow(I);%展示图象
title('原始图像');

%'fft_data = fftshift(fft2(im2double(I)));'步骤指对图像进行二维傅里叶变换,可以拆分为三步进行:
%该步将灰度图像I的值转为double并进行归一化,防止原I的unit8类型只能为整数值
%从而导致在涉及到双精度数值时被迫截断而产生误差
%I = im2double(I);
%该步将灰度图像I进行了fft变换
%fft_data = fft2(I);
%该步将fft变换后的频谱图进行了频移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
%fft_data = fftshift(fft_data);
fft_data = fftshift(fft2(im2double(I)));

[height, width] = size(fft_data);%获取经fft变换后的矩阵的尺寸
center_x = round(height / 2);%获取中心点的x坐标
center_y = round(width / 2);%获取中心点的y坐标
D0 = 5;%设置截断频率为5
for x = 1 : height
    for y = 1 : width
        distance = sqrt((x - center_x) ^ 2 + (y - center_y) ^ 2);%求取图像上的(x,y)点距中心原点的距离
        if distance <= D0
            H = 1;%如果小于截止频率,则频域的变换函数值设置为1(若为高通则改为0)
        else
            H = 0;%如果大于截止频率,则频域的变换函数值设置为0(若为高通则改为1)
        end
        fft_data(x, y) = fft_data(x, y) * H;%频域变换,直接相乘
    end
end

fft_data = ifft2(ifftshift(fft_data));%将频谱图的中点从中心处移动到原点处,并进行逆傅里叶变换
return_image = real(fft_data);%显示图像时取实部即可
subplot(332),
imshow(return_image, []);%显示图像
title('截止频率D0 = 5的变换图像');

最终选取了八个截止频率(分别为5,10,15,20,30,40,50,60)进行测试,在下一部分对结果进行分析。

实验结果分析 

经理想低通滤波器处理后的图像结果展示如下:

        可以看到,随着截止频率的增加,图像越来越清晰,细节展现越来越明显。
        由理想低通滤波器的原理可知,图像经过理想低通滤波器后,表征轮廓、内容的低频信息被保留,表征细节、边缘等突变信息的高频信息被去除,随着截止频率的增大,保留的信息越来越多,故图像也愈发清晰,细节更加明显。
        但处理所得的八个图像均可以观察到较为明显的振铃效应,这是由于理想低通滤波器本身的特性导致的,无法随着频率改变而彻底消除。

理想高通滤波器

实验原理

        理想的高通滤波器与理想低通滤波器相反,1减去低通滤波模板即可。高通滤波可保留图像中的高频分量而除去低频分量。图像中的轮廓和内容都对应图像傅里叶频谱中的低频部分,所以高通滤波可以去除图像的轮廓而保留图像的边缘等突变信息。理想高通滤波器的传递函数为:

H(u, v)=\left\{\begin{array}{l}0, D(u, v) \leq D_{0} \\1, D(u, v)>D_{0}\end{array}\right.

        其中$D_{0}$为理想高通滤波器的截止频率。理想高通滤波器在半径为$D_{0}$的范围内,所有频率都完全被衰减掉,该半径之外的所有频率都可以没有衰减地通过滤波器。

       $D(u,v)$是到频谱中心的距离(欧式距离),计算公式如下:

D(u, v)=\left[\left(u-\frac{M}{2}\right)^{2}-\left(v-\frac{N}{2}\right)^{2}\right]^{\frac{1}{2}}

        $M$$N$表示频谱图像的大小,$(\frac{M}{2},\frac{N}{2})$即为频谱中心。

        与理想低通滤波器同理,理想高通滤波器由于其本身函数的特性,导致在进行逆傅里叶变换时也会出现形如$sinc$函数的图像,进而导致图像产生振铃现象。

实验代码实现

        理想高通滤波器的代码实现与理想低通滤波器代码实现基本一致,唯一需要变动的地方在于当$D(u,v)<=D_{0}$时需设置$H=0$,当$D(u,v)>D_{0}$时需设置$H=1$,修改的位置已在上述代码的注释中表明,在此不再重复贴附代码。
        最终选取了八个截止频率(分别为5,10,15,20,30,40,50,60)进行测试,在下一部分对结果进行分析。

实验结果分析

图像经理想高通滤波器处理后,所得结果如下图所示。

        可以看到,随着截止频率的增加,图像的边缘信息逐渐凸显,而图像的内容信息逐渐消失,而伴随着截止频率的进一步增加,图像的边缘信息也逐渐消失。

        由理想高通滤波器的原理可知,图像经过理想高通滤波器后,表征轮廓、内容的低频信息被去除,表征细节、边缘等突变信息的高频信息被保留,当截止频率增大时,低频信息量越来越少而高频信息量仍然存在,故边缘、细节等信息逐渐凸显,但当截止频率进一步增大时,高频信息量也被去除,故边缘也逐渐消失。

        处理所得的八个图像均可以观察到较为明显的振铃效应,这是由于理想高通滤波器本身的特性导致的,无法随着频率改变而彻底消除。

巴特沃斯低通滤波器

实验原理

        巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在低通情况下,对$n$阶巴特沃斯低通滤波器,其传递函数为:

H(j\omega )=\frac{1}{1+{​{(\frac{j\omega }{​{​{\omega }_{c}}})}^{2n}}}

        其中,$j$是虚数单位,$\omega$为频率,$\omega_{c}$为截止频率。

        固定$\omega_{c}$为50,巴特沃斯低通滤波器不同阶数下的幅频响应如下图(a)。通过表达式不难看出,阶数越小,巴特沃斯低通滤波器变化越平滑;阶数越大,其变化越剧烈;若阶数足够高,巴特沃斯低通滤波器应该近似理想低通滤波器,并产生显著的振铃效应。同时注意到,所有阶数的幅频特性曲线都交于同一点$(\omega_{c},0.5)$

        固定阶数为5,巴特沃斯低通滤波器在不同频率下的幅频响应如下图(b)。从图中可以看出,随着截止频率的增加,滤波器的通带宽度也会增加。低截止频率对应于较窄的通带,而高截止频率对应于较宽的通带。同时,随着截止频率的增加,滤波器的截止斜率也会变平缓。低截止频率下的滤波器更加陡峭,可以更有效地滤除高频成分,但振铃效应也越明显。

   

实验代码实现

巴特沃斯低通滤波器的代码实现如下,该部分使用Python代码实现。

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

# 读取图像
image = cv2.imread('exam_image.jpg', cv2.IMREAD_GRAYSCALE)
plt.rcParams['font.family'] = 'Times New Roman'

cutoff_frequency_list=[5 ,10 ,15 ,20, 30 ,40, 50, 60] #设置取样的截止频率
filter_order_list=[1,5,10] #设置取样的阶数

filename0='image/'

# 傅里叶变换图像
image_frequency = np.fft.fftshift(np.fft.fft2(image))
plt.figure()
image_fftlog = np.log(np.abs(image_frequency) + 1)
plt.imshow(image_fftlog, cmap='gray')
plt.xticks([]), plt.yticks([])
plt.savefig(filename0 + 'fft.png', dpi=300)

# 计算图像的中心坐标
center_x, center_y = image.shape[1] // 2, image.shape[0] // 2

for cutoff_frequency in cutoff_frequency_list:
    for filter_order in filter_order_list:
        # 创建巴特沃斯低通滤波器
        butterworth_filter = np.zeros_like(image, dtype=np.float32)
        for y in range(image.shape[0]):
            for x in range(image.shape[1]):
                distance = np.sqrt((x - center_x) ** 2 + (y - center_y) ** 2)
                # 计算巴特沃斯滤波器的值
                butterworth_filter[y, x] = 1 / (1 + (distance / cutoff_frequency) ** (2 * filter_order))

        filename=filename0+f'{cutoff_frequency}_{filter_order}_'

        # 应用滤波器
        filtered_image_frequency = image_frequency * butterworth_filter
        # 反傅里叶变换
        filtered_image = np.abs(np.fft.ifft2(np.fft.ifftshift(filtered_image_frequency)))

        plt.figure()
        # 显示滤波后的图像
        plt.subplot(111), plt.imshow(filtered_image, cmap='gray')
        plt.title(f'Cutoff Frequency: {cutoff_frequency}, Filter Order: {filter_order}')
        plt.xticks([]), plt.yticks([])
        plt.savefig(filename+'image.png',dpi=300)
        plt.close()

        # 设置坐标轴标签
        # 去除坐标轴上的数字标签
        ax.set_xticklabels([])
        ax.set_yticklabels([])
        ax.set_zticklabels([])
        plt.title(f'Butterworth Filter (Cutoff Frequency: {cutoff_frequency}, Filter Order: {filter_order})')
        plt.savefig(filename+'filter3d.png',dpi=300)
        plt.close()
        print(f'Butterworth Filter (Cutoff Frequency: {cutoff_frequency}, Filter Order: {filter_order})')

小组进行了控制变量分析法得到两组结果——
(1)选取阶数为5,不同截止频率(分别为5,10,15,20,30,40,50,60)的巴特沃斯低通滤波器对测试图像滤波。
(2)选取截止频率为30,不同阶数(分别为1,5,10)的巴特沃斯低通滤波器对测试图像滤波。

在下一部分对结果分别进行分析。

实验结果分析

        ①选取阶数为5,不同截止频率的巴特沃斯低通滤波器对测试图像滤波。实验结果如下图所示。

        可以看出,当截止频率较低时,高频细节会被更严格地抑制,使图像变得更加模糊和平滑。当截止频率较高时,滤波器会通过更多的高频信息,从而保留图像中的细节和纹理。

        ②选取截止频率为30,不同阶数的巴特沃斯低通滤波器对测试图像滤波。实验结果如下图所示。

        可以看出,阶数低的巴特沃斯滤波器滤波后的图像较为平滑,随着阶数增大,幅频曲线变化剧烈,会造成振铃效应增强,当阶数为10时已经能观察出明显的振铃效应。这与理论分析的一致。

        但是在图中还是能够发现一些振铃现象的存在,这是由于巴特沃斯函数本身的特性,导致无法完全避免振铃现象。

巴特沃斯高通滤波器

实验原理

        巴特沃斯高通滤波器的产生公式为:

H(j\omega )=\frac{1}{1+{​{(\frac{​{​{\omega }_{c}}}{j\omega })}^{2n}}}

        其中,$j$是虚数单位,$\omega$为频率,$\omega_{c}$为截止频率。可以看出与巴特沃斯低通滤波器的公式区别在于把分母上的$\omega_{c}$$j\omega$交换了位置。

        固定$\omega_{c}$为50,巴特沃斯高通滤波器不同阶数下的幅频响应如下图(a)。通过表达式不难看出,阶数越小,巴特沃斯高通滤波器变化越平滑;阶数越大,其变化越剧烈;若阶数足够高,巴特沃斯高通通滤波器应该近似理想高通滤波器,并产生显著的振铃效应。同时注意到,所有阶数的幅频特性曲线都交于同一点$(\omega_{c},0.5)$

        固定阶数为5,巴特沃斯高通滤波器不同频率下的幅频响应如下图(b)。从图中可以看出,随着截止频率的增加,滤波器的通带宽度也会减小。低截止频率对应于较宽的通带,而高截止频率对应于较窄的通带。同时,随着截止频率的增加,滤波器的截止斜率也会变平缓。低截止频率下的滤波器更加陡峭,但振铃效应也越明显。

实验代码实现

巴特沃斯高通滤波器的代码实现如下,该部分使用Matlab代码实现。

%巴特沃斯高通滤波器处理图片
close all;
clear;
clc;

I = rgb2gray(imread('待处理图片.jpg'));
subplot(2,2,4)
imshow(I);
title('Original Image');

% 阶数n分别为1,5,10
% 截止频率d0分别为 5 10 15 20 30 40 50 60
%n = [1, 5, 10];
n=[1,5,10];
%d0 = [5, 10, 15, 20, 30, 40, 50, 60];
d0=[30];
for a = 1:length(n)
    for b = 1:length(d0)
   
        s = fftshift(fft2(im2double(I)));
        [N1, N2] = size(s); % 求二维傅立叶变换后图像大小
        n1 = round(N1 / 2);
        n2 = round(N2 / 2);
        for i = 1:N1
            for j = 1:N2
                distance = sqrt((i - n1)^2 + (j - n2)^2);
                if distance == 0
                    h = 0;
                else
                    h = 1 / (1 + (d0(b) / distance)^(2 * n(a)));
                end
                s(i, j) = h * s(i, j);
            end
        end
        s = real(ifft2(ifftshift(s)));
        subplot(2,2,a)
        imshow(s, []);
        %title(['Order:', num2str(n(a)), ' Cutoff Frequency:', num2str(d0(b))]);
        %title([' Cutoff Frequency:', num2str(d0(b))]);
        title(['Order:', num2str(n(a))])
    end
end

小组进行了控制变量分析法得到两组结果——

(1)选取阶数为5,不同截止频率(分别为5,10,15,20,30,40,50,60)的巴特沃斯高通滤波器对测试图像滤波。

(2)选取截止频率为30,不同阶数(分别为1,5,10)的巴特沃斯高通滤波器对测试图像滤波。

在下一部分对结果分别进行分析。

实验结果分析

选取阶数为5,不同截止频率的巴特沃斯高通滤波器对测试图像滤波。实验结果如下图所示。

        可以看出,在巴特沃斯高通滤波器处理后,当截止频率较低时,低频内容会被更多保留,图像变得更加清晰,也更加贴合原图像。当截止频率较高时,滤波器会通过更少的高频信息,低频细节大量丢失,图像只保留下大致的轮廓部分。

选取截止频率为30,不同阶数的巴特沃斯高通滤波器对测试图像滤波。实验结果如下图所示。

        可以看出,阶数低的巴特沃斯滤波器滤波后的图像边缘更加清晰,随着阶数增大,幅频曲线变化剧烈,会造成振铃效应增强,当阶数为5时已经能观察出明显的振铃效应。这也与理论分析的一致。

        在图中总能够发现一些振铃现象的存在,这是由于巴特沃斯函数本身的特性,导致无法完全避免振铃现象。

高斯低通滤波器

实验原理

        高斯低通滤波器使用高斯函数作为滤波核,它在空间域中的数学表示是一个二维高斯分布。通过高斯低通滤波,图像中的高频噪声被抑制,从而实现平滑效果。高斯低通滤波器可以通过调节标准差参数来控制滤波的程度,标准差越大,滤波效果越明显。 

(1)高斯低通滤波器的一维形式为:

H(x) = A \cdot \exp\left(-\frac{x^2}{2\sigma^2}\right)

其中,$H(x)$是高斯函数在位置$x$处的值,$\sigma$是标准差。

(2)高斯低通滤波器的二维形式为:

H(x, y) = \exp\left(-\frac{​{D^2(u,v)}}{​{2\sigma^2}}\right)

$\sigma$是关于中心的扩展度的度量。通过令$D(x,y)=D_{0}$,我们可以把上式写作:

H(x, y) = \exp\left(-\frac{​{D^2(u,v)}}{​{2D_{0} ^2}}\right)

其中,$D_{0}$为截止频率。当$D(u,v)=D_{0}$时,高斯滤波器下降到其最大值的0.607处。

高斯低通滤波器的相关图像

结合上图,可总结高斯低通滤波器相关性质——

  • 平滑效果:高斯低通滤波器通过对图像的像素进行加权平均,减少了图像中的高频细节和噪声。这导致图像变得更加平滑,细节被模糊化。
  • 空间域平滑:高斯低通滤波器在空间域中操作,即对图像的每个像素及其周围像素进行加权平均。滤波器的大小和标准差决定了平滑的程度,较大的滤波器和较小的标准差会导致更强烈的平滑效果。
  • 频率域衰减:高斯低通滤波器在频率域中的响应是一个高斯函数。这意味着它对较低的频率有较高的响应,而对较高的频率有较低的响应。高频成分被衰减,低频成分得到保留。
  • 线性操作:高斯低通滤波器是线性操作,即可以将多个滤波器串联或并联使用。这样可以实现更复杂的滤波效果,例如多尺度平滑或增强图像的某些频率成分。

实验代码实现

高斯低通滤波器的代码实现如下,该部分使用Matlab代码实现。

%图片读取
I = imread('b.jpg');

% D0为截至频率的(相当于设置在傅里叶谱图的半径值)
subplot(3,3,1);imshow(I);title('原图');
I_result = gauss(I,5);
subplot(3,3,2);imshow(I_result);title('截止频率D0=5的变换图像');
I_result = gauss(I,10);
subplot(3,3,3);imshow(I_result);title('截止频率D0=10的变换图像');
I_result = gauss(I,15);
subplot(3,3,4);imshow(I_result);title('截止频率D0=15的变换图像');
I_result = gauss(I,20);
subplot(3,3,5);imshow(I_result);title('截止频率D0=20的变换图像');
I_result = gauss(I,30);
subplot(3,3,6);imshow(I_result);title('截止频率D0=30的变换图像');
I_result = gauss(I,40);
subplot(3,3,7);imshow(I_result);title('截止频率D0=40的变换图像');
I_result = gauss(I,50);
subplot(3,3,8);imshow(I_result);title('截止频率D0=50的变换图像');
I_result = gauss(I,60);
subplot(3,3,9);imshow(I_result);title('截止频率D0=60的变换图像');

% 高斯低通滤波器函数
function [image_result] =gauss (image_orign,D0)
%判断读入的图片是否为灰度图,如果不是则转换为灰度图,如果是则不做操作
if (ndims(image_orign) == 3)
image_2zhi = rgb2gray(image_orign);
else 
image_2zhi = image_orign;
end
%用傅里叶变换将图象从空间域转换为频率域
image_fft = fft2(image_2zhi);
%将零频率成分(坐标原点)变换到傅里叶频谱图中心
image_fftshift = fftshift(image_fft);
%创建一个width行,high列数组,用于保存各像素点到傅里叶变换中心的距离
[width,high] = size(image_2zhi);
D = zeros(width,high);
for i=1:width
    for j=1:high
        %计算像素点(i,j)到傅里叶变换中心的距离
        D(i,j) = sqrt((i-width/2)^2+(j-high/2)^2);
        %高斯低通滤波函数
        H = exp(-1/2*(D(i,j).^2)/(D0*D0));
        %若为高通,则修改为
        %H = 1 - exp(-1/2 * (D(i, j)^2) / (D0^2));
        %将滤波器处理后的像素点保存到对应矩阵
        image_fftshift(i,j)= H*image_fftshift(i,j);
    end
end
image_result = ifftshift(image_fftshift);%将原点反变换回原始位置
image_result = uint8(real(ifft2(image_result)));

end

最终选取了八个截止频率(分别为5,10,15,20,30,40,50,60)进行测试,在下一部分对结果进行分析。

实验结果分析

图像经高斯低通滤波器处理后,所得结果如下图所示。

截止频率较低: 如果截止频率较低,高频分量被更强烈地抑制,图像会更加模糊,丧失一些细节。这种滤波适用于需要强烈平滑和去噪的情况,但可能会损失许多图像细节。
截止频率较高: 如果截止频率较高,滤波器主要保留图像的大部分频率分量,得到的图像和原图更相像。使用较高的截止频率可以突出图像的边缘和纹理,但可能会不会减少多少噪声的影响,因为高频分量中也包含噪声。
        经过高斯低通滤波器处理后的图像不会产生振铃效应,这是由于高斯函数在时域和频域内的图像相同,没有类似$sinc$函数的波形,因而也不会产生振铃效应。这是高斯滤波器的巨大优势。

高斯高通滤波器

实验原理

        高斯高通滤波器是高通滤波器的一种,它是高斯低通滤波器的补数。通过从1减去高斯低通滤波器的结果,得到高斯高通滤波器。它可以突出图像中的细节和边缘,抑制低频分量,从而实现边缘检测等应用。
        高斯高通滤波器的表示为“1-高斯低通表达式”。高斯高通滤波器的二维形式为:

G(x, y) = 1-\exp\left(-\frac{​{D^2(u,v)}}{​{2\sigma^2}}\right)

       

        结合上图,可总结高斯低通滤波器相关性质——

  • 细节增强:高斯高通滤波器通过突出图像中的高频成分来增强细节。高频成分对应着图像中的边缘、纹理和细微变化等细节信息。通过增强这些高频成分,图像的细节会更加明显。
  • 空间域增强:高斯高通滤波器在空间域中操作,即对图像的每个像素及其周围像素进行加权平均。滤波器的大小和标准差决定了增强的程度,较大的滤波器和较小的标准差会导致更强烈的增强效果。
  • 频率域增强:高斯高通滤波器的频率响应对高频成分有较高的响应。因此,它会增强图像中的高频细节,使其更加突出。
  • 线性操作:高斯高通滤波器也是线性操作,可以与其他滤波器进行串联或并联使用,以实现更复杂的增强效果。

实验代码实现

高斯高通滤波器的代码实现与高斯低通滤波器代码实现基本一致,唯一需要变动的地方在于$H'$需要取$1 - H$,修改的位置已在上述代码的注释中表明,在此不再重复贴附代码。
最终选取了八个截止频率(分别为5,10,15,20,30,40,50,60)进行测试,在下一部分对结果进行分析。

实验结果分析

图像经高斯高通滤波器处理后,所得结果如下图所示。

截止频率较低:当截止频率较低时,低频分量被抑制,高频分量得到保留。这样的滤波器可以用于强调图像中的细节和边缘,使它们更加突出。然而,使用较低的截止频率可能会导致图像的整体模糊,因为高通滤波器会削弱图像中的低频信息。
截止频率较高:当截止频率较高时,高通滤波器会保留较高频率的细节,减弱低频分量。较高的截止频率使得图像细节丧失,减弱了边缘部分高频分量,使得图像细节和纹理丧失,同时可能会导致图像中的噪声增加。
        经过高斯高通滤波器处理后的图像不会产生振铃效应,这是由于高斯函数在时域和频域内的图像相同,没有类似$sinc$函数的波形,因而也不会产生振铃效应。这是高斯滤波器的巨大优势。


以上为本次博客的全部内容,欢迎大家讨论以及批评指正~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1473052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网站项目】437物流管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

No matching version found for get-symbol-description@^1.0.2前端项目报错解决(亲测可用)

目录 一、问题详情 二、解决方案 一、问题详情 拉取一个新的项目的时候&#xff0c;前端进行install依赖的时候&#xff0c;报了如下的错误。 6120 verbose node v16.15.1 6121 verbose npm v8.11.0 6122 error code ETARGET 6123 error notarget No matching version foun…

隐变量模型、Auto-Encoder、VAE、VQVAE的学习

TOC 1 生成模型以及隐变量模型角度理解2 自编码器AE2.1 简单理解AE2.2 概率角度理解AE 3 变分自编码器VAE3.1 理解VAE3.1.1 证据下界(Evidence Lower Bound, ELBO)3.1.2 Encoder和Decoder3.1.2.1 Encoder3.1.2.1 Decoder 3.1.3 汇总3.2 概率角度理解 4 VQVAE4.1 AE、VAE和VQVAE…

计算机中x32、x64、x86是什么意思?

没有 x32 的说法&#xff0c; x86、x64 都指的是 CPU 的指令集架构。 指令集 所谓指令集&#xff0c;可以理解成硬件对外的接口。我们运行程序是通过操作系统调度&#xff0c;操作系统然后让硬件去计算。让硬件计算的话&#xff0c;比如一些加法乘法&#xff0c;循环之类的&…

网络防御-内容过滤技术

目录 内容过滤技术文件过滤技术压缩 文件过滤技术的处理流程内容过滤技术邮件过滤技术 内容过滤技术 文件过滤技术 这里说的文件过滤技术&#xff0c;是指针对文件的类型进行的过滤&#xff0c;而不是文件的内容。想要实现这个效果&#xff0c;我们的设备必须识别出&#xff1…

sqllabs第46关 order by 注入(通过盲注)

打开第46关 提示我们(请将参数输入为sort&#xff08;带数值&#xff09;) 用sort注入排序 尝试操作 order by注入 什么是order by 在MySQL支持使用ORDER BY语句对查询结果集进行排序处理&#xff0c;使用ORDER BY语句不仅支持对单列数据的排序&#xff0c;还支持对数据表中…

2步破解官方sublime4

sublime简要破解流程 1.下载sublime官方最新版2. 破解流程 1.下载sublime官方最新版 打开 官方网站下载 portable version 版&#xff0c;省的安装。。解压到任意位置&#xff0c;备份 sublime_text.exe 文件 2. 破解流程 打开网址把文件 sublime_text.exe 拖入网页搜索替换…

jeesite用字典项配置二级下拉选

1、配置字典项 2、html代码&#xff1a;修改下拉选项框 <div class"col-xs-6"><div class"form-group"><label class"control-label col-sm-4" title""><span class"required">*</span> ${…

智慧公厕:让城市更智慧、更环保

在现代社会&#xff0c;智慧公厕作为城市管理的重要一环&#xff0c;是智慧城市的重要组成部分&#xff0c;其建设的价值十出突出&#xff0c;是公共厕所信息化升级改造的核心方案。如智慧公厕源头厂家广州中期科技有限公司&#xff0c;所自主研发的智慧公厕整体解决方案&#…

QT之项目经验(windows下的sqlite,c++开发)

目录 一、需要时间去磨练gui的调整和优化 1. 借鉴网上开源项目学习 2. gui的布局及调整是磨人的一件事情 3. gui的布局也是可以用组件复刻的 4. 耗时的设备树 二、多线程异步弹窗 三、定时任务动态变更设定 1.确定按钮触发 2.此处监听定时任务时间的改变 3.此处对改变做出具…

ABAP 发送带EXCEL邮件

前言 没啥特殊需求&#xff0c;就是有个库龄报表用户想整邮件发送 实现 用的最简单的XLS文件作为excel附件发送出去 观察XLS文件的纯文本格式&#xff0c;每列之间用TAB制表符分隔&#xff0c;每行之间用回车符分隔 思路也比较明确&#xff0c;在SAP中实现这种格式&#xf…

golang学习4,glang的web接口

1.代码 package mainimport (/*"net/http"*/"github.com/gin-gonic/gin" )func main() {r : gin.Default()r.GET("/get", func(ctx *gin.Context) {ctx.String(200/*http.StatusOK*/, "hello word golang-web!")})r.POST("/use…

【Excel PDF 系列】POI + iText 库实现 Excel 转换 PDF

你知道的越多&#xff0c;你不知道的越多 点赞再看&#xff0c;养成习惯 如果您有疑问或者见解&#xff0c;欢迎指教&#xff1a; 企鹅&#xff1a;869192208 文章目录 前言转换前后效果引入 pom 配置代码实现 前言 最近遇到生成 Excel 并转 pdf 的需求&#xff0c;磕磕碰碰总…

大语言模型推理加速技术:计算加速篇

原文&#xff1a;大语言模型推理加速技术&#xff1a;计算加速篇 - 知乎 目录 简介 Transformer和Attention 瓶颈 优化目标 计算加速 计算侧优化 KVCache Kernel优化和算子融合 分布式推理 内存IO优化 Flash Attention Flash Decoding Continuous Batching Page…

STM32--低功耗模式详解

一、PWR简介 正常模式与睡眠模式耗电是mA级&#xff0c;停机模式与待机模式是uA级。 二、电源框图 供电区域有三处&#xff0c;分别是模拟部分供电&#xff08;VDDA&#xff09;&#xff0c;数字部分供电&#xff0c;包括VDD供电区域和1.8V供电区域&#xff0c;后备供电&…

WinForms中的Timer探究:Form Timer与Thread Timer的差异

WinForms中的Timer探究&#xff1a;Form Timer与Thread Timer的差异 在Windows Forms&#xff08;WinForms&#xff09;应用程序开发中&#xff0c;定时器&#xff08;Timer&#xff09;是一个常用的组件&#xff0c;它允许我们执行定时任务&#xff0c;如界面更新、周期性数据…

喜报|迪捷软件入选工信部“2023年信息技术应用创新解决方案”

为进一步推进信创生态建设&#xff0c;激发产业自主创新活力&#xff0c;高效促进供需协同发展&#xff0c;加强区域联动和资源整合&#xff0c;国家工业和信息化部网络安全产业发展中心&#xff08;工业和信息化部信息中心&#xff09;联合相关单位&#xff0c;遴选了一批可复…

【电子书】研发管理

资料 wx&#xff1a;1945423050 整理了一些互联网电子书&#xff0c;推荐给大家 研发管理 ABAQUS 6.14中文版有限元分析与实例详解.epubAkka入门与实践.epubAltium Designer 16电路设计与仿真从入门到精通.epubAltium Designer17电子设计速成实战宝典.epubApache Kafka源码剖…

git push 总是需要输入密码或者个人访问令牌personal access token解决方案

文章目录 遇到问题解决方法 遇到问题 git push的时候总是需要输入密码或者个人访问令牌personal access token 解决方法 ChatGPT给出的解决方案&#xff0c;解决了我的问题。 如果在使用 git push 命令时总是需要输入个人访问令牌&#xff0c;这可能是因为您的 GitHub 账号…

Git 突破 文件尺寸限制

前言 当Git本地存储里右超过50MB&#xff0c;却又确实需要上传的时候&#xff0c;就需要用到了不是 解决 本代码就是把大文件进行拆解成小文件&#xff0c;然后上传。 等到拉取下来的时候&#xff0c;可以直接再进行合并&#xff0c;合并成原文件 代码如下&#xff0c;仅供…