python - scipy.signal.wiener 总是显示警告

标签 python filter scipy noise-reduction

我正在尝试在灰度图像中使用 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/

相关文章:

mysql - 如何创建 Django 自定义查询?

python - 对正则化数据使用 SciPy fmin_bfgs() 发出警告

python - py2exe 没有正确编译 VideoCapture

python - 如何将视频脚本保存到文本文件?

python - Pygame 类型错误 : __init__ takes exactly 4 arguments (1 given)

Java 流 : filtering with 2 objects

python - 如何使用Python创建GDB子进程并根据输出动态发送命令?

vba - 自动筛选后应用高级筛选

python - 使用 Python scipy 验证 t 检验结果

python - Python中的下采样数组