【发布时间】:2016-01-29 15:20:47
【问题描述】:
我正在尝试在灰度图像中使用 Scipy 的 wiener denoise 函数:
image = data.imread(image_path, as_grey=True)
image = signal.wiener(image)
但我总是收到此警告:
/usr/lib/python2.7/dist-packages/scipy/signal/signaltools.py:425: RuntimeWarning: divide by zero encountered in true_divide
res *= (1 - noise / lVar)
/usr/lib/python2.7/dist-packages/scipy/signal/signaltools.py:425: RuntimeWarning: invalid value encountered in multiply
res *= (1 - noise / lVar)
过滤器工作正常,但为什么我收到此警告?
【问题讨论】:
-
如果
image中的所有值都相同,我可以重现这些警告,例如wiener(np.ones((24, 24)))。你的意见是这样的吗? -
其实数组不一定是常数。我还收到
wiener(np.random.randint(0, 2, size=(24, 24))的警告。 -
不。事实并非如此。
标签: python filter scipy noise-reduction