I've been doing layout analysis recently , The text line detection aspect , Many articles deal with Anigauss Anisotropic Gaussian filtering .

seeing the name of a thing one thinks of its function , The simple understanding is two-dimensional Gaussian filtering with different parameters .

In the article Fast Anisotropic Gauss Filtering It is clarified in the paper Anisotropic Gauss Filter It can be broken down into thinking ,y One dimensional Gaussian filtering with two different directions , among x,y It doesn't have to be vertical .

Now let's look at the decomposition process .

A simple isotropic two-dimensional Gaussian convolution filter is as follows

When x,y When the direction scaling is different, we get the anisotropic two-dimensional Gaussian filter, as shown in the figure

Of course, we can also do filtering in other directions , Let's set the rotation angle to θ Pictured , Then the coordinates after rotation are the same as x,y The coordinate relationship is

So we can get a general expression

among u Shaft for θ Direction ,v The axis is perpendicular to θ Direction .

According to the Fourier transform, we know that , Spatial convolution is equal to frequency multiplication

So if the Fourier transform of a linear filter can be written as two respectively about Wx,Wy The form of multiplication of equations , So in space, he can write the convolution of two subterms

So we can   The Fourier transform of is written as follows :


That is to say

However, we are only interested in x,y Interested in , So we will Decompose into


Then we can get a11,a12,a13 The expression of

Once again, our goal is to decompose the anisotropic Gaussian filter into a x Direction and an extension One dimensional filtering of direction .

Easy to decompose , We (10) Write all and Wy Nothing to do with Wy About the additive form

And put in (10) And then we get

According to the nature of the index, it can also be written as

Then we do the inverse Fourier transform and we get

The first item means x Direction filtering

The second means wave filtering

among ,

So far, the decomposition is complete :

In this paper, the author applies recursive filter Go and do it , Specific need to refer to the source code anigauss.c

The specific effect is as shown in the figure

Anisotropic gauss filter More articles about

  1. Two dimensional Gaussian filter (gauss filter) The implementation of the

    We use a two-dimensional matrix to represent the binary Gaussian filter , Obviously, the concrete form of this two-dimensional matrix only depends on its shape (shape) of : def gauss_filter(kernel_shape): In order to realize two-dimensional Gaussian filter , We need to define binary Gauss first ...

  2. opencl gauss filter Optimize ( 3、 ... and )

    1. According to the last two final results : Using normal buffer,Horizontal 5ms, Vertical 17 ms Use image buffer:Horizontal 9.4ms, Vertical 6. ...

  3. opencl gauss filter Optimize ( Two )

    1.buffer Use image The way :Horizontal And Vertical Algorithm is the same , Common demand 30ms,wait time 19ms. const sampler_t sampler = CLK_ ...

  4. opencl gauss filter Optimize ( One )

    Platform: LG G3, Adreno 330 ,img size 3264x2448 C code neon GPU 300 60 29 Company :ms 1. At present, it is the fastest way to decompose according to the following line and column 29m ...

  5. Texture Filter Medium Bilinear、Trilinear as well as Anistropic Filtering

    1. Why do we need to texture filter( Texture filtering )? Our texture is to be pasted on the surface of 3D graphics , And in three dimensions pixel Center and texture texel The center is not the same (pixel Not necessarily texture ...

  6. A brief introduction to anisotropic filtering Anisotropic Filtering(AF)

    This paper mainly introduces the knowledge of anisotropic filtering from the Internet . Link to the original text :http://www.linuxgraphics.cn/graphics/using_anisotropic_texture_filteri ...

  7. {ICIP2014}{ List of included papers }

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  8. anisotropy texture filtering

    http://www.extremetech.com/computing/51994-the-naked-truth-about-anisotropic-filtering 1.  Why do we need to ...

  9. 【 Learning notes 】Learning OpenCV3——Ch8 working with video

    Reading Video with the cv::VideoCapture Object Three ways to create objects : // 1. Input filename cv::VideoCapture::Vid ...

Random recommendation

  1. java Of string Common operations

    import java.util.*; public class Demo3 { public static void main(String args[]){ String str = " ...

  2. Hibernate Bidirectional many to many object relational model mapping

    1 two-way many-to-many business model : Describe employees and projects One employee can participate in multiple projects at the same time A project can contain multiple employees analysis : The data model of the database , Through the middle table , Set up two one-to-many constitute man ...

  3. About Expression Splicing of expression trees

    Recently, I encountered a problem in my project , This is the demand : I want to search for existing users , According to the users of id Or part of the user name to retrieve , So there are three situations Only id, Only one character in the user name , Or all of them . ...

  4. stay SharePoint 2010 Access data in

    turn :http://blog.banysky.net/?p=81001 What are the key methods of data access ? | Use the query class | Use SPQuery | Use SPSiteDataQuery | Use LINQ ...

  5. Android Studio IDE Out of Memory

    scene : Tried all kinds of ways ,IDE reinstall , Restart , Set up IDE MEMORY size JDK MEMORY No size Finally in the FILE->INVALIDATE CACHES/RESTART After clicking restart in ...

  6. web Share the facebook

    utilize meta Turn your page into a rich media file , utilize facebook Of open Graph Such as your html The page wants to be shared as an image <meta property="og:image ...

  7. Rust2018

    Rust There has been a 2 This is a Chinese book << Explain profound theories in simple language Rust>> <<Rust The tao of programming >> With aync Of rust 2019 It's going to be better see async , ad locum htt ...

  8. A way of leading to emwin in EDIT Control is not displayed

    @2018-12-11 [ Notes ] The design interface uses EDIT Control , But it is misused in its initialization statement text-color attribute API, Results in the control EDIT Medium Text Unable to display , As follows hItem ...

  9. java.lang.IllegalArgumentException: Attribute &#39;items&#39; is required and must be a Collection, an Array or a Map

    It's probably about items It was written as item Cause this mistake

  10. build ssm Steps for

    build SSM Steps for ----------------------------- 1. establish web engineering 2. hold SSM Do everything you need jar Import into project 3.web.xml 1.Springmvc Front end controller for , If ...