[英]Computing fft2 of an image in Python
我正在試驗傅立葉變換和內置的 NumPy.fft 庫。 我試圖查看僅計算圖像的 fft2 和圖像的 fft2 上的 fftshift 之間的區別。 但由於某種原因,我沒有得到我期望的結果。 我也嘗試過更改圖像,但無論我使用什么,我都會得到與下面相同的結果。 如果有人可以在這里幫助我,那就太棒了。 這是我使用的代碼:
import numpy as np
import cv2
import matplotlib.pyplot as plt
from scipy import ndimage, fftpack
light = cv2.imread("go_light.jpeg")
dark = cv2.imread("go_dark.jpeg")
g_img = cv2.cvtColor(dark, cv2.COLOR_BGR2GRAY)
di = (np.abs((np.fft.fft2(g_img))))
dm = np.abs(np.fft.fftshift(np.fft.fft2(g_img)))
plt.figure(figsize=(6.4*5, 4.8*5), constrained_layout=False)
plt.subplot(151), plt.imshow(di, "gray"), plt.title("fft");
plt.subplot(152), plt.imshow(dm, "gray"), plt.title("fftshift");
plt.show()
di
和dm
是浮點值。 Matplotlib 不能那樣做。 首先,嘗試di.astype(np.int8)
。 但是,許多值超出了范圍。 您可能需要縮放陣列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.