如何在 OpenCV Python 中找到高斯和拉普拉斯濾波器的傅立葉變換?


我們應用傅立葉變換來分析各種濾波器的頻率特性。我們可以使用np.fft.fft2()對高斯和拉普拉斯濾波器應用傅立葉變換。我們使用np.fft.fftshift()將零頻率分量移到頻譜的中心。

步驟

要找到高斯或拉普拉斯濾波器的傅立葉變換,可以按照以下步驟操作:

  • 匯入所需的庫。在下面所有 Python 示例中,所需的 Python 庫是OpenCV、NumpyMatplotlib。請確保您已安裝它們。

  • 定義高斯或拉普拉斯濾波器。

  • 使用np.fft.fft2(filter)對上述定義的濾波器應用傅立葉變換。

  • 呼叫np.fft.fftshift()將零頻率分量移到頻譜的中心。

  • 應用對數變換並可視化濾波器和幅度譜。

讓我們看一些示例,以便更清楚地瞭解問題。

示例

在這個 Python 程式中,我們找到了高斯濾波器的傅立葉變換。我們還可視化了高斯濾波器和傅立葉變換後的高斯濾波器。

# import required libraries import cv2 import numpy as np from matplotlib import pyplot as plt # create a Gaussian filter x = cv2.getGaussianKernel(5,10) gaussian = x*x.T # apply Fourier transform on the Gaussian Filter fft_filter = np.fft.fft2(gaussian) # Shift zero-frequency component to the center of the spectrum fft_shift = np.fft.fftshift(fft_filter) # apply log transformation mag_spectrum = np.log(np.abs(fft_shift)+1) # visualize the Gaussian filter and transformed Gaussian Filter plt.subplot(1,2,1),plt.imshow(gaussian,cmap = 'gray') plt.title('Gaussian Filter'), plt.xticks([]), plt.yticks([]) plt.subplot(1,2,2),plt.imshow(mag_spectrum,cmap = 'gray') plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([]) plt.show()

輸出

上述 Python 程式將生成以下輸出視窗:


示例

在這個程式中,我們找到了拉普拉斯濾波器的傅立葉變換。我們還可視化了拉普拉斯濾波器和傅立葉變換後的拉普拉斯濾波器。

# import required libraries import cv2 import numpy as np from matplotlib import pyplot as plt # create a laplacian Filter laplacian=np.array([[0, 1, 0],[1,-4, 1],[0, 1, 0]]) # apply Fourier transform on the Laplacian Filter fft_filter = np.fft.fft2(laplacian) # shift zero-frequency component to the center of the spectrum fft_shift = np.fft.fftshift(fft_filter) # apply log transformation mag_spectrum = np.log(np.abs(fft_shift)+1) # visualize the Laplacian filter and transform Laplacian Filter plt.subplot(1,2,1),plt.imshow(laplacian,cmap = 'gray') plt.title('Laplacian Filter'), plt.xticks([]), plt.yticks([]) plt.subplot(1,2,2),plt.imshow(mag_spectrum,cmap = 'gray') plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([]) plt.show()

輸出

它將生成以下輸出視窗:


更新於: 2022年12月2日

1K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.