Python中的MATLAB freqz2等价物

Posted

技术标签:

【中文标题】Python中的MATLAB freqz2等价物【英文标题】:MATLAB freqz2 equivalent in Python 【发布时间】:2021-11-02 15:15:24 【问题描述】:

我正在尝试找到一个与 MATLAB 的 freqz2 等效的 Python 库,用于图像处理,因为 scipy.signal.freqz 似乎只适用于一维数组。

【问题讨论】:

【参考方案1】:

找到了一个很棒的库,用于绘制 2-D FFT 的 3D 表面,名为 plotly。我在这里留下我用来在 Python 中模拟 freqz2 的相同行为的代码行:

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 的功能(如果有要求,我也可以发布它)。

相当于 MATLAB 的:

h = fspecial('unsharp');
freqz2(h);

【讨论】:

以上是关于Python中的MATLAB freqz2等价物的主要内容,如果未能解决你的问题,请参考以下文章

什么是matlab的imadjust在python中的等价物?

Matlab 的 tic 和 toc 函数的 Python 等价物是啥?

什么是Matlab的tic和toc函数的Python等价物?

c ++ opencv中的等价matlab代码

相当于Matlab的聚类质量函数?

MATLAB中Visual Studio“Peek Definition”功能的等价物是什么?