

第一个图像是我的输入图像。第二个图像是维纳滤波图像,这是我的输出。
下面是在我的图像上使用维纳滤镜的代码。输入图像为img5,输出图像为Wiener_filtered。
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) 下面我附加了输入图像"img5“以及"img6”和"Wiener_filtered“的结果。

输入图像"img5“

"img6“的结果

最终的维纳滤波图像
我需要帮助来找出我哪里出错了。我是图像处理的新手。谁能告诉我正确的方法。
发布于 2018-12-29 18:09:19
你可能想在SOF上检查类似的问题,以便更好地实际了解你使用算法,例如:
Wiener Filter for image deblur
为了提高你对去噪的基本理解,scipy和scikit-image有一些有用的教程,例如:
http://www.scipy-lectures.org/advanced/image_processing/#denoising
发布于 2020-03-30 03:11:57
尝试使用:skimage.util中的img_as_float。我认为它应该是有效的:
from skimage.util import img_as_float
img5 = img_as_float(img5)
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)https://stackoverflow.com/questions/53883717
复制相似问题