A Gabor szűrő egy lineáris elektronikus szűrő , amelynek impulzusválaszát felharmonikus függvényként határozzuk meg Gauss -szorozva . A digitális képfeldolgozás során ez a szűrő az objektumok határainak felismerésére szolgál.
A Gabor-szűrő impulzusválaszának Fourier-transzformációja az időtartomány- konvolúció és a frekvenciatartomány-szorzás párosítási tulajdonsága miatt a harmonikus függvény és a Gauss-függvény Fourier-transzformációjának konvolúciója.
ahol
Ebben az egyenletben , a koszinuszszorzó hullámhosszát jelöli, meghatározza a Gabor-függvény párhuzamos sávjainak normális orientációját fokban, a fáziseltolódást fokokban, valamint a Gabor-függvény ellipticitását jellemző kompressziós tényezőt .
A Gabor-szűrők közvetlenül kapcsolódnak a Gabor- hullámokhoz , mivel tömörítések és elforgatások sorozatával hozhatók létre. A Gabor space-t (szűrő konvolúciója jellel) gyakran használják különféle képalkotó alkalmazásokban , különösen biometrikus biztonsági rendszerek íriszfelismerésére és ujjlenyomat-felismerésen alapuló automatizált beléptető rendszerekben.
Az egydimenziós Gabor-szűrő megalkotásához a következő képletet kell használni: ,
Minél nagyobb , annál laposabb lesz a funkció. Minél kisebb , annál élesebb lesz a csúcs a függvény ábrázolásának eredményeként.
A fenti exponenciális függvény egy valószínűségi változó normális eloszlásának tulajdonságaival rendelkezik. A három szigma szabály szerint a kitevő szinte minden értéke az intervallumban található . A jelanalízishez a függvényértékeket a megadott határokon belül számítják ki.
Koszinusz, kitevő és összetételük Gábor-függvénybe
Funkciófüggőség be
Funkciófüggőség be
A bemeneti jel minden pontja a kimenő jel megfelelő pontjává alakul a bemeneti jel értékeinek átlagolásával a területen , figyelembe véve a Gábor képlet súlyegyütthatóit.
A kétdimenziós Gabor-szűrő megalkotásához a következő képletet kell használni:
ahol: a Gauss-mag szórása a és tengelyek mentén , amelyek meghatározzák a szűrő kiterjesztését a tengelyek mentén, a szűrő frekvenciamodulációja,
A Gabor szűrő általi képfeldolgozás a feldolgozott kép értékeinek átlagolásával érhető el egy bizonyos területen minden ponton. Ennek megfelelően a Gabor-szűrő képre való rárakása a következőképpen alakul:
ahol: az eredeti kép intenzitása a pontban , az új kép intenzitása a pontban , a Gábor-függvény értéke, .
Ha eldobjuk a függvény szinuszos komponensét a Gabor-szűrőben, akkor az Gauss- elmosódás szűrővé (Gaussian Blur) degenerálódik . Ezért nyilvánvaló, hogy ennek a két szűrőnek majdnem ugyanaz az alkalmazási algoritmusa, amely néhány részletben eltér.
A Gábor-képletből látható, hogy a szűrő függ a kép kváziperiodikus szerkezetének gyakoriságától és irányától. Ezért a szűrő alkalmazása előtt meg kell alkotni az aktuális kép frekvencia- és tájolási mezőit. Általában a feladat egyszerűsítése érdekében kiszámítják a kép átlagos gyakoriságát, amelyet minden ponton változatlannak tekintenek. Az iránymező
felépítéséhez több módszer is használható, ezek közül a leggyorsabb a differenciális módszer, amely lehetővé teszi négy fokozatú iránymező felépítését.
Így egy frekvenciával és 4 irányban 4 Gabor szűrő van előre beépítve, mindegyik irányhoz egy. Ezt követően a kép minden pontján a szűrőt egy bizonyos területen összevonják a képpel, ami megadja az új kép kimeneti értékét.
A Gabor-szűrő hatékonyan alkalmas kvázi-periodikus szerkezetű strukturális redundanciájú képek feldolgozására. Ide tartoznak az ujjlenyomat-képek, a krisztalogramok és az interferrogramok képei. A vadon élő állatokban hasonló szín gyakran megtalálható a zebrákban, a különféle macskafélékben (tigrisek, hiúzok, füstös macskák), madarakban (fekete fajd), halakban (csíkos leporinus) és a növény- és állatvilág más képviselőiben.
Íme egy példa a Gabor szűrő megvalósítására a Matlab csomaghoz :
függvény gb = gabor_fn ( szigma_x, théta, lambda, psi, gamma ) sz_x = javítás ( 6 * sigma_x ); % a sigma értéke alapján megkapta a kernel méretét sz_x = sz_x - mod ( sz_x , 2 ) + 1 ; % ha páros – páratlan legyen sz_y = javítás ( 6 * sigma_x / gamma ); % a szigma és az együttható értéke alapján. a tömörítés megkapta a második kernelméretet sz_y = sz_y - mod ( sz_y , 2 ) + 1 ; % ha páros – páratlan legyen [ x y ] = meshgrid ( - fix ( sz_x / 2 ): javítás ( sz_x / 2 ), javítás ( - sz_y / 2 ): javítás ( sz_y / 2 )); % hatókörű % Forgatás x_theta = x * cos ( théta ) + y * sin ( theta ); y_theta = - x * sin ( théta ) + y * cos ( theta ); gb = ex _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ % sejtmag