Las bibliotecas Python numpy e implementos biblioteca CV2 imagen transformada de Fourier

La palabra en clave no es fácil, si es útil para usted, recuerde que debe señalar como oh!


Una imagen de la transformación de Fourier:

    Por favor referirse al principio Introducción: https://www.cnblogs.com/wojianxin/p/12529809.html

    transformación de Fourier de la imagen en dos dimensiones a cabo con la siguiente fórmula:


longitud de la imagen H, N. alta F (u, v) representa la imagen dominio de la frecuencia, f (x, y) representa la imagen dominio del tiempo. T es el intervalo [0, M-1], v rango es [0, N-1] ↑
 
 

    imagen bidimensional transformada de Fourier inversa por la siguiente ecuación:


longitud de la imagen H, N. alta f (x, y) representa la imagen de dominio de tiempo, F (u, v) representa la imagen dominio de la frecuencia. rangos de x [0, M-1], y tiene una gama [0, N-1] ↑
 

En segundo lugar, la imagen de la fórmula numpy pitón Fourier transformación de biblioteca:

Cálculo unidimensional transformada de Fourier #

numpy.fft.fft (a, n = Ninguno, eje = -1, norma = None)

# Calcular el bidimensional transformada de Fourier

numpy.fft.fft2 (a, n = Ninguno, eje = -1, norma = None)

Cálculo # n-dimensional transformada de Fourier

numpy.fft.fftn ()

# N calcula la dimensión real de la transformada de Fourier

numpy.fft.rfftn ()

# Devuelve la frecuencia de muestreo de la transformada de Fourier

numpy.fft.fftfreq ()

# El componente de CC en el espectro de salida de la FFT se trasladó a un centro

numpy.fft.shift ()


Tres experimentos :. Python numpy implementación de la biblioteca de la transformada de Fourier y la transformada inversa de la imagen

. 1  # Writer: [email protected] 
2  
. 3  # FECHA: 03/30/2020 
. 4  
. 5  Importación CV2 AS CV
 . 6  
. 7  Importación numpy AS NP
 . 8  
. 9  de matplotlib importación pyplot AS PLT
 10  
. 11  # de lectura de imagen 
12 es  
13 es IMG = cv.imread ( ' ../head_g.jpg ' , 0)
 14  
15  # transformada de Fourier 
16  
. 17 F = np.fft.fft2 (IMG)
 18 es  
. 19 Fshift = np.fft.fftshift (F)
 20 es 
21 es RES = np.log (np.abs (Fshift))
 22 es  
23 es  # transformada inversa de Fourier 
24  
25 Ishift = np.fft.ifftshift (Fshift)
 26 es  
27 IIMG = np.fft.ifft2 (Ishift)
 28  
29 IIMG = np.abs (IIMG)
 30  
31 es  # mostrar los resultados 
32  
33 es plt.subplot (131 es), plt.imshow (IMG, ' gris ' ), plt.title ( ' de imagen original ' )
 34 es  
35 plt.axis ( ' OFF ' )
 36  
37 [ plt.subplot (132), plt.imshow (RES,' Gris ' ), plt.title ( ' Fourier Image ' )
 38  
39 plt.axis ( ' off ' )
 40  
41 plt.subplot (133), plt.imshow (IIMG, ' gris ' ), plt.title ( ' Inverse Fourier Image ' )
 42  
43 plt.axis ( ' off ' )
 44  
45 plt.show ()

 


Cuatro resultados:


La tercera parte de la salida de código ↑
 

Cinco imagen Pitón de la biblioteca de Fourier fórmula de transformación cv2:

# Transformada de Fourier

dft = cv2.dft (np.float32 (IMG), flags = cv2.DFT_COMPLEX_OUTPUT)

transformada de Fourier Inversa #

IIMG = cv2.idft (Ishift)

IIMG la magnitud de la transformada de Fourier de retorno #

res2 = cv2.magnitude (IIMG [:,:, 0], IIMG [:,:, 1])


Seis experimentos :. bibliotecas numpy cv de Python e implementos biblioteca transformar y transformar la imagen inversa de Fourier

. 1  # Writer: [email protected] 
2  
. 3  # FECHA: 03/30/2020 
. 4  
. 5  Importación numpy AS NP
 . 6  
. 7  Importación CV2
 . 8  
. 9  de matplotlib importación pyplot AS PLT
 10  
. 11  # leer la imagen 
12 es  
13 es IMG = cv2.imread ( ' ../paojie_g.jpg ' , 0)
 14  
15  # transformada de Fourier 
16  
. 17 DFT = cv2.dft (np.float32 (IMG), las banderas = cv2.DFT_COMPLEX_OUTPUT)
 18 es  
. 19 dftshift =np.fft.fftshift (DFT)
 20 es  
21 es RES1 * = 20 es np.log (cv2.magnitude (dftshift [:,:, 0], dftshift [:,:., 1 ]))
 22 es  
23 es  # transformada de Fourier inversa 
24  
25 Ishift = np.fft.ifftshift (dftshift)
 26 es  
27 IIMG = cv2.idft (Ishift)
 28  
29 RES2 = cv2.magnitude (IIMG [:,:, 0], IIMG [:,:., 1 ])
 30  
31 es  # imagen de la pantalla 
32  
33 es plt.subplot (131 es), plt.imshow (IMG, ' gris ' ), plt.title ( ' imagen original ' )
 34 es  
35 plt.axis ( 'off ' )
 36  
37 plt.subplot (132), plt.imshow (res1, ' gris ' ), plt.title ( ' Fourier Image ' )
 38  
39 plt.axis ( ' off ' )
 40  
41 plt.subplot (133) , plt.imshow (res2, ' gris ' ), plt.title ( ' inversa de Fourier imagen ' )
 42  
43 plt.axis ( ' off ' )
 44  
45 plt.show ()

 


Resultados: Siete


El sexto resultado del código ↑
 

Ocho de referencia:

https://www.jianshu.com/p/a00da3e03533


Nueve de autor:

        Sin el permiso del autor Por favor, haga el plagio no reimpresión, los casos graves de plagio, los autores consideran proseguir su responsabilidad legal, la creación no es fácil, gracias por su comprensión y cooperación!

Supongo que te gusta

Origin www.cnblogs.com/wojianxin/p/12530172.html
Recomendado
Clasificación