zoukankan      html  css  js  c++  java
  • 图像缩放与多采样率

        图像缩放是一个既简单而又复杂的问题,有很多经典的插值算法,但这些插值算法总会一定程度上的模糊图像。就即使采用3次多项式插值也是如此。于是有人认为可以在插值之前采用预处理,插值之后增加后处理的方法以提高图像质量。也就是:

     

                   

     

     

        其中预处理也就是预滤波,后处理也是后置滤波操作。

        这样的处理过程真正能提高图像质量吗?以前对这一操作过程就有一些疑惑。因为插值本身就具有低通滤波的作用。

     

    首先思考一下整数倍图像放大问题。这种情况对应于2维信号的整数倍内插操作。多抽样率数字信号告诉我们,内插操作因为事先不知道要插入的值是多少,于是就用零代替。但这样,从频域角度去看,多出了与信号频谱对称的高频分量,术语叫镜像。所以需要一个低通滤波器以去除镜像。这样滤波之后,原先那些补零的值就被修改为非零。所以,对图像整数倍放大问题,做图像插值后没有必要后置一个滤波器。

     

    同样,考虑整数倍图像缩小问题。这种情况对应于2维信号的整数倍抽取操作。抽取就是把某些信号丢掉。最简单的2倍抽取就是保留偶数位置上的点,扔掉奇数位置上的点。但这样有可能会产生频谱混叠。为了避免混叠,可以事先进行低通滤波。以保证抽点之后虽然频谱扩展变胖了,但不会产生交叉。而图像缩小进行的插值本身也就是低通滤波的作用。所以,前面的预滤波没有必要。

     

    当然,从多抽样率的观点来看。可以设计一个2维低通滤波器先对图像做低通滤波,然后扔掉奇数位置的点。这样必然得到缩小2倍的图像。对于图像放大问题而言,可以先在每两个像素之间插入0值,然后在设计一个2维低通滤波器对它做滤波,这样必然得到放大2倍的图像。

     

    综上所述,采用图像插值的方法做图像缩放,增加预滤波和后置滤波不仅不能提高图像质量,还可能使图像更模糊。因为进行了多次低通滤波。图像质量取决于采用什么样的插值核函数,而插值核函数与多抽样中的滤波器没有本质上的区别,而且应该是一致的。设计怎样的滤波器等价于采用何种插值核函数。

     

    目前有基于偏微分方程【PDE】的图像缩放能取得更好的效果。一种实现框架是先采用传统的图像插值的方法,然后做后处理。但是,这里的后处理不是传统的滤波,而是一种基于PDE的非线性扩散以增强边缘。目前更好的方法是完全扔掉插值过程,直接对图像采用图像修复的算法。

  • 相关阅读:
    思维探索者:理解了才是真正的学习 理解会带来巨大的好处
    思维探索者:让记忆与学习更有效率 别在别人的思考中得意着
    思维探索者:从问题到答案的思维过程 像侦探一样思考
    android-HttpClient上传信息(包括图片)到服务端
    java web每天定时执行任务
    基础总结篇之一:Activity生命周期
    Spring面试题一
    J2EE用监听器实现同一用户只能有一个在线
    notepad++快捷键大全
    python for循环巧妙运用(迭代、列表生成式)
  • 原文地址:https://www.cnblogs.com/celerychen/p/3588219.html
Copyright © 2011-2022 走看看