Filtrul Gabor este un filtru electronic liniar al cărui răspuns la impuls este definit ca o funcție armonică înmulțită cu un gaussian . În procesarea digitală a imaginilor, acest filtru este utilizat pentru a recunoaște limitele obiectelor.
Datorită proprietății de potrivire a convoluției în domeniul timpului cu înmulțirea în domeniul frecvenței, transformata Fourier a răspunsului la impuls al filtrului Gabor este convoluția transformatelor Fourier ale funcției armonice și Gaussian.
Unde
În această ecuație , reprezintă lungimea de undă a multiplicatorului cosinus, determină orientarea normalei benzilor paralele ale funcției Gabor în grade, este defazarea în grade și este factorul de compresie care caracterizează elipticitatea funcției Gabor.
Filtrele Gabor sunt direct legate de undele Gabor , deoarece pot fi construite printr-o serie de compresii și rotații. Spațiul Gabor (convoluția unui filtru cu un semnal) este adesea folosit în diferite aplicații de imagistică , în special pentru recunoașterea irisului în sistemele de securitate biometrică și în sistemele automate de control al accesului bazate pe recunoașterea amprentelor digitale.
Pentru a construi un filtru Gabor unidimensional, se utilizează următoarea formulă: ,
Cu cât este mai mare , cu atât va fi mai plată funcția. Cu cât este mai mic , cu atât vârful va fi mai clar ca urmare a trasării funcției.
Funcția exponențială de mai sus are proprietățile unei distribuții normale a unei variabile aleatoare. Conform regulii trei sigma, aproape toate valorile exponentului se află în intervalul . Pentru analiza semnalului, valorile funcției sunt calculate în limitele specificate.
Cosinus, exponent și compoziția lor într-o funcție Gabor
Dependența de funcție de
Dependența de funcție de
Fiecare punct al semnalului de intrare este transformat în punctul corespunzător al semnalului de ieșire , prin mediarea valorilor semnalului de intrare pe zonă , luând în considerare coeficienții de greutate ai formulei Gabor.
Pentru a construi un filtru Gabor bidimensional, se utilizează următoarea formulă:
Unde: sunt abaterile standard ale nucleului gaussian, de-a lungul axelor și , care determină extinderea filtrului de-a lungul axelor, este modulația de frecvență a filtrului,
Procesarea imaginii de către filtrul Gabor se realizează prin mediarea valorilor imaginii procesate pe o anumită zonă în fiecare punct. În consecință, impunerea filtrului Gabor asupra imaginii are forma:
unde: este intensitatea imaginii originale în punctul , este intensitatea imaginii noi în punctul , este valoarea funcției Gabor, .
Dacă renunțăm la componenta sinusoidală a funcției din filtrul Gabor, aceasta va degenera într-un filtru de estompare Gaussian (Neclaritate Gaussiană) . Prin urmare, este evident că aceste două filtre au aproape același algoritm de aplicare, care diferă în unele detalii.
Din formula Gabor se poate observa că filtrul depinde de frecvența și direcția structurii cvasi-periodice a imaginii. Prin urmare, înainte de a aplica filtrul, este necesar să construiți câmpurile de frecvență și orientare pentru imaginea curentă. De obicei, pentru a simplifica sarcina, se calculează frecvența medie a imaginii, care este considerată neschimbată în fiecare punct.
Pentru a construi câmpul de direcție , pot fi utilizate mai multe metode, dintre care cea mai rapidă este metoda diferențială, care vă permite să construiți un câmp de direcție cu patru gradații.
Astfel, avand o frecventa si 4 directii, sunt prefabricate 4 filtre Gabor, cate unul pentru fiecare directie. După aceea, în fiecare punct al imaginii, filtrul este convolut cu imaginea pe o anumită zonă, ceea ce dă valoarea de ieșire a noii imagini.
Filtrul Gabor este eficient în procesarea imaginilor cu redundanță structurală având o structură cvasi-periodică. Acestea includ imagini cu amprentă, imagini cu cristalograme și interferrograme. În viața sălbatică, o culoare similară se găsește adesea la zebre, diverse feline (tigri, râși, pisici fumurii), păsări (cocoș de cocoș), pești (leporinus cu dungi) și alți reprezentanți ai florei și faunei.
Iată un exemplu de implementare a filtrului Gabor pentru pachetul Matlab :
funcția gb = gabor_fn ( sigma_x, theta, lambda, psi, gamma ) sz_x = fix ( 6 * sigma_x ); % pe baza valorii sigma a primit dimensiunea nucleului sz_x = sz_x - mod ( sz_x , 2 ) + 1 ; % dacă par - fă-o impar sz_y = fix ( 6 * sigma_x / gamma ); % pe baza valorii sigma și a coeficientului. compresia a primit cea de-a doua dimensiune a nucleului sz_y = sz_y - mod ( sz_y , 2 ) + 1 ; % dacă par - fă-o impar [ x y ] = meshgrid ( - fix ( sz_x / 2 ): fix ( sz_x / 2 ), fix ( - sz_y / 2 ): fix ( sz_y / 2 )); % acoperit % Rotire 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 + gamma ^ 2 * y_theta .^ 2 / sigma_x ^ 2 )) * cos ( 2 * pi * x_theta ./ lambda + psi ); % nucleu