artifacts    纰漏

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

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

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

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

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

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

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

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

频域增强:

空域卷积:

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

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

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

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

理想型:

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

巴特沃斯型

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

高斯型:

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

上述图像的生成程序:

  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. function draw2(h,name)
  28. figure;
  29. surf(h);title(strcat('频域',name));
  30. fx=abs(ifft2(h));
  31. fx=fftshift(fx);
  32. figure;surf(fx);title(strcat('空域',name));

注:fftshift与ifftshift区别,对偶数行列矩阵相同,奇数相互弥补,组合使之可逆

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

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


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

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

图1 吉布斯现象示意图

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

图2 米切尔森

图3 吉布斯

1898年,米切尔森(Albert Michelson)做了一个谐波分析仪。该仪器可以计算任何一个周期信号x(t)的傅里叶级数截断后的近似式,其中N 可以算到 80。米切尔森用了很多函数来测试它的仪器 ,结果都很好。然而当他测试方波信号时,他得到一个重要的,令他吃惊的结果!他于是根据这一结果而怀疑起他的仪器是否有不完善的地方。他将这一问题写一封信给当时著名的数学物理学家吉布斯 (Josiah Gibbs),吉布斯检查了这一结果,并于1899年在《自然》杂志上发表了他的看法。

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

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

振铃效应(ringing artifacts)的更多相关文章

  1. Paper | Compression artifacts reduction by a deep convolutional network

    目录 1. 故事 2. 方法 3. 实验 这是继SRCNN(超分辨)之后,作者将CNN的战火又烧到了去压缩失真上.我们看看这篇文章有什么至今仍有启发的故事. 贡献: ARCNN. 讨论了low-lev ...

  2. 实现PC视频播放最强画质教程( Potplayer播放器+MADVR插件)【转】

    转自:http://www.hangge.com/blog/cache/detail_1461.html 一.MADVR介绍 MADVR 是一款超强的视频插件,其配合高清播放软件,可以做到目前 PC  ...

  3. Papers | 图像/视频增强 + 深度学习

    目录 I. ARCNN 1. Motivation 2. Contribution 3. Artifacts Reduction Convolutional Neural Networks (ARCN ...

  4. Paper | D3: Deep Dual-Domain Based Fast Restoration of JPEG-Compressed Images

    目录 摘要 读后感 故事 深度双域法(D3) 发表于2016年CVPR. 摘要 既利用了CNN,又考虑了JPEG压缩的特性,解决JPEG图像去失真问题. 针对于压缩特性,作者考虑了JPEG压缩方案的先 ...

  5. HEVC学习之一编码框架

    接触H265时间不是很长,看了一些东西,但是一直没有时间静下心来整理.H265的学习主要是参考万帅.杨付正的<新一代高效视频编码 H265/HEVC 原理.标准与实现>移书,这本书对H26 ...

  6. RS-232-C串口通讯协议解析(硬件接口协议)

    http://www.dz3w.com/info/interface/0075524.html http://wenku.baidu.com/view/02cc247c27284b73f24250e3 ...

  7. linux下编译eXosip、osip,以及UAC和UAS的例子

    从网站上看到了这样的一篇博文 :Windows下编译eXosip.osip,以及UAC和UAS的例子 (链接:http://www.cnblogs.com/dyllove98/archive/2013 ...

  8. Windows下编译eXosip、osip,以及UAC和UAS的例子

    今天开始了SIP开源库的学习,我选择了osip和eXosip,但是这两个库的编译使用有些麻烦,源码下来之后编译会出现很多问题,网上也没有找到完整的编译介绍,只能一步一步的找办法解决,最后终于编译成功! ...

  9. FFmpeg的HEVC解码器源代码简单分析:环路滤波(Loop Filter)

    ===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpe ...

随机推荐

  1. 《暗黑世界V1.4》API说明文档

    <暗黑世界V1.4>API说明文档 阵法位置示意图 上方:                        下方:      账号注册   100 请求信息 { username   str ...

  2. 【Pyhton 数据分析】通过gensim进行文本相似度分析

    环境描述 Python环境:Python 3.6.1 系统版本:windows7 64bit 文件描述 一共有三个文件,分别是:file_01.txt.file_02.txt.file_03.txt ...

  3. 反射机制(1)认识Class类

    认识Class类: 正常情况下,必须指定类的完整路径才能实例化对象,但是java中也允许通过一个对象找到其所在类的信息.这实际就是class类的功能. package 类集; class X{ }; ...

  4. mongodb安装的两条命令

    1. 安装 下载并安装,注意安装方式为custom,路径自定义(d:\chengxu\mongodb),安装成功后在mongodb文件夹下新建data文件夹(内新建db文件夹)和logs文件夹(内新建 ...

  5. java基础讲解06-----字符串

    1. package test; public class chb01 { public static void main(String[] ggs)        {            /**  ...

  6. CSS经验库

    1.兼容360浏览器 字体大小设置 开发中需要使用em单位 font-size: 0.83em; font-family: "Arial"; -webkit-text-size-a ...

  7. 【ASP.NET MVC系列】详解View

    本篇文章内容属于ASP.NET MVC系列视图篇,主要讲解View,大致内容如下: 1.Views文件夹讲解 2.View种类 3.Razor语法 4.对视图的基本操作 一   Views文件夹 (一 ...

  8. 企业信息系统集成框架(设计思路)C模式

    1.客户端.h文件 #pragma once #include<stdlib.h> //A程序员定义接口形式和调用模式 //初始化句柄 typedef int(*Init_Socket)( ...

  9. 深度学习之Matlab 转C++在iOS上測试CNN手型识别

    1 前言 在上一篇Blog.我介绍了在iOS上执行CNN的一些方法. 可是,一般来说.我们须要一个性能强劲的机器来跑CNN,我们仅仅只是须要将得到的结果用于移动端. 之前在Matlab使用UFLDL的 ...

  10. OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载

    原文:http://my.oschina.net/fajar/blog/425478 使用OpenSSL生成自签证书(亲测) 一,前言 读过我博客的小伙伴儿都知道,我一般在前言里面会提到为什么写这篇博 ...