我正在尝试在灰度图像中使用 Scipy 的维纳降噪函数:
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)
过滤器工作正常,但为什么我会收到此警告?
最佳答案
尝试将输入图像的数据类型转换为float32或float64,即:
image = image.astype('float64')
image = signal.wiener(image)
我想我们将“除以零”作为下溢数进行了反驳。
关于python - scipy.signal.wiener 总是显示警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33414988/