我試圖隨機化下圖頻譜的幅度分量。我正在考慮numpy.random.rand()用于生成隨機值,但我不知道如何去做。有人能夠解釋我如何繼續嗎?以下是獲取所附影像的幅度譜的代碼。
import numpy as np
import cv2
import matplotlib.pyplot as plt
img_tp = cv2.imread('testpattern.png', 0)
f_tp = np.fft.fft2(img_tp)
fshift_tp = np.fft.fftshift(f_tp)
mag_spectrum_tp = 20*np.log(np.abs(fshift_tp))
plt.imshow(mag_spectrum_tp)
uj5u.com熱心網友回復:
我看不出這有什么用。沒有幅度,相位資訊就沒有任何實際意義。從理論上講,您可以通過執行以下操作來組合不相關的幅度和相位值:
f_mag = np.abs( fft_result1 )
f_phase = np.angle( fft_result2 )
combined = np.multiply(f_mag, np.exp(1j*f_phase))
img = np.fft.iff2(combined)
但結果幾乎是垃圾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/389383.html
上一篇:塊替換編碼的numpy二維陣列
下一篇:字典詞條都一樣
