簡體   English   中英

計算 Python 中圖像的 fft2

[英]Computing fft2 of an image in Python

go_dark.jpeg 轉化的結果

我正在試驗傅立葉變換和內置的 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()

didm是浮點值。 Matplotlib 不能那樣做。 首先,嘗試di.astype(np.int8) 但是,許多值超出了范圍。 您可能需要縮放陣列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM