scipy.signal.wiener

scipy.signal.wiener(im, mysize=None, noise=None)[源代码]

对N维数组执行维纳过滤。

将维纳过滤应用于N维数组 im

参数
imndarray

N维数组。

mysizeINT或ARRAY_LIKE,可选

给出维纳过滤窗口在每个维度中的大小的标量或N长度列表。我的尺寸元素应该是奇数。如果mysize是标量,则此标量用作每个维度中的大小。

noise浮动,可选

要使用的噪声功率。如果没有,则将噪波估计为输入的局部方差的平均值。

退货
outndarray

Wiener过滤结果的形状与 im

注意事项

此实现类似于Matlab/Octave中的wiener2。有关更多详细信息,请参阅 [1]

参考文献

1

林在胜,“二维信号与图像处理”,新泽西州恩格尔伍德·克里夫斯,普伦蒂斯·霍尔,1990,第548页。

示例

>>> from scipy.misc import face
>>> from scipy.signal.signaltools import wiener
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> rng = np.random.default_rng()
>>> img = rng.random((40, 40))    #Create a random image
>>> filtered_img = wiener(img, (5, 5))  #Filter the image
>>> f, (plot1, plot2) = plt.subplots(1, 2)
>>> plot1.imshow(img)
>>> plot2.imshow(filtered_img)
>>> plt.show()
../../_images/scipy-signal-wiener-1.png