Estaba aprendiendo sobre el dominio de frecuencia en imágenes.
Puedo entender el espectro de frecuencia en caso de ondas. Denota qué frecuencias están presentes en una onda. Si dibujamos el espectro de frecuencia de , obtenemos una señal de impulso en y . Y podemos usar los filtros correspondientes para extraer información particular.
Pero, ¿qué significa el espectro de frecuencia en el caso de las imágenes? Cuando tomamos la FFT de una imagen en OpenCV, obtenemos una imagen extraña. ¿Qué denota esta imagen? ¿Y cuál es su aplicación?
Leí algunos libros, pero dan muchas ecuaciones matemáticas en lugar de implicaciones físicas. Entonces, ¿alguien puede proporcionar una explicación simple del dominio de la frecuencia en las imágenes con una simple aplicación del mismo en el procesamiento de imágenes?
fuente
Respuestas:
Las "ecuaciones matemáticas" son importantes, así que no las omita por completo. Pero el 2d FFT también tiene una interpretación intuitiva. Por ejemplo, he calculado la FFT inversa de algunas imágenes de muestra:
Como puede ver, solo se establece un píxel en el dominio de frecuencia. El resultado en el dominio de la imagen (solo he mostrado la parte real) es un "patrón de coseno girado" (la parte imaginaria sería el seno correspondiente).
Si configuro un píxel diferente en el dominio de frecuencia (en el borde izquierdo):
Me sale un patrón de frecuencia 2D diferente.
Si configuro más de un píxel en el dominio de frecuencia:
obtienes la suma de dos cosenos.
Entonces, como una onda 1d, que se puede representar como una suma de senos y cosenos, cualquier imagen 2d se puede representar (hablando en términos generales) como una suma de "senos y cosenos rotados", como se muestra arriba.
Denota las amplitudes y frecuencias de los senos / cosenos que, cuando se suman, le darán la imagen original.
Realmente hay demasiados para nombrarlos a todos. La correlación y la convolución se pueden calcular de manera muy eficiente utilizando una FFT, pero eso es más una optimización, no se "mira" el resultado de FFT para eso. Se utiliza para la compresión de imágenes, porque los componentes de alta frecuencia generalmente son solo ruido.
fuente
InverseFourier
función de Mathematica . ¿Octave / matlab'sifft2
no hacen lo mismo?Creo que esto se puso muy bien en la conocida "Guía DSP" ( capítulo 24, sección 5 ):
Entonces, por supuesto, existe cierta estructura y significado detrás del patrón aparentemente aleatorio obtenido al tomar el DFT de una imagen típica (como el ejemplo a continuación), pero no está en una forma que el cerebro humano esté preparado para comprender intuitivamente, al menos con respecto a la percepción visual.
Aquí hay otra exposición interesante y bastante legible de lo que está contenido en una transformada de Fourier de una imagen, y cómo se puede interpretar. Tiene una serie de imágenes que dejan muy claro cuál es la correspondencia entre la imagen transformada de Fourier y la original.
editar: eche un vistazo a esta página , que demuestra, casi al final, cómo se almacena la mayor parte de la información perceptivamente importante de una imagen en el componente de fase (ángulo) de la representación de frecuencia.
edición 2: otro ejemplo del significado de fase y magnitud en la representación de Fourier: "Sección 3.4.1, Importancia de fase y magnitud" del libro de texto " Fundamentos del procesamiento de imágenes " de TU Delft lo demuestra claramente:
fuente
La onda es una onda unidimensional; depende solo de . La onda es una onda bidimensional. Depende de e . Como puede ver, tiene dos frecuencias, en cualquier dirección.f(t)=cos(ωt) t f(x,y)=cos(ωx+ψy) x y
Por lo tanto, la transformada de Fourier (FFT) de te dará , al igual que la FFT de te da . Y si su entrada es una función que suma cosenos 2D, entonces su FFT 2D será la suma de las frecuencias de esos cosenos, de nuevo un análogo directo de la FFT 1D.cos(ωx+ψy) ω,ψ cos(ωx) ω
fuente
Vale la pena señalar que el Análisis de Fourier es un caso especial de un concepto llamado funciones ortogonales . La idea básica es dividir una señal complicada en una superposición lineal de funciones "básicas" más simples. Puede realizar su procesamiento o análisis en función de las funciones básicas y luego sumar los resultados de las funciones básicas para obtener el resultado de la señal original.
Para que esto funcione, existen ciertos requisitos matemáticos para las funciones básicas, es decir, idealmente forman una base ortonormal. En el caso de la Transformada de Fourier, las funciones básicas son exponenciales complejos. Sin embargo, hay muchas otras funciones que también se pueden usar para eso.
fuente
En las imágenes, la frecuencia creciente se asocia con transiciones más bruscas en brillo o color. Además, el ruido suele estar integrado en el extremo superior del espectro, por lo que se puede utilizar el filtrado de paso bajo para reducir el ruido.
fuente
en este contexto, una demostración muy agradable: http://bigwww.epfl.ch/demo/basisfft/index.html
fuente