振铃效应(ringing artifacts)

振铃效应(ringing artifacts)artifacts 纰漏个人总结不一定对 图像复原中损失高频信息的话会产生振铃效应 理想低通滤波器在频率域的形状为矩形 那么其傅立叶逆变换在时间域为 sinc 函数图像处理中 对一幅图像进行滤波处理 若选用的频域滤波器具有陡峭的变化 则会使滤波图像产生 振铃 所谓 振铃 就是指输出图像的灰度剧烈变化处产生的震荡 就好像钟被敲击后产生的空气震荡 如下图

 artifacts    纰漏

 个人总结不一定对:图像复原中损失高频信息的话会产生振铃效应。

 

理想低通滤波器在频率域的形状为矩形,那么其傅立叶逆变换在时间域为sinc函数

振铃效应(ringing artifacts)

图像处理中,对一幅图像进行滤波处理,若选用的频域滤波器具有陡峭的变化,则会使滤波图像产生“振铃”,所谓“振铃”,就是指输出图像的灰度剧烈变化处产生的震荡,就好像钟被敲击后产生的空气震荡。如下图:

振铃效应(ringing artifacts)

振铃效应(ringing artifacts)

 

振铃现象产生的本质原因是:

对于辛格函数sinc而言,经过傅里叶变换之后的函数形式为窗函数(理想低通滤波器)形式,用图像表示如下:

振铃效应(ringing artifacts)

图1.左边为矩形窗函数,右边为辛格函数(将左边的空域换成频域,右边频域换成空域)

因此凡具有接近窗函数的滤波器,IFT之后,其空域函数形式多少接近sinc函数。sinc是进行图像滤波的主要因素,两边的余波将对图像产生振铃现象

 

由卷积定理可将下面两种增强联系起来:

频域增强:振铃效应(ringing artifacts)

空域卷积:振铃效应(ringing artifacts)

其中f,g,h分别为输入图像,增强图像,空域滤波函数;F,G,H分别为各自的傅里叶变换。*为卷积符号。

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

下面给出三个常用的低通滤波器:理想型、巴特沃斯型、高斯型

并分析他们对用的空域滤波函数的特点,验证上述结论。

理想型:振铃效应(ringing artifacts)

理想型滤波会出现振铃,可以看出空域滤波函数图像外围有剧烈震荡。

振铃效应(ringing artifacts)

巴特沃斯型振铃效应(ringing artifacts)

 

为阶数,1阶巴特沃斯没有“振铃“,随着阶数增大,振铃现象越发明显。下图取n=2,可以看出空域函数外围部分出现震荡。

振铃效应(ringing artifacts)

高斯型:振铃效应(ringing artifacts)

 

高斯函数的傅里叶变换仍然是高斯函数,故高斯型滤波器不会产生“振铃“。

振铃效应(ringing artifacts)

 

上述图像的生成程序:

 

[objc]  view plain   copy

 

  1. close all;  
  2. clear all;  
  3. d0=8;  
  4. M=60;N=60;  
  5. c1=floor(M/2);       
  6. c2=floor(N/2);        
  7. h1=zeros(M,N);      %理想型  
  8. h2=zeros(M,N);      %巴特沃斯型  
  9. h3=zeros(M,N);      %高斯型  
  10. sigma=4;  
  11. n=4;%巴特沃斯阶数  
  12. for i=1:M  
  13.     for j=1:N  
  14.         d=sqrt((i-c1)^2+(j-c2)^2);  
  15.         if d<=d0  
  16.             h1(i,j)=1;  
  17.         else  
  18.             h1(i,j)=0;  
  19.         end  
  20.         h2(i,j)=1/(1+(d/d0)^(2*n));   
  21.         h3(i,j)=exp(-d^2/(2*sigma^2));   
  22.     end  
  23. end  
  24. draw2(h1,‘理想’);  
  25. draw2(h2,‘巴特沃斯’);  
  26. draw2(h3,‘高斯’);  
  27.   
  28. function draw2(h,name)  
  29. figure;  
  30. surf(h);title(strcat(‘频域’,name));  
  31. fx=abs(ifft2(h));  
  32. fx=fftshift(fx);  
  33. figure;surf(fx);title(strcat(‘空域’,name));  

如何理解振铃效应? – 知乎https://www.zhihu.com/question/

 图像处理之—振铃现象 – CSDN博客http://blog.csdn.net/zk_j1994/article/details/


 

傅立叶变换中的吉布斯现象

 吉布斯(Gibbs)现象:将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。吉布斯现象如下图所示。

                                                       振铃效应(ringing artifacts)

                                                                              图1 吉布斯现象示意图

        实际上,吉布斯现象最先并不是吉布斯发现的。科学家阿伯特·米切尔森(Albert Michelson)是第一个获得诺贝尔奖的美国人,他以米切尔森-莫利(Michelson-Morley)实验测量光速而闻名于世。但很多人不知道的是,他才是第一个发现吉布斯现象的人。

                                                                      振铃效应(ringing artifacts)

                                                                                     图2 米切尔森

                                                                         振铃效应(ringing artifacts)

                                                                                   图3 吉布斯

  若用x(t)表示原始信号,xN(t)表示有限项傅立叶级数合成所得的信号,米切尔森所观察到的有趣的现象是方波的xN(t)在不连续点附近部分呈现起伏,这个起伏的峰值大小似乎不随 N 增大而下降!吉布斯证明:情况确实是这样,而且也应该是这样。随着N 增加,部分和的起伏就向不连续点压缩,但是对任何有限的 N 值,起伏的峰值大小保持不变 ,这就是吉布斯现象。

  这个现象的含义是:一个不连续信号 x(t) 的傅里叶级数的截断近似 xN(t),一般来说,在接近不连续点处将呈现高频起伏和超量,而且,若在实际情况下利用这样一个近似式的话,就应该选择足够大的 N ,以保证这些起伏拥有的总能量可以忽略。当然,在极限情况下,近似误差的能量是零,而且一个不连续的信号(如方波)的傅里叶级数表示是收敛的。

 

转载于:https://www.cnblogs.com/wxl845235800/p/7692788.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207434.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午1:50
下一篇 2026年3月19日 下午1:50


相关推荐

  • split 方法_subsequence和substring的区别

    split 方法_subsequence和substring的区别1,split方法split()方法用于把一个字符串分割成字符串数组。例如:数据中现在有这样一个结果128b8f730592cc8db33ea52985127d44,44bee6555822d8321d2d1a2c1ac3b2cf,b2f939f26e512934e165f3e784cc74ca,我需要把这个字符串变成数组 console.log(res.result.produc…

    2026年3月11日
    6
  • 如何保证docker2375端口的安全

    如何保证docker2375端口的安全情景再现:之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。问题产生的原因首先我们要明白问题产生的原因,才能更好地解决问题!Docker为了实现集群管理,提供了远程管理的端口。DockerDaemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。当我们修改do

    2022年6月13日
    79
  • 移除word文档的域代码 remove all field codes of word[通俗易懂]

    移除word文档的域代码 remove all field codes of word[通俗易懂]去除word中因使用mendeley或endnote等文献管理软件而产生的域代码。网上很多说使用CTRL+SHIFT+F9,但亲测不行,可能是软件版本问题。使用以下方法解决:CTRL+A全选文章;CTRL+6去除全文域代码。参考:https://community.endnote.com/t5/EndNote-Styles-Filters-and/Removing-field-codes-adjusts-spacing-in-Word-document/td-p/152892http

    2022年6月10日
    143
  • Unicode编码转换器

    Unicode编码转换器nbsp nbsp nbsp nbsp 今天在看一个项目的 properties 文件时 看到里面全部都是这种字符 gerenListXLS u666e u901a u7528 u6237 u8ba2 u5355 u5217 u8868 xls 其实 properties 文件中不能写中文字符 要不会出现乱码 必须将中文进行 Unicode 编码 nbsp nbsp nbsp nbsp 常

    2026年3月17日
    2
  • VUE 关闭eslint严格模式

    VUE 关闭eslint严格模式TOC VUE 关闭 eslint 严格模式 VUE 关闭 eslint 严格模式如果在使用 vue cli 搭建 vue 工程时 不小心选择了 eslint 严格校验模式 对于开发人员调试代码是很麻烦的事 那么如何关掉 eslint 严格模式呢 1 在 package json 文件下找到 eslint 配置 eslintConfig root true env node true extends plugin vu

    2026年3月17日
    1
  • win10关闭端口占用[通俗易懂]

    win10关闭端口占用[通俗易懂]查看win10所有占用端口公式:查看所有:netstat-ano查看对应端口:netstat-ano|findstr"9004"关闭端口:任务管理器中的详细信息对应的PID就是占用的端口关闭即可命令行关闭端口:taskkill-PID进程号-F进程号为19216…

    2022年7月20日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号