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

    具体效果如图

  • 相关阅读:
    常用品牌交换机镜像抓包配置
    BGP知识点备忘录
    IS-IS路由协议地址详解
    Linux msmtp+mutt发邮件
    Linux添加一临时用户拥有root权限最快方式
    ELK5.0全程普通用户源码安装指南(CentOS6.5)
    改变文件的拥有者和改变文件的拥有组
    Linux chmod命令详解
    Linux目录介绍
    php时间戳转化成时间相差8小时问题
  • 原文地址:https://www.cnblogs.com/klitech/p/6144670.html
Copyright © 2011-2022 走看看