维纳过滤RGB图像

问题描述

我正在尝试在由RGB图像组成的CIFAR10数据集上实现维纳过滤器。

但是此滤镜只能用于灰度图像。

我尝试在每个R / G / B通道上实现它,然后将它们组合在一起,但是生成的RGB图像甚至不接近初始图像。

有什么想法吗?

(我正在使用scipy.signal.signaltools.wiener)

预先感谢

解决方法

好的,skimage(scikit-image)怎么样?在这里看看: https://scikit-image.org/docs/dev/api/skimage.restoration.html#skimage.restoration.wiener

在rgb图像上给出的示例如下:

from skimage import color,data,restoration
img = color.rgb2gray(data.astronaut())
from scipy.signal import convolve2d
psf = np.ones((5,5)) / 25
img = convolve2d(img,psf,'same')
img += 0.1 * img.std() * np.random.standard_normal(img.shape)
deconvolved_img = restoration.wiener(img,1100)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...