第一张图片是我的输入图片。第二张图像是经过维纳滤波的图像,这是我的输出。
以下是在我的图像上使用维纳滤镜的代码。输入图像为“ 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”的结果
最终的维纳滤波图像
我需要帮助找出我哪里出了问题。我是图像处理的新手。有人可以告诉我正确的方法吗?
答案 0 :(得分:0)
您可能想在SOF上检查类似的问题,以便对使用该算法有更好的实际了解,例如:
Wiener Filter for image deblur
为提高您对降噪的基本理解,有一些有用的教程可用于scipy和scikit-image,例如:
http://www.scipy-lectures.org/advanced/image_processing/#denoising
答案 1 :(得分:0)
尝试使用:img_as_float
中的skimage.util
。我认为应该可以:
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)