Texture Segmentation Using Gabor Filters Biology Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The present work deals with image segmentation which results in the subdivision of an image into its constituent regions or objects. The result of image segmentation is a set of segments that collectively cover the entire image or a set of contours extracted from the image. Each of the pixels in a region are similar with respect to some characteristic or computed property, such as color, intensity or texture. Specifically this project deals with texture segmentation of an image to find out the different types of textures present in the image.

In this project different type of procedures have been followed to carry out texture segmentation. Procedures starting from fundamental filter transforms till multi-resolution technique using wavelet transform have been considered. Many texture-segmentation schemes are based on a filter-bank model, where the filters called Gabor filters are derived from Gabor elementary functions. Both linear and circular Gabor filters are studied and analyzed in this aspect and how these filters are better in comparison to linear filters is also analyzed. Different types of wavelet transform techniques like Haar transform, S transform, etc. are followed and their performance regarding texture segmentation is being studied.

Chapter -1

Image Segmentation - An Introduction


1.1 Introduction

Image segmentation is often described as the process that subdivides an image into its constituent parts and extracts those parts of interest (objects). It is one of the most critical tasks in automatic image analysis because the segmentation results will affect all the subsequent processes of image analysis, such as object representation and description, feature measurement and even the following higher level tasks such as object classification and scene interpretation[3] .It basically implies partitioning a digital image into different parts or objects regions corresponding to individual surfaces, objects, or natural parts of objects[1] . It is the process of labelling and grouping each pixel and then identifying the similar regions or the groups of pixels sharing some visual characteristics. Ideally each such regions could be objects or patterns in the image. The goal of this act being to change or simplify an image into something more meaningful and easier to analyze. The field of pattern recognition involves the use of image segmentation in the initial phase to divide an input digital image into different patterns. Each region or group of pixels have some shared characteristic on the basis of which they are grouped, these characteristics maybe purely mathematical such as  based on the locality of the pixels and their surrounding ones, or visual such as color, intensity, or texture repetitiveness.

Considering image segmentation as the partition of an image into a set of non-overlapping regions whose union is the entire image, some rules to be followed for regions resulting from the image  segmentation can be stated as (Haralick, 1985):

They should be uniform and homogeneous with respect to some characteristics;

Their interiors should be simple and without many small holes;

Adjacent regions should have significantly different values with respect to the

characteristic on which they are uniform; and

Boundaries of each segment should be simple, not ragged, and must be spatially


Original Image Segmented Image

Figure 1 [1]

It is clear, then, that there is no one segmentation of an image that can be considered to be "right" . The "right'' segmentation exists only in the mind of the observer, which can change not only between observers, but within the same observer at different times. Image segmentation has applications in numerous fields such as Medical Imaging, Face Recognition, Fingerprint Recognition, Machine Vision etc.

1.2 Texture Segmentation

A typical definition of texture is ``one or more basic local patterns that are repeated in a periodic manner.''. Texture Segmentation involves partitioning or segmenting an image into various regions of repetitive patterns or textures with accuracy. The objective of this being to group regions with similar textures which might belong to the same object or class of objects. The process is carried out using the filter-bank model which uses a set of linear image filters operating in parallel to divide or decompose an input image into several output images. These filters are designed such that they simultaneously focus on a particular range of frequencies and on local spatial interactions and gives rise to the concept of joint space / spatial-frequency decomposition[2] .

1.3 Filters

A filter, in the context of optics, is a device that transmits light having certain properties (often, a particular range of wavelengths, that is, range of colours of light), while blocking the remainder. In the context of digital image processing, a filter is a system that performs mathematical operations on an image represented as a sampled, discrete-time signal to reduce or enhance certain aspects of that signal. The concept of filtering has its roots in the use of fourier transform for signal processing in the frequency domain. Filters may be linear or non-linear depending on the relation of the output with the input. 

Linear Filters are used to remove or detect unwanted or anomalous  frequencies from an input signal behaving according to the Gaussian statistical law. They tend to causes blurring in case of high frequency components like edges and small details.

Non-Linear filters use estimates to detect anomaly based on the neighboring pixels. They usually give better results when applied for spike detection or edge detection.

Some examples of filters being Band-pass, Long-pass, Short-pass, Polarizer, Laplacian, Median, Sobel, etc.

1.3.1 Band-Pass filters

A band-pass filter is a filter that passes frequencies of within a certain range and rejects frequencies outside that range. These filters can also be created by combining a low-pass filter with a high-pass filter. Bandpass is an adjective that describes a type of filter or filtering process; it is frequently confused with passband, which refers to the actual portion of affected spectrum. The two words are both compound words that follow the English rules of formation: the primary meaning is the latter part of the compound, while the modifier is the first part. Hence, one may correctly say 'A dual bandpass filter has two passbands'.

An ideal bandpass filter would have a completely flat passband (e.g. with no gain/attenuation throughout) and would completely attenuate all frequencies outside the passband. Additionally, the transition out of the passband would be instantaneous in frequency. In practice, no bandpass filter is ideal. The filter does not attenuate all frequencies outside the desired frequency range completely; in particular, there is a region just outside the intended passband where frequencies are attenuated, but not rejected. enerally, the design of a filter seeks to make the roll-off as narrow as possible, thus allowing the filter to perform as close as possible to its intended design. Band-pass filters may be categorized as Low-pass, High-pass, Band-pass, Band-stop and All-pass filters.

Low Pass Filter : passes frequencies lower than that specified.

High Pass : passes frequencies higher than that specified.

Band Pass : is a combination of high and low pass filters. It passes a limited range of frequencies.

Band Stop : blocks a range of specified frequencies.

All Pass : alters the phase relationship.

1.4 Window Function

A filter can be mathematically represented as a window function which can then be applied to a signal for processing. A window function is ideally a function that is constant inside a specified region and zero outside it. It is used for analyzing a certain region and rejecting the undesired parts. As for the practical cases, a window function is stable inside the desired region and decays fast outside, with an emphasis on trying to achieve the highest compatibility with the ideal case. The width of the main lobe determines the ability to resolve comparable strength signals, whereas the peak level of the side lobes determine the ability to resolve disparate strength signals. The Gaussian window is a typical window function used in this project work.

Figure 2 : Window function frequency response[14]

1.4.1 Gaussian Window

The Gaussian function is selected because of some unique characteristics as the fourier transform and the derivative of a Gaussian function are both Gaussian functions. This property is greatly helpful in our time-frequency analysis. Gaussian function also has a reasonable capability to resolve disparate strength signals, as it possesses the properties of a window function. A short-time fourier transform of a Gaussian gives the Gabor transform.

Figure 3 : Gaussian Window[14]

1.5 Gabor Filter

Gabor filter is a linear filter whose impulse response is defined by a harmonic function multiplied by a Gaussian function . It is optimally localized as per the uncertainty principle in both the spatial and frequency domain i.e. Δx.Δω being close to h , the metric of uncertainty . This implies Gabor filters can be highly selective in both position and frequency, thus resulting in sharper texture boundary detection .Gabor filter related segmentation paradigm is based on filter bank model in which several filters are applied simultaneously to an input image .The filters focus on particular range of frequencies .If an input image contains two different texture areas, the local frequency differences between the areas will detect the textures in one or more filter output sub-images .

Each Gabor filter is specified by a Gabor Elementary function(GEF) . GEFs can perform a joint space decomposition . Gabor filters are extensively used for texture segmentation because of their good spatial and spatial-frequency localization .

Chapter 2

Traditional Linear Gabor Filters

2.1 GEF's and Gabor Filters

Here is a brief overview of Gabor Elementary Functions(GEF's) and Gabor Filters are given . GEF's were first defined by Gabor and later extended to 2-D by Daugman .

A GEF is given by

(2.1) Where represent rotated spatial-domain rectilinear coordinates. Let (u,v) denote frequency-domain rectilinear coordinates, (U,V) represents a particular 2-D frequency. The complex exponential is a 2-D complex sinusoid at frequency and specifies the orientation of the sinusoid. The function g(x,y) is the 2-D Gaussian


Where σx and σy characterize the spatial extent and bandwidth of the filter. Thus, the GEF is a Gaussian that is modulated by a complex sinusoid. It can be shown that the Fourier transform of h(x,y) is given by


where . Thus, from (2.3), the GEF's frequency response has the shape of a Gaussian. The Gaussian's major and minor axis widths are determined by σx and σy , it is rotated by an angle θ with respect to the positive u-axis and it is centered about the frequency (U,V) . Thus, the GEF acts as a bandpass filter . In most cases, letting σx = σy = σ is a reasonable design choice . If it assumed that σx = σy = σ , then the parameter θ is not needed and the equation of GEF simplifies to


We now define the Gabor Filter Oh by

m(x,y) = Oh (i(x,y)) = | i(x,y) âŠ- h(x,y) | (2.5)

where i is the input image and m is the output.

2.2 Filter Design

Given a bipartite textured image i(x,y) consisting of known textures A and B , find the Gabor filter that best discriminates A and B in the output m(x,y) . A properly designed Gabor filter can produce an output image m(x,y) exhibiting some types of discontinuity at the texture boundaries. When the two textures differ from each other, then one designs a Gabor filter that produces a step change in m(x,y) at the texture boundaries . It is focused primarily on the case where two textures differ . Hence the proposed filter-design algorithm strives to give Gabor filters that produce step signatures in m(x,y) . In the later sections it is discussed regarding the modifications in the design procedure to overcome the texture-phase differences .

The Gabor filters is determined by the parameters U, V and as per (2.4) and (2.5) . The best Gabor filter must be found among the space of all possible Gabor filters, as determined by (U,V,σ) . To do this a metric for assessing filter quality is needed . In the case of a step signature, the quality of a Gabor filter can be determined by the slope and amplitude of the step it produces.

2.2.1 Filter Design Algorithm:

Select a value of σ based on structure of the textures .

Simultaneously apply a large number of Gabor filters (U, V, σ) to neighborhoods about a set of randomly selected points within each texture sample . More Specifically, for each texture A and B :

Randomly select a set of points within a texture.

For each point (X,Y) Є S , compute [FX,Y(U,V)]

where ,


g is the Gaussian having parameters σx = σy = σ and i is the given texture sample . F is the windowed Fourier transform(WFT) of i centered at (X,Y) and g is the window function . [FX,Y(U,V)] corresponds to the output of a Gabor filter (U,V,σ) applied to point (X,Y) . Like an N*N DFT(Discrete Fourier transform),the computation of FXY(.,.) is equivalent to simultaneously applying N*N different Gabor filters at the point (X,Y) . This computation hence, effectively spans the range of filter center frequencies (U,V) .

2.3 Algorithm Issues

2.3.1 Gabor-filter Application via Windowed Fourier Transform(WFT)

The second step in our design method requires the parallel application of a family of Gabor filters to an image at a point . This is a special case of applying a windowed Fourier transforms at the image point.


Where w is the window function , i is the image to be transformed , and f is a function of frequency (U,V) and window position (X,Y) .

To show this let p be the result of convolving an image I with a GEF h :

Expanding h and considering one specific point in the convolution (X,Y) gives


After rearranging terms and letting the window function

w(x,y) = g(-x,-y)


where K = exp [ j2Ï€ (UX + VY)] .

It can be observed that (2.7) and (2.9) are equivalent except for the constant K . Thus,

|p(X,Y)| = |FX,Y(U,V)| .

The development above is based on continuous functions . For the discrete case, the WFT is approximated as a DFT . Then (X,Y) refer to the image pixels and (U,V) refer to discrete spatial frequencies . For the DFT implementation, an image is multiplied by a truncated Gaussian centered at pixel (X,Y) . The DFT magnitude approximate of a family of Gabor filters to the image at pixel (X,Y), where each filter's center frequency corresponds to one of the DFT frequencies . Thus computing a single discrete WFT is equivalent to determining the output from a family of Gabor filters at a single point, where the center frequencies of the filters span the frequency domain of the image .

Clearly, the filter-selection algorithm does not consider all possible center frequencies, an undoutable task . Gabor filters having center frequencies (U+δU , V+δV) tend to perform in a similar manner as filters having center frequency (U,V) .

2.4 Discussion About Filter Design Algorithm

Taking the two cases for h(x,y) as discussed above the following two algorithms are developed . For this purpose it is assumed that , a bipartite texture image I(x,y) is given and whose both the textures A and B are known . The algorithm under consideration will implement the Gabor filter which best discriminates the texture A and B in the output image m(x,y) .

A perfectly designed Gabor filter would produce an output image m(x,y) which exhibits some kind of discontinuity or signature at the boundary.

When two textures differ from each other , then a Gabor filter produces a step change in m(x,y) at the texture boundary .

There is a case where the two textures A and B may be the same but offset to each other . In such a case the properly selected Gabor filter will produce a valley discontinuity at the texture boundary . Such an output is referred as a valley signature .

Primarily it is focused on the case where two textures differ . Hence the proposed filter design algorithm strives to give Gabor filters that produce step change in m(x,y) . Theoretically a Gabor filter is determined by the parameters U, V, σ . By carefully selecting the values of these three parameters, the optimal Gabor filter is designed.

2.4.1 Algorithm - 1

Step 1 - Select values for U, V, σ .

Step 2 - Convert the input image into a 2-D matrix, say i(x,y) .

Step 3 - Calculate the value of h i.e. the impulse response of the filter, (which is also a 2-D matrix) by the following formula .

Step 4 - Compute the convolution of i(x,y) with h(x,y) , say it is m(x,y), which is the matrix corresponding to the output image

m(x,y) = Oh (i(x,y)) = | i(x,y) âŠ- h(x,y) | where Oh is the filter .

Step 5 - Obtain the output image . If it cleanly discriminates the two textures then stop , else goto step 1 to select other values of U, V, σ and repeat the procedure.

2.4.2 Algorithm - 2

Step 1 - Select values for U, V, σx , σy .

Step 2 - Convert the input image into a 2-D matrix, say i(x,y) .

Step 3 - Calculate the value of h i.e. the impulse response of the filter, (which is also a 2-D matrix) by the following formula .

Step 4 - Compute the convolution of i(x,y) with h(x,y) , say it is m(x,y), which is the matrix corresponding to the output image

m(x,y) = Oh (i(x,y)) = | i(x,y) âŠ- h(x,y) | where Oh is the filter .

Step 5 - Obtain the output image . If it cleanly discriminates the two textures then stop , else goto step 1 to select other values of U, V, σ and repeat the procedure.

Chapter 3

Circular Gabor Filter and Rotation Invariance

3.1 Preview

Traditional Gabor function (TGF) is a Gaussian function applied to an oriented complex sinusoidal signal. It is mathematically represented as

G(x , y) = g(x , y)*exp(2Ï€jF(x + y )) (3.1)

where g(x , y) = (1/2πσ2) * exp(-(x2+y2)/2σ2) (3.2)

g(x , y) represents the Gaussian function which is symmetric along the vertical axis. The parameters F and θ specify the frequency and orientation of the sinusoidal signal. σ is the scale parameter and θ lies in the range of [0˚-360˚] .Gabor filters can achieve the optimal location in both the spatial and frequency domain.

3.2 Circular Gabor Filter and Rotation Invariance

Traditional Gabor filters are mostly used for detection of texture direction. But in rotation invariant analysis the orientation of the texture is ignored. Thus traditional Gabor filters are less suitable for this purpose . The sinusoid of the TGF varies in one direction . If the sinusoidal varies in all directions, it is circular symmetric . This results in a new type of Gabor filter known as Circular Gabor filter(CGF). It is represented as

G(x , y)=g(x , y) * exp(2πjF(√x2 + y2)) (3.3)

Where F is the central frequency of a circular Gabor filter . The circular Gabor filters properties can be more explicitly understood in the frequency domain .

The Fourier transform of the circular Gabor filter is represented as

F(u , v) = √(2π)/2 α exp (-(√(u2 + v2) - F)2)/2α2) (3.4)

Where α = 1/2πσ

In Gabor based texture analysis the texture property of each pixel is revealed by the projection of the textured surface i(x,y) onto a complex Gabor wavelet .

Let us consider a circular Gabor filter as

X = (3.5)

A texture image I(x', y') is rotated by an amount Δ θ ,then the projection of I(x' , y') becomes

X' = (3.6)

Where = x2 + y2 = x'2 + y'2 and

x = x'+ y' , y = -x' + y'

The above equation can be represented

X' = X = (3.7)

From this equation, it has been proved that when an image is rotated , its projection onto a circular Gabor wavelet remains the same. Hence it provides the rotation invariance property.

3.3 Selection of Parameters

For a circular Gabor filter, F and σ must satisfy the condition with respect to bandwidth b as

F*σ = λ (2b + 1) / (2b - 1) (3.8)

Where λ = √(2)/2π , b =

Lower frequencies may provide good texture segmentation results.

Frequency may be chosen from the interval of[-0.5 - 0.5] by an image of size N. The highest and the lowest frequency is FH and FL respectively.

FH = 0.25 + 2(I - 0.5)/N 0.25 < = FH < 0.5 (3.9)

FL = 0.25 + 2(I-0.5)/N 0 < FL < 0.5 (3.10)

3.4 Texture Segmentation

In order to recognize the textures, the texture features are calculated from the filtered image as given in the following

Ψ(x , y) = r2 (x , y) âŠ- m (x , y) (3.11)

r2 (x , y) represents the energy of the filtered image and âŠ- shows the convolution .m (x , y) is the mask to obtain texture segments. Mask windows of minute size can detect finer texture measurements. Here a Gaussian window is used to local texture energy. Pattern clustering algorithm is required to identify the regions .

3.5 Invariant Texture Segmentation algorithm using Circular Gabor filter

3.5.1 Algorithm - 3 :

Step 1 - Select the value of F.

Step2 - Convert the image into a 2-D matrix.

Step3 - Compute the impulse response of the filter by the following formula

G (x , y) = g (x , y) * exp (2Ï€jF(x + y)

where g(x , y) = (1/2πσ2) * exp(-(x2+y2)/2σ2) Step4 - Calculate the filtered output r (x , y) by passing the input image through the filter whose impulse response is obtained in Step3.

Step5 - Calculate the energy of the filtered image E = r2 (x , y)

Step6 - The output image is obtained by the equation Ψ(x , y) = E âŠ- m(x , y) where m(x,y) is the mask window . The window size is calculated by its standard deviation σs ,

whose value is chosen as σs = 2σ.

So , m(x , y) = (1/8πσ2)*exp(-(n12 + n22)/4σ2)

Step7 - Obtain the output image Ψ(x , y)

3.6 Comparison :

As compared to traditional Gabor filters , circular Gabor filters produces betters results for texture segmentation.

The circular Gabor filter is rotation invariant , but the traditional Gabor filters are not rotation invariant as we have proved mathematically.

In traditional selection scheme two frequencies are chosen. But in central frequency scheme of the circular Gabor filters produces better segmentation results.

Chapter 4

Segmentation using Wavelet transform

4.1 Wavelet and Wavelet Transform

A wavelet is a wave-like oscillation with an amplitude that starts out at zero, increases, and then decreases back to zero . It can be viewed as a "brief oscillation" similar to oscillations recorded by a seismograph or heart monitor . Wavelets are crafted to exhibit specific properties that make them useful for signal processing . Wavelets can be combined, using a "shift, multiply and sum" technique called convolution ,convolution is generally performed with parts of an unknown signal to extract valuable information from the unknown signal . Wavelets can be used to extract information from many kinds of data like audio signals ,images ,etc . A set of complementary wavelets will deconstruct data without gaps or overlap and it makes the deconstruction process reversible . Thus, sets of complementary wavelets are useful in wavelet based compression/dilation algorithms where we require to recover the original information with minimum loss or it can be loss-less.

More technically, a wavelet is a mathematical function used to divide a given function or continuous-time signal into different scale components .The wavelet functions are scaled and translated versions of a gradually degrading oscillating wavelet. Usually one can assign a frequency range to each scale component . Each scale component can then be studied with a resolution that matches its scale . A wavelet transform is the representation of a function by wavelets . Traditional Fourier transforms are unable to represent functions that contain discontinuities and sharp peaks, and for deconstructing and reconstructing finite, non-periodic and non-stationary signals. But wavelet transform can represent these signals. Wavelet transforms are classified into discrete wavelet transforms (DWTs) and continuous wavelet transforms (CWTs). Note that both DWT and CWT are continuous-time (analog) transforms. Wavelet series is a square-integrable representation.

4.1.1 Comparison with Fourier transform :

The wavelet transform have advantages over the Fourier transform, in which signals are represented as a sum of sinusoidal functions. The primary difference is that wavelets are localized in both time and frequency whereas the standard Fourier transform is only localized in frequency. The Short-time Fourier transform (STFT) is similar to the wavelet transform, in STFT time and frequency are localized, but there occurs the frequency/time resolution trade-off .Wavelets give a better signal representation using Multi-resolution analysis(MRA), with balanced resolution at any time and frequency.

The discrete wavelet transform is less computationally complex, taking O(N) time as compared to O(N log N) for the fast Fourier transform(FFT) . This computational advantage is not inherent to the transform, but the choice of a logarithmic division of frequency is advantageous, in contrast to the equally spaced frequency bands of the FFT .  Complexity is not applied when the filter size is related to the signal or image size .

4.1.2 Multiresolution Analysis :

A multiresolution analysis (MRA)  is the design method of most of the practically relevant discrete wavelet transforms (DWT) and the justification for the algorithm of the fast wavelet transform (FWT) .Multi-resolution analysis (MRA) is often used for signal representations and signal processing because it can represent signals at the split resolution and scale space .

4.2 Wavelet Based Texture Segmentation

Texture analysis is considered to be an important part of many tasks such as shape determination, image processing, etc. Features associated with individual pixels can be extracted by the technique called wavelet transform . This technique has been taken as a part of this project . We have used the Haar transform for image decomposition and feature extraction as a basic tool used in the wavelet transform . Haar transform is used for image compression and image pixels feature extraction using decomposition and reconstruction matrices .The Haar wavelet decomposition includes specific feature extraction like energy, contrast and feature based segmentation.

Some of the segmentation methods such as "Thresholding" detect boundaries between regions based on the discontinuity of gray scale. Region growing is a wavelet based image segmentation method which is based on seed points. Like the circular Gabor filter, in this type of segmentation data clustering algorithms are used. Blob detectors refer to modules that aim at partitioning and recognizing different regions that are either darker or brighter corresponding to neighbor pixels. Blob detectors are mostly used for texture analysis and recognition. Lindenborg's watershed-based algorithms is a based on pre-sorting order of pixels and the connected regions have same intensity, in the order of decreasing intensity values. The algorithm is used for texture segmentation.

4.3 Haar wavelet for Image Decomposition

Haar wavelet is a sequence of functions. It is the simplest wavelet transform. It is a compression process . The Haar wavelet's mother wavelet function ψ(t) can be described as

Ψ(t) = 1 0 < = t <1/2

= -1 ½ < =t <1

= 0 otherwise

and its scaling function φ(t) can be described as

φ(t) = 1 0 < =t <1

= 0 otherwise

In 1-D, Haar wavelet transforms a 2-element matrix [x(1) , x(2)] into another 2-element matrix[y(1) , y(2)] by the relation

= T (4.1)

where T is a orthonormal matrix defined by

T =

In 2-D, x and y becomes 2⨉2 matrix defined by the relation . The transformation can be carried out , at first pre-multiplying the columns of x by T and then post-multiplying the rows of the result by TT .

y = T x TT (4.2)

x = TT y T (4.3)

To compute the transform of an complete image, we first divide the image in 2⨉2 blocks and apply the equation(4.2).The sub-images are shown below

Figure 4(a) : Original Image Figure 4(b) : Haar transform

4.4 Image Segmentation Using Wavelet Transform

4.4.1 Image Feature Extraction :

A constant texture is identified by local properties of a region. Texture analysis has three main parts: classification, segmentation, shape recovery from the texture. In this algorithm , texture segmentation is carried out by comparing the co-occurrence matrix features such as energy, contrast of size N⨉N derived from discrete wavelet transform. We are using adjacent sub-images Ci,j of size 4⨉4, both horizontally and vertically.

Algorithm For Feature Extraction :

Decomposition using discrete wavelet transform with Haar transform, of each sub-image Ci,j of size 4⨉4 taken from top left corner.

Computation of the co-occurrence matrix features energy and contrast obtained from each sub-image Ci,j

Obtain new feature matrices

Energy =

Contrast =

4.4.2 Pixel Difference :

A new matrix with differences is obtained after the computation of the co-occurrence matrix features . The difference is calculated between value by value of features in all orientations . It results in the formation of the segmentation band at texture boundaries .

4.4.3 Circular Averaging Filtering :

High differences of feature values produces noise . The noise elements are removed by applying a circular averaging filter . Initially the filter with suitable radius is formed, then applied for a segmented image to minimize or wipe off the noise .

4.4.4 Thresholding & Skeletonizing :

A binary image is obtained from the processed image using global image threshold . To process this some morphological operations are used . At first, "clean" removes isolated pixels (Individual 1's surrounded by 0's) and the "skel" operation removes pixels from the boundaries of pixels .Thus the segmented image of particular interest is obtained .

4.5 S Transform

S transform is a generalization of the Short-time Fourier transform, extending the Continuous wavelet transform and overcoming some of its disadvantages . Modulation sinusoids are fixed with respect to the time axis; this localizes the scalable Gaussian window dilations and translations in S transform. Moreover, the S transform doesn't have a cross-term problem and yields a better signal clarity than Gabor transform . However S transform has its own disadvantages like it requires high complexity computation .

Continuous wavelet transform (CWT) transforms a continuous function into a highly redundant function of two continuous variables - translation and scale . The resulting transform is very essential for time-frequency analysis .

For a square-integrable function f(x) the CWT is defined as

(4.4) where (4.5)

S and Ï„ are called scale and translation parameters .

S transform of a function f(t) is defined as a CWT multiplied by phase factor .


where mother wavelet is defined as


where dilation or compression factor S is inverse of the frequency ω .


where F(ω) is the fourier transform of f(t) . f(t) is recoverable from S(τ,ω) . Thus


4.5.1 Discrete S Transform :

Let f(kT) , k = 0,1,2 …. N-1 represent a discrete sequence corresponding to f(t) with sampling interval T . The discrete Fourier transform is given as


The discrete S transform is the projection of the vector defined by the time series f(kT) onto a set of vectors . S transform of a discrete time series f(kT) is given by

n ≠ 0 (4.11)

where f → n/NT and τ → jT .

Chapter 5

Implementation Results

5.1 Implementation of Traditional Linear Gabor filter

5.1.1 Algorithm 1 :

We have taken different values of U, V, σ and obtained different segmented output images .

Figure 5(a):Original Image Figure 5(b):σ = 1, U=0.6, V=0.8

Figure 5(c):σ = 2, U=1.2, V=1.6 Figure 5(d):σ = 3, U=1.8, V=2.4

Figure 5(e):σ = 4, U=2.4, V=3.2 Figure 5(f):σ = 4.5, U=2.7, V=3.6

5.1.2 Algorithm 2 :

We have taken different values of U, V, σx ,σy and obtained different segmented output images .

Figure 6(a):Original Image Figure 6(b):σx = 0.4, σy = 0.5 ,U=0.3,V=0.4

Figure 6(c):σx = 0.8, σy = 1.0 ,U=0.6,V=0.8 Figure 6(d):σx = 1.2, σy = 1.5 ,U=0.9,V=1.2

Figure 6(e):σx = 2.0, σy = 2.5 ,U=1.5,V=2.0 Figure 6(f):σx = 4, σy = 5 ,U=3,V=4

5.2 Implementation of Circular Gabor filter :

As per the algorithm the implementation results are as follows . Different values of σ and F are taken for the implementation purpose .

Figure 7(a):Original image Figure 7(b):σ = 0.2 , F = 0.4

Figure 7(c):σ = 0.4 , F = 0.8 Figure 7(d):σ = 0.6 , F = 1.2

Figure 7(e):σ = 0.7 , F = 1.4 Figure 7(f):σ = 0.8 , F = 1.6

5.3 Wavelet based Segmentation using Haar wavelet :

First the input image is subjected to haar transform and then followed by the steps of image segmentation using wavelet transform to get the resulting segmented image .

Figure 8(a) : Original Image Figure 8(b) : Segmented Image

Conclusion :

Image Segmentation is an essential step in pictorial pattern recognition and analysis applications. Segmentation accuracy determines the success or failure of analysis procedures. Texture segmentation is based on partitioning an image into different regions of similar textures based on a specified criterion.

We have successfully implemented the algorithms related to segmentation using Gabor filter and wavelet transform. Algorithm 1 discriminates two textures perfectly for some specific values of U, V, σ. Algorithm 2 also partitions different textures depending on the values of U, V, σx and σy. All these parameters are called optimal parameters for traditional Gabor filter. In case of the 3rd algorithm the textures are identified easily for specific values of central frequency F and doesn't vary with rotation. The segmentation results are better in case of circular Gabor filter than traditional Gabor filter. Basically wavelet transform is a part of image compression and recently it is being introduced to the segmentation field of image processing. Wavelet based texture segmentation provides better time and frequency resolution. All the results of segmentation by various algorithms are presented in the thesis.

Future Work :

To implement a new algorithm involving image segmentation using wavelet S transform and to design novel algorithm on texture segmentation using multi-resolution analysis .