Una implementación de matlab está en esta respuesta: https://dsp.stackexchange.com/a/14201/5737
1) La fórmula de Wikipedia es un poco demasiado general.
2) Si conoce los conceptos básicos de la transformación de Fourier, entonces sabrá empíricamente que: La imagen se ve como formada al superponer una serie de ondas sinusoidales de varias frecuencias orientadas en todo tipo de direcciones. Cada "píxel" en la transformación nos dice la "intensidad" de dicha onda. La posición del "píxel" nos dice la frecuencia y orientación de la onda. En la práctica, uno quiere seleccionar solo ciertas ondas, que tengan una frecuencia específica y una orientación específica.
Así que ahí lo tiene: la transformación de Gabor es uno de los llamados filtros de paso de banda que le permite "cortar" la transformación de Fourier y aislar solo información específica. Otra información importante es que cada "píxel" de Fourier es un valor complejo (parte real e imaginaria)
3) Parámetros: ya se muestran dos parámetros:
3.a) La frecuencia de sintonización f0o período de sintonía P0o λestablezca a qué tipo de onda sinusal responderá mejor el filtro. (f=1/P0=1/λ o f=π/λ dependiendo de la implementación específica) Básicamente, un más pequeño P0significa una onda sinusal más densa. Un mayorP0 significa olas más grandes. P0 está en píxeles (3, 5, 30, etc. píxeles) No vaya a menos de 3 píxeles o más W/2 o obtienes efectos desagradables. Wes el ancho de la imagen, si la imagen es cuadrada. Usted especifica esto usando el parámetro P0 en el código matlab.
3.b) Ángulo central. Estas ondas pueden tener cualquier dirección. Desea seleccionar solo ondas en un ángulo específico. Entonces, el segundo parámetro es el ángulo de sintonización,θ0 o θen tu formula Por lo general, en radianes. Oriente en código matlab.
Uno no puede aislar solo una cierta frecuencia o una cierta orientación. (Busque el principio de incertidumbre en los libros de texto. Sí, es similar al de la física) Pero se puede ajustar la cantidad de frecuencias cercanas que se filtrarán. Los siguientes dos parámetros especifican que:
3.c) ΔF, ancho de banda de frecuencia expresado en octavas. Valores útiles, 1.5, 2, 3. Valores mayores significa capturar un rango más amplio de frecuencias. Hay un precio por un paso de banda más ajustado, una localización espacial más pobre. Por qué, de nuevo, libro de texto. FBW en código matlab.
3.d) ΔθEl ancho de banda del ángulo. Expresado en radianes.π/3 o π/2funciona bien ABW en código matlab.
La relación entre Δf, Δθ del código matlab y σ,γ de Wikipedia tienen una fórmula pero no es esencial para entender a Gabor. ψ De nuevo, no es importante para la comprensión básica.
Entonces lo tienes: Xde Wikipedia es una matriz 2D de números que contiene una máscara de convolución. Toma la imagen original, la filtra con la máscara de convolución y obtiene otra imagen. Esta nueva imagen es la "respuesta de Gabor" para la imagen original.
El código matlab realiza estos dos pasos juntos. Construye el filtro Gabor con los parámetros especificados y realiza convolución. Los resultados ReConv, ImConv son las respuestas. Cada respuesta "píxel" tiene una parte real e imaginaria. Si desea utilizar este código, generalmente debe calcular la energía para la respuesta:E=a2+b2−−−−−−√ dónde a es la parte real de la respuesta (ReConv) y b es la parte imaginaria (ImConv), para cada píxel.
Ahí lo tienes: 1) Construye un filtro Gabor especificando P0,θ0,Δf,Δθ
2) Convoluciona tu imagen con el filtro. Obtendrá dos valores por cada píxel. 3) Calcular la energíaE y obtener la intensidad de la respuesta para cada píxel en la imagen original
Otra intuición: suponga que desea seleccionar bordes que se extienden en una orientación perpendicular a π/6y un cierto ancho de 20 píxeles. Puedes construir un filtro Gabor conP0≈20,θ0=π/6,Δf=2,Δθ=pi/2. TENGA CUIDADO de que no hay una relación igual entre la dimensión de su borde y laP0parámetro. Debe probar varios valores y ver qué funciona mejor. Los otros parámetros (Δf,Δθ) tóquelos cuando tenga experiencia ajustando los dos primeros.
¡Espero eso ayude!
Cristi
Actualizar
Aquí hay un sitio que le permite jugar un poco con los parámetros de Gabor y observar los resultados: http://www.cogsci.nl/pages/gabor-generator.php
Después de una mirada rápida, los anchos de banda de frecuencia y ángulo se unen como "Desviación estándar en píxeles ... al sobre de Gauss". El resto de los parámetros se identifican fácilmente. Sin embargo, tenga en cuenta que hay diferencias numéricas. P.ej. la fase puede expresarse en intervalo 0-1 o 0-π intervalo.