FFT en la parte no rectangular de la imagen

7

Necesito hacer una FFT en una imagen para reducir el ruido, pero el problema es que no necesito la imagen completa, sino solo un círculo en el medio. Los bordes son una plataforma fija, por lo que no estoy interesado en lo que muestra, pero tiene un impacto en el resultado de la FFT.

¿Hay alguna forma de cortar una parte circular y usarla para la FFT? Tenga en cuenta que si uso un fondo negro, el borde entre el fondo y los datos de la imagen tendrán un gran impacto.

SiniestroMJ
fuente

Respuestas:

7

En lugar de tener un borde rígido entre los datos de imagen de interés y el fondo, puede usar una función de ventana cónica bidimensional , como se hace a menudo en el análisis espectral. Puede comenzar probando una ventana gaussiana , que para un caso bidimensional se vería así:

w[x,y]=e(xNx12)22(σxNx12)2e(yNy12)22(σyNy12)2

Nx y Ny son las dimensiones de la transformación deseada en el x y y direcciones, respectivamente, y σx y σyson parámetros que le permiten controlar la forma de la ventana; Para pequeñosσ valores, la mayor parte de la energía en la función de ventana se concentrará hacia el centro, con ese efecto disminuyendo a medida que aumenta σ.

Jason R
fuente
¿No sería mejor una ventana más plana ya que no quiere distorsionar las cosas en el medio?
Jim Clay
Por supuesto; Lo anterior se acaba de dar como ejemplo de una ventana. Hay muchas funciones de ventana que podrían usarse, aunque generalmente se describen solo para el caso unidimensional.
Jason R
Bien gracias. Ya pensé en usar una función de ventana, pero no sabía si había algo mejor / completamente diferente.
SinisterMJ
3

Use una función de ventana superior plana cónica con una parte superior plana y un borde cónico, como una ventana coseno cónica o una ventana Tukey (gírela alrededor de un eje polar para convertirla en una plantilla 2D circular), y cero-pad según sea necesario para cualquier ayuno -filtrado de convolución. La ventana que va a cero en los bordes reducirá el efecto de las discontinuidades del borde del círculo en el FFT. Después de filtrar u otro procesamiento, vuelva a combinar el resultado utilizando el inverso sustractivo de la función de ventana en los datos de imagen existentes.

hotpaw2
fuente
0

Una solución simple podría ser extender las condiciones de contorno de su región de interés no rectangular en el rectángulo a su alrededor.

Puede realizar esto con un algoritmo vecino más cercano.

Danny Varod
fuente