在 NumPy 中创建 2D 汉宁、汉明、布莱克​​曼、高斯窗口

问题描述

我对在 NumPy 中创建 2D hanning、hamming、Blackman 等窗口感兴趣。我知道 NumPy 中存在一维版本的现成函数,例如 np.blackman(51)np.hamming(51)np.kaiser(51)np.hanning(51) 等。

如何创建它们的 2D 版本?我不确定以下解决方案是否正确。

window1d = np.blackman(51)
window2d = np.sqrt(np.outer(window1d,window1d)) 

---编辑

令人担忧的是,np.sqrt 只期望正值,而 np.outer(window1d,window1d) 肯定会有一些负值。一种解决方案是放弃 np.sqrt

有什么建议可以将这些一维函数扩展到二维吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)