رفتن به مطلب

کدهای آماده فیلتر گابور (Gabor Filter) برای استخراج ویژگی در پردازش تصویر


ارسال های توصیه شده

در كاربردهاي مختلف بينايي كامپيوتر از قبيل آناليز بافت و آشكارسازي لبه، توابع گابور بطور وسيعي استفاده شده اند. فيلتر گابور يك فيلتر خطي و محلي است. هسته كانولوشن فيلتر گابور حاصلضرب يك تابع نمايي مختلط و گوسين است. فيلترهاي گابور درصورتي كه به طور مناسب و دقيق تنظيم شوند، عملكرد بسيار مناسبي در تشخيص ويژگي هاي بافت و لبه بافت دارند. ويژگي ديگر فيلترهاي گابور درجه تفكيك مشترك بالاي آنهاست .اين بدان معني است كه پاسخ آنها هم در حوزه مكان و هم در حوزه فركانس كاملا محلي و قابل تنظيم كردن است.

Complex

8a17593f6f2c212b36ef49771a05f0b1.png

 

 

Real

7f773702458b003fdc813e4dc76f74e1.png

 

Imaginary

f13f2b65f6219c93667a94b85a88d6ce.png

 

where

d68e7c786c169ceabfc606f06fdf00be.png

 

and

130935c72889358f1b37019ad92ac035.png

 

In this equation, e05a30d96800384dd38b22851322a6b5.png represents the wavelength of the sinusoidal factor, 50d91f80cbb8feda1d10e167107ad1ff.png represents the orientation of the normal to the parallel stripes of a Gabor function, 19df1c2726ed43128440c1157f72a937.png is the phase offset, 9d43cb8bbcb702e9d5943de477f099e2.png is the sigma/standard deviation of the Gaussian envelope and 334de1ea38b615839e4ee6b65ee1b103.png is the spatial aspect ratio, and specifies the ellipticity of the support of the Gabor function.

از تعدادی از فیلتر های گابور با فرکانس و جهت متفاوت برای استخراج ویژگی استفاده می شود. در اینجا مثالی از نحوه ی استخراج ویژگی به کمک فیلتر گبور توضیح داده شده هست. کد متلب که روی ویکی پیدیا قرار داده شده هم اینجا قرار میدم:

 

function gb=gabor_fn(sigma,theta,lambda,psi,gamma)


sigma_x = sigma;
sigma_y = sigma/gamma;

% Bounding box
nstds = 3;
xmax = max(abs(nstds*sigma_x*cos(theta)),abs(nstds*sigma_y*sin(theta)));
xmax = ceil(max(1,xmax));
ymax = max(abs(nstds*sigma_x*sin(theta)),abs(nstds*sigma_y*cos(theta)));
ymax = ceil(max(1,ymax));
xmin = -xmax; ymin = -ymax;
[x,y] = meshgrid(xmin:xmax,ymin:ymax);

% Rotation 
x_theta=x*cos(theta)+y*sin(theta);
y_theta=-x*sin(theta)+y*cos(theta);

gb= exp(-.5*(x_theta.^2/sigma_x^2+y_theta.^2/sigma_y^2)).*cos(2*pi/lambda*x_theta+psi);

:100: توی این تاپیک کدهای متلب که برای فیلتر گابور و یا برای استخراج ویژگی به کمک این فیلتر ها از تصویر نوشته شده رو قرار میدم. بحث در مورد این کدها هم داخل همین تاپیک مطرح بشه. دوستانی که از این کدها هم استفاده می کنن، می تونن همینجا برای بقیه هم توضیح بدن، مثلا مزیت ها و معایبشون رو بیان کنن.

 

منبع پارگراف اول: بهبود روش هاي ناحيه بندي تصاوير MR مغز انسان با استفاده از ويژگي هاي بافت تصوير

لینک به دیدگاه
Gabor Feature Extraction

by

Mohammad Haghighat
06 Dec 2013 (Updated 07 Apr 2014)

This program generates a custom Gabor filter bank; and extracts the image features using them.


kqsar6nilbaur74bszwj.jpg




I WILL APPRECIATE IF YOU CITE OUR PAPER IN YOUR WORK.



First function named "gaborFilterBank" generates a custom-sized Gabor filter bank. It creates a u*v array, whose elements are m by n matrices; each matrix being a 2-D Gabor filter.

Second function named "gaborFeatures" extracts the Gabor features of the image.
It creates a column vector, consisting of the image's Gabor features.
At the end of each file there is a Show section that plots the filters and shows the filtered images. These are only for illustration purpose, and you can comment them as you wish.

Details can be found in:

M. Haghighat, S. Zonouz, M. Abdel-Mottaleb, "Identification Using Encrypted Biometrics," Computer Analysis of Images and Patterns, Springer Berlin Heidelberg, pp. 440-448, 2013.




منبع (تعداد دانلود 30 روز گذشته منبع: 342)

Gabor (www.noandishaan.com).zip

لینک به دیدگاه
2D Gabor Filter(Ver1,2,3)

by

Ahmad Poursaberi
13 Jun 2004 (Updated 10 Nov 2004)

To design 2D Gabor filter and apply it to image.


Recent studies on Mathematical modeling of visual cortical cells [Kulikowski/Marcelja/Bishop:1982] suggest a tuned band pass filter bank structure. These filters are found to have Gaussian transfer functions in the frequency domain. Thus, taking the Inverse Fourier Transform of this transfer function we get a filter characteristics closely resembling to the Gabor filters. The Gabor filter is basically a Gaussian (with variances sx and sy along x and y-axes respectively) modulated by a complex sinusoid (with centre frequencies U and V along x and y-axes respectively).

Gabor filters are used mostly in shape detectin and feature extractin in image processing.

function [G,gabout] = gaborfilter1(I,Sx,Sy,f,theta);
from 'gaborfilter1' with different f(Frequency) and theta(Angle).
for example

f:0,2,4,8,16,32
theta = 0,pi/3,pi/6,pi/2,3pi/4

then for any input image like(eg. stereo.jpg)

you have 6x5 = 30 filtered images.

You can choose your desired angles or frequencies.

You can put nominaly Sx & Sy = 2,4 or some one else.

For instance I tested above example on ('cameraman.tif')(in MATLAB pictures)

I = imread('cameraman.tif');
[G,gabout] = gaborfilter1(I,2,4,16,pi/3);
figure,imshow(uint8(gabout));





منبع (تعداد دانلود 30 روز گذشته منبع: 130)

gaborfilter (www.noandishaan.com).zip

لینک به دیدگاه
Gabor filter

by

Gao Yang
11 Mar 2009 (Updated 17 Nov 2010)

Generates Gabor filters using bandwidth, aspect ratio, phase, wavelength and angle as parameters.


3bt0laj20fgi23aamv.png



implements a Gabor filter for image processing. From the comments and through my own use, the implementation seems to have limited freedom, and also the variances are defined in the original x,y instead of the rotated x', y' directions.



The code is a modified version based on http://en.wikipedia.org/wiki/Gabor_filter following the conventions and parameters used in http://matlabserver.cs.rug.nl/edgedetectionweb/web/edgedetection_params.html.

The function accepts scalar inputs only, and each call generates one filter. The filter generated is always real. Should you wish to build a complex Gabor filter, you may use (0 phase) + j(pi/2 phase). Filtering can be performed using conv2( ) or imfilter( ).

An example file is included, which mimics the behavior of
http://matlabserver.cs.rug.nl/edgedetectionweb/web/index.html at default settings with Lena.jpg image as input. Note that the scaling of numbers is different from the web-app, but consistent with the formulae in http://matlabserver.cs.rug.nl/edgedetectionweb/web/edgedetection_params.html

Update 18-Nov-2010: Thanks to Rachel (see comment below), I have corrected a mistake in the example file. The results are unchanged though. Also, the cs.rug.nl website seems offline.




منبع (تعداد دانلود 30 روز گذشته منبع: 109)

gabor (www.noandishaan.com).zip

لینک به دیدگاه
Gabor Image Features


by

Manohar
30 Oct 2012

Computation of Gabor Features - Mean Squared Energy, Mean Amplitude


PHASESYM - Function for computing gabor features of a gray-scale image

This function calculates gabor features. Mean-squared energy & meanAmplitude
for each scale % and orientation is returned.

There are potentially many arguments, here is the full usage:

[gaborSquareEnergy, gaborMeanAmplitude] = ...
phasesym(im, nscale, norient )
NOTE: nscale & norient are optional arguments


However, apart from the image, all parameters have defaults and the
usage can be as simple as:

[gaborSquareEnergy, gaborMeanAmplitude ]= phasesym(im);

Arguments:
Default values Description

nscale 5 - Number of wavelet scales, try values 3-6
norient 6 - Number of filter orientations.

Return values:
msEnergy - Mean square energy
orientation - Mean amplitude


The convolutions are done via the FFT. Many of the parameters relate to the
specification of the filters in the frequency plane. The values do not seem
to be very critical and the defaults are usually fine. You may want to
experiment with the values of 'nscales' and 'k', the noise compensation factor.


For maximum speed the input image should have dimensions that correspond to
powers of 2, but the code will operate on images of arbitrary size.

See Also: PHASECONG, PHASECONG2, GABORCONVOLVE, PLOTGABORFILTERS

References:
Peter Kovesi, "Symmetry and Asymmetry From Local Phase" AI'97, Tenth
Australian Joint Conference on Artificial Intelligence. 2 - 4 December
1997. http://www.cs.uwa.edu.au/pub/robvis/papers/pk/ai97.ps.gz.

Peter Kovesi, "Image Features From Phase Congruency". Videre: A
Journal of Computer Vision Research. MIT Press. Volume 1, Number 3,
Summer 1999 http://mitpress.mit.edu/e-journals/Videre/001/v13.html

Kuse, Manohar, Yi-Fang Wang, Vinay Kalasannavar, Michael Khan, and Nasir Rajpoot.
"Local isotropic phase symmetry measure for detection of beta cells and lymphocytes."
Journal of Pathology Informatics 2 (2011).

Naik, S., et al. Automated gland and nuclei segmentation for grading of prostate and breast
cancer histopathology. in IEEE International Symposium on Biomedical Imaging (ISBI). 2008.
IEEE.


April 1996 Original Version written
August 1998 Noise compensation corrected.
October 1998 Noise compensation corrected. - Again!!!
September 1999 Modified to operate on non-square images of arbitrary size.
February 2001 Specialised from phasecong.m to calculate phase symmetry
July 2005 Better argument handling + general cleanup and speed improvements
August 2005 Made Octave compatible.
January 2007 Small correction and cleanup of radius calculation for odd
image sizes.
May 2011 Modified by manohar kuse to for compuation of Isotropic Phase Symmetry
Oct 2012 Modified by manohar kuse to for computation of sqare energy and mean amplitude gabor features

Copyright © 2011-2012 Manohar Kuse
European Center for Nuclear Reseach
CERN, Geneva, Switzerland
http://cern.ch/mkuse

Copyright © 1996-2005 Peter Kovesi
School of Computer Science & Software Engineering
The University of Western Australia
http://www.csse.uwa.edu.au/

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

The software is provided "as is", without warranty of any kind.





منبع (تعداد دانلود 30 روز گذشته منبع: 94)

Gabor_Image_Features (www.noandishaan.com).zip

لینک به دیدگاه
Gabor filtering on an image

by

Deepak Kumar Rout
18 Sep 2010 (Updated 09 Sep 2013)

Application of gabor filter on image


gc39ysff95y3za10q3yl.jpg




Application of gabor filter on image







منبع (تعداد دانلود 30 روز گذشته منبع: 77)

gab (www.noandishaan.com).zip

لینک به دیدگاه
Gabor wavelet filter for texture extraction

by

Jasmine John
28 Mar 2005 (Updated 29 Mar 2005)

Creates a gabor wavelet filter for texture extraction.




The orientation and scale can be changed in this program to extract texture information.Here 3 scales and 4 orientation was used




منبع (تعداد دانلود 30 روز گذشته منبع: 61)

gaborcreate (www.noandishaan.com).zip

لینک به دیدگاه
2D Gabor Wavelets

by

Zhi Chai
14 Jul 2008 (Updated 15 Jul 2008)

Create and show 2D Gabor Wavelets

Function in GaborWavelet.m create a Gabor Wavelet kernel.GaborExample.m show the Gabor wabeletskernel at five different scales and eight different oritations.





منبع (تعداد دانلود 30 روز گذشته منبع: 59)

Gabor (www.noandishaan.com).zip

لینک به دیدگاه
Gabor filter bank

by

Darko Juric
13 Jun 2011 (Updated 02 Jul 2011)

Generates Gabor filter bank


5uyzil6slln0srbzfad.jpg


Features of this implementation of Gabor:- has paramaters to control filter size, orientation, postion and frequency



- has ability to compensate DC component
- kernel contains functions to extract amplitudes, phases, real and imag parts
- can show filter bank and responses
- convolution (and feature extraction) can be done by calling only one function

Warning:
requires Matlab >=7.6 (OOP syntax)





منبع (تعداد دانلود 30 روز گذشته منبع: 62)

Gabor (www.noandishaan.com).zip

لینک به دیدگاه
Gabor Wavelets

by

Mohammad Haghighat
29 May 2014 (Updated 29 May 2014)

This program generates a custom Gabor filter bank; and extracts the image features using them.


ppl88reyk455tld3h8z.jpg


First function named "gaborFilterBank" generates a custom-sized Gabor filter bank. It creates a u*v array, whose elements are m by n matrices; each matrix being a 2-D Gabor filter.


Second function named "gaborFeatures" extracts the Gabor features of the image.
It creates a column vector, consisting of the image's Gabor features.
At the end of each file there is a Show section that plots the filters and shows the filtered images. These are only for illustration purpose, and you can comment them as you wish.

Details can be found in:

M. Haghighat, S. Zonouz, M. Abdel-Mottaleb, "Identification Using Encrypted Biometrics," Computer Analysis of Images and Patterns, Springer Berlin Heidelberg, pp. 440-448, 2013.

I WILL APPRECIATE IF YOU CITE OUR PAPER IN YOUR WORK.







منبع (تعداد دانلود 30 روز گذشته منبع: 55)

Gabor (www.noandishaan.com).zip

لینک به دیدگاه
Improved 2D Gabor Filter

by

Stiven Schwanz Dias
26 Jan 2007 (Updated 02 Jun 2008)

Bi-dimensional Gabor filter with DC component compensation.


syc3o2oauowkuxnbcn86.jpg



This version of the 2D Gabor filter [1] is basically a bi-dimensional Gaussian function centered at origin (0,0) with variance S modulated by a complex sinusoid with polar frequency (F,W) and phase P described by the following equation:

G(x,y,S,F,W,P)=k*Gaussian(x,y,S)*(Sinusoid(x,y,F,W,P)-DC(F,S,P)),

where:

Gaussian(x,y,S)=exp(-pi*S^2*(x^2+y^2))
Sinusoid(x,y,F,W,P)=exp(j*(2*pi*F*(x*cos(W)+y*sin(W))+P)))
DC(F,S,P)=exp(-pi*(F/S)^2+j*P)

The following reference will be helpful to understand how setting the Gabor parameters:
[1] Movellan, J. R. - Tutorial on Gabor Filters. Tech. rep., 2002.






منبع (تعداد دانلود 30 روز گذشته منبع: 43)

GaborFilter (www.noandishaan.com).zip

لینک به دیدگاه

2D and 3D Gabor Filter Creators


by

Frederick Bryan
09 Jul 2013

Can generate 2D or 3D Gabor filter kernels. Parameters enable almost any kernel to be created.


ak4qb2ls7gtj0o7hm38.png


2D is fully functional.



3D is an really-really almost there implementation. It runs, and (should be) bug-free. Help is provided and code is well commented.
The last unimplemented aspect is the ability to "roll" (in addition to yaw and pitch) the 3D kernel. The math to implement it is in the code, and all you need to do is uncomment it. I didn't do it because I'm done with it and didn't feel like thinking about the math to create an appropriately-sized meshgrid.

Also included is the 2D version and a little no-frills utility to view 3D matrices.

This was created by heavily modifying 23253: gabor_fn.m by Gao Yang

>> help gabor3_fwb
Returns 3D gabor filter.
gb=GABOR_FWB(aspect,theta,bw,psi,sigma,sz)

[aspecta, aspectb]
= 2 element array giving aspect ratios for 2 minor axis
(eg: [0.5, 1], for major [theta,phi]
= yaw and pitch of major axis (0-2*pi)
roll isn't implemented, sorry.
bw = spatial bandwidth in pixels (decreasing fine detail,), (eg: >=1)
scales the frequency of the cosine modulation
psi, = phase shift, [optional, default: 0]
sigma = scales the falloff of the gaussian, (must be >=2) [default: = bw]
+ can set to 'auto' to maintain default functionality
[x y z] = size of gabor kernel created [optional, size set automatically
to 3 standard deviations of gaussian kernel]

example call: G = gabor3_fwb([1 1], [pi/4 pi/4], 10, 0, 20);

>> help gabor_fwb
Returns 2D or 3D gabor filter.
gb=gabor_fwb(aspect,theta,bw,psi,sigma,sz)

aspect = aspect ratio (ratio of x to y), (eg: 0.5, for major theta = angle in rad of major axis, (0-2*pi)
bw = spatial bandwidth in pixels (decreasing fine detail,), (eg: >=1)
scales the frequency of the cosine modulation
psi = phase shift, [optional, default: 0]
sigma = scales the falloff of the gaussian, (must be >=2) [default: = bw]
+ can set to 'auto' to maintain default functionality
sz = size of gabor kernel created [optional, size set automatically
to 3 standard deviations of gaussian kernel]

>> help slice_slider
slice_slider(3d_volume) plots a 3d volume 1 slice at a time
on the current figure.
A slider bar allows you to slice through the volume.
Assumes that you want to look at the third dimension using
imagesc and the default colormap.
Fix it/make it better if you want to.





یه نفر برای این فایل چنین کامنتی گذاشته، که سه بعدیش درست پیاده سازی نشده:

I don't think your multiplication of the frequency response is correct for 3D Gabor. To extend to 3D it should be:


exp(j2pi(Fsin(theta)cos(phi)x'+Fsin(theta)sin(phi)y'+Fcos(theta)z')]





منبع (تعداد دانلود 30 روز گذشته منبع: 41)

gabor3_fwb (www.noandishaan.com).zip

لینک به دیدگاه
Gabor Filetr GUI

by

Nikolay S.
20 Jan 2011 (Updated 12 Sep 2012)

Design apply and learn the Gabor Filter via GUI.


rx5k7rdf6orikrxn29e.png




I've made this GUI for a couple of my students, which were learning the Gabor Filtering, and had hard a time to understand the subject. This helped them to get some intuition about what Gabor Filtering is, what are its benefits and what are its uses.

The GUI allows you to play with Gabor filters in order to understand this important topic. The user may define a Gabor Filter with all possible parameters, and to filter an image he wishes to. He then can see the filtered image, it's phase and amplitude (as it's unreal signal). The Gabor Filter can be viewed in both spatial/frequency domain, and it can be saved for future use.




:100: برای فایل دارای به Matlab App هم وجود داره، که توی ورژن های R2012b به بعد می تونه استفاده بشه، بعد از نصب در قسمت Apps قرار می گیره.


منبع (تعداد دانلود 30 روز گذشته منبع: 35)

Gabor Filter GUI App(www.noandishaan.com).zip

GaborFilterDesighnNik (www.noandishaan.com).zip

لینک به دیدگاه
  • 7 ماه بعد...
سلام.با تشکر از شما به خاطر مطالب مفیدتون.

میشه راهنمایی کنید کدوم برنامه برای تشخیص هویت و استخراج ویژگی ها میتونه بهتر باشه؟

 

سلام دوست عزیز

 

باید ببنین کدوم خروجی که نیاز دارین رو بهتون میده، فیلتر های گابور با چه ویژگی هایی نیاز دارین، با توجه به اینا می تونین کد مناسب برای کار خودتون رو پیدا کنین، کد های اول بیشتر استفاده میشن، یعنی پر طرفدار تر هستن، احتمالا کدهای کامل تر و بهتری هم هستن.:a030:

لینک به دیدگاه
  • 2 هفته بعد...

سلام.میشه یه راهنمایی کنید.

یک تصویر را در متلب بخونیم بعد فیلتر گابور رو بهش اعمال کنیم و ویژگی هایش را در بیاریم و بعد بردار ویژگی هاشو استخراج کنیم.

برنامه این کار رو میشه در اسرع زمان بگید.

لینک به دیدگاه
  • 3 ماه بعد...

با سلام.

ببخشید من میخوام فیلتر گابور را روی یک عکس اعمال کنم و ماتریس ویژگی های آن عکی رو ذخیره کنم.

مقدار جهت و فرکانس و پارامتر های دیگه فیلتر گابور رو هم نمیدونم چطور تعیین کنم که مناسب باشه.

اگه ممکنه راهنماییم کنیم چون نمیدونم از کدام یک از فایل های بالا استفاده کنم.

لینک به دیدگاه
با سلام.

ببخشید من میخوام فیلتر گابور را روی یک عکس اعمال کنم و ماتریس ویژگی های آن عکی رو ذخیره کنم.

مقدار جهت و فرکانس و پارامتر های دیگه فیلتر گابور رو هم نمیدونم چطور تعیین کنم که مناسب باشه.

اگه ممکنه راهنماییم کنیم چون نمیدونم از کدام یک از فایل های بالا استفاده کنم.

 

سلام

 

برای آشنایی با فیلتر گابور باید در موردش مطالعه کنین دیگه، کد فقط خروجی ها رو بهتون میده، مفهوم رو نمی رسونه که چی هست. یه توضیح مختصری توی پست اول گذاشته شده، سرچ کنین مطالب زیادی در موردش هست.

 

ببینین قرار نیست شما از صفر شروع کنین، همه چیز رو خودتون امتحان کنین و بهش برسین. سرچ کنین مطمئنا مقالاتی براش پیدا می کنین، ممکنه در زمینه کاری تون هم نباشه ولی مثلا از بخش استخراج ویژگیش که بر اساس فیلتر گابور باشه بتونین تو کار خودتون استفاده کنین.

حتی بعضی وقتا ممکنه همون کارای قبلی رو انجام بدین خیلی ارزشمندتر باشه تا اینکه روی چیزایی کار کنین که احتمال جواب گرفتن ازش خیلی کم باشه و فقط به صرف جدید بودن انجام بشه. رسیدن به الگوریتم یا روش جدید اصلا کار ساده ای نیست، نیاز به مطالعه و کار زیاد داره.

لینک به دیدگاه
  • 1 ماه بعد...
  • 6 ماه بعد...

یک تصویر را در متلب بخونیم بعد فیلتر گابور رو بهش اعمال کنیم و ویژگی هایش را در بیاریم و بعد بردار ویژگی هاشو استخراج کنیم.

برنامه این کار رو میشه در اسرع زمان بگید.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...