Python 3.x 用python实现Wiener滤波器去噪

Python 3.x 用python实现Wiener滤波器去噪,python-3.x,opencv,image-processing,scikit-image,wiener-filter,Python 3.x,Opencv,Image Processing,Scikit Image,Wiener Filter,第一个图像是我的输入图像。第二个图像是维纳滤波图像,这是我的输出 下面是在我的图像上使用维纳滤波器的代码。输入图像为“img5”,输出图像为“维纳滤波” 下面我附上了输入图像“img5”以及“img6”和“维纳滤波”的结果 输入图像“img5” “img6”的成果 最后的维纳滤波图像 我需要帮助找出哪里出了问题。我是图像处理新手。有人能告诉我正确的方法吗。您可能想在SOF上查看类似的问题,以便更好地了解您使用该算法的实际情况,例如: 为了提高您对去噪的基本理解,有一些针对scipy和sc

第一个图像是我的输入图像。第二个图像是维纳滤波图像,这是我的输出

下面是在我的图像上使用维纳滤波器的代码。输入图像为“img5”,输出图像为“维纳滤波”

下面我附上了输入图像“img5”以及“img6”和“维纳滤波”的结果

输入图像“img5”

“img6”的成果

最后的维纳滤波图像


我需要帮助找出哪里出了问题。我是图像处理新手。有人能告诉我正确的方法吗。

您可能想在SOF上查看类似的问题,以便更好地了解您使用该算法的实际情况,例如:

为了提高您对去噪的基本理解,有一些针对scipy和scikit图像的有用教程,例如:


尝试使用:
img\u as\u float
from
skimage.util
。我认为它应该起作用:

从skimage.util导入img\u作为\u float
img5=img_as_float(img5)
psf=np.one((5,5))/25
img6=卷积2D(img5,psf,“相同”)
img6+=0.1*img6.std()*np.random.standard_normal(img6.shape)
维纳滤波=restoration.Wiener(img6,psf,1100)
psf = np.ones((5,5)) / 25
img6 = convolve2d(img5,psf,'same')
img6 += 0.1 * img6.std() * np.random.standard_normal(img6.shape)
Wiener_filtered = restoration.wiener(img6,psf,1100)