scipy Python中的MATLAB freqz2等效项

yc0p9oo0  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(189)

我试图找到一个Python库,它在图像处理方面与MATLAB的freqz 2等效,因为scipy.signal.freqz似乎只适用于1-D数组。

n9vozmp4

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);

相关问题