1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import numpy as np import matplotlib.pyplot as plt from PIL import Image # Cargar la imagen y convertirla a escala de grises imagen = Image.open('ruta/a/tu/imagen.jpg').convert('L') # Convertir la imagen a un array de numpy imagen_array = np.array(imagen) # Aplicar la Transformada de Fourier en 2D frecuencia_imagen = np.fft.fft2(imagen_array) # Desplazar el cero de la frecuencia al centro frecuencia_imagen_desplazada = np.fft.fftshift(frecuencia_imagen) # Calcular la magnitud del espectro (espectro de potencia) espectro_magnitud = np.abs(frecuencia_imagen_desplazada) # Calcular el logaritmo para mejorar la visualización espectro_log = np.log(1 + espectro_magnitud) # Mostrar la imagen original y su espectro de frecuencias plt.figure(figsize=(12, 6)) plt.subplot(1, 2, 1) plt.imshow(imagen_array, cmap='gray') plt.title('Imagen original') plt.axis('off') plt.subplot(1, 2, 2) plt.imshow(espectro_log, cmap='gray') plt.title('Espectro de frecuencias') plt.axis('off') plt.show() |
![](https://www.jesusninoc.com/wp-content/uploads/2024/08/espectro-800x272.png)