Anisotropic gauss filter

时间:2022-12-11 16:29:27

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

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

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

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

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

Anisotropic gauss filter

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

Anisotropic gauss filter

Anisotropic gauss filter

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

Anisotropic gauss filter

Anisotropic gauss filter

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

Anisotropic gauss filter

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

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

Anisotropic gauss filter

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

Anisotropic gauss filter

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

Anisotropic gauss filter(7)

也就是

Anisotropic gauss filter

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

Anisotropic gauss filter (10)

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

Anisotropic gauss filter

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

Anisotropic gauss filter

Anisotropic gauss filter

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

Anisotropic gauss filter

并放入(10)式后得到

Anisotropic gauss filter

根据指数的性质也可写为

Anisotropic gauss filter

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

Anisotropic gauss filter

第一项表示x方向的滤波

Anisotropic gauss filter

第二项表示Anisotropic gauss filter滤波

Anisotropic gauss filter其中Anisotropic gauss filterAnisotropic gauss filter

至此分解完成:

Anisotropic gauss filter

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

具体效果如图

Anisotropic gauss filter