我试图找到一个Python库,它在图像处理方面与MATLAB的freqz 2等效,因为scipy.signal.freqz似乎只适用于1-D数组。
n9vozmp41#
找到了一个很棒的库,用于绘制2-D FFT的3D表面,名为plotly。我在这里留下了我用Python模拟freqz 2的相同行为的代码行:
import scipy.fft as fft import plotly.graph_objects as go N = 128 h = fspecial('unsharp', alpha=0.2) H = fft.fftshift(fft.fft2(h, [N, N])) f = fft.fftshift(fft.fftfreq(N)) fig = go.Figure(data=[go.Surface(x=f, y=f, z=np.abs(H))]) fig.show()
3D图形是交互式的,我自己在python中实现了fspecial函数,复制了MATLAB的功能(如果有人问我,我也可以发布)。x1c 0d1x它相当于MATLAB的:
h = fspecial('unsharp'); freqz2(h);
1条答案
按热度按时间n9vozmp41#
找到了一个很棒的库,用于绘制2-D FFT的3D表面,名为plotly。我在这里留下了我用Python模拟freqz 2的相同行为的代码行:
3D图形是交互式的,我自己在python中实现了fspecial函数,复制了MATLAB的功能(如果有人问我,我也可以发布)。x1c 0d1x
它相当于MATLAB的: