zoukankan      html  css  js  c++  java
  • Anisotropic gauss filter

    最近一直在做版面分析,其中文本行检测方面,许多文章涉及到了Anigauss也就是各向异性高斯滤波。

    顾名思义,简单的理解就是参数不同的二维高斯滤波。

    在文章Fast Anisotropic Gauss Filtering中阐明了Anisotropic Gauss Filter可以分解成想,y两个方向不同的一维高斯滤波,其中x,y不必垂直。

    下面我们来看一下分解过程。

    一个简单的各向同性二维高斯卷积滤波一般如下式

     

    当x,y方向缩放比例不同时我们便得到了各向异性二维高斯滤波如图

    当然也可以做其他方向的滤波,我们设旋转角度为θ如图,则旋转后坐标与x,y坐标关系为

     

     因此可以得到一个通用的表达式

    其中u轴为θ方向,v轴为垂直于θ方向。

    根据傅里叶变换我们知道,空域卷积等于频域相乘

    所以如果一个线性滤波的傅里叶变换可以写成两个分别关于Wx,Wy方程相乘的形式,那么在空域他可以写成两个子项的卷积

    因此我们可以将 的傅里叶变换写成如下形式:

    (7)

    也就是

     

    然而我们只对x,y感兴趣,因此我们将分解为

      (10)

    然后我们可以得到a11,a12,a13的表达式

    再一次明确我们的目标是将各向异性高斯滤波分解成一个x方向与一个延方向的一维滤波。

     

     便于分解,我们(10)式写成所有与Wy无关和Wy有关的相加形式

     并放入(10)式后得到

     根据指数的性质也可写为

    然后做傅里叶逆变换后得到

     第一项表示x方向的滤波

    第二项表示滤波

    其中

     至此分解完成:

     文中作者应用了recursive filter去做了实现,具体需要参考源代码anigauss.c

    具体效果如图

  • 相关阅读:
    my first android test
    VVVVVVVVVV
    my first android test
    my first android test
    my first android test
    ini文件
    ZZZZ
    Standard Exception Classes in Python 1.5
    Python Module of the Week Python Module of the Week
    my first android test
  • 原文地址:https://www.cnblogs.com/klitech/p/6144670.html
Copyright © 2011-2022 走看看