當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python SciPy signal.wiener用法及代碼示例

本文簡要介紹 python 語言中 scipy.signal.wiener 的用法。

用法:

scipy.signal.wiener(im, mysize=None, noise=None)#

對 N 維數組執行維納濾波器。

對 N 維數組 im 應用維納濾波器。

參數

im ndarray

一個 N 維數組。

mysize int 或 數組,可選

一個標量或 N-length 列表,給出每個維度中維納濾波器窗口的大小。 mysize 的元素應該是奇數。如果 mysize 是標量,則此標量用作每個維度中的大小。

noise 浮點數,可選

要使用的noise-power。如果沒有,則將噪聲估計為輸入的局部方差的平均值。

返回

out ndarray

維納過濾後的結果與 im 的形狀相同。

注意

這個實現類似於 Matlab/Octave 中的 wiener2。有關詳細信息,請參閱 [1]

參考

[1]

Lim, Jae S.,二維信號和圖像處理,新澤西州 Englewood Cliffs,Prentice Hall,1990 年,p。 548.

例子

>>> from scipy.datasets import face
>>> from scipy.signal 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()
scipy-signal-wiener-1.png

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.wiener。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。