scipy.signal.

винер#

scipy.signal.винер(im, mysize=None, шум=None)[источник]#

Выполнить фильтр Винера на N-мерном массиве.

Применить фильтр Винера к N-мерному массиву im.

Параметры:
imndarray

N-мерный массив.

mysizeint или array_like, необязательно

Скаляр или список длины N, задающий размер окна фильтра Винера в каждом измерении. Элементы mysize должны быть нечётными. Если mysize — скаляр, то этот скаляр используется как размер в каждом измерении.

шумfloat, опционально

Мощность шума для использования. Если None, то шум оценивается как среднее локальной дисперсии входа.

Возвращает:
выходndarray

Результат фильтра Винера с той же формой, что и im.

Примечания

Эта реализация аналогична wiener2 в Matlab/Octave. Для получения дополнительных сведений см. [1]

Ссылки

[1]

Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, 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()
../../_images/scipy-signal-wiener-1.png