首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python实现Wiener滤波去噪

用python实现Wiener滤波去噪
EN

Stack Overflow用户
提问于 2018-12-21 19:06:37
回答 2查看 11.5K关注 0票数 2

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

下面是在我的图像上使用维纳滤镜的代码。输入图像为img5,输出图像为Wiener_filtered。

代码语言:javascript
复制
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“的结果

最终的维纳滤波图像

我需要帮助来找出我哪里出错了。我是图像处理的新手。谁能告诉我正确的方法。

EN

回答 2

Stack Overflow用户

发布于 2018-12-29 18:09:19

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

Wiener Filter for image deblur

为了提高你对去噪的基本理解,scipy和scikit-image有一些有用的教程,例如:

http://www.scipy-lectures.org/advanced/image_processing/#denoising

票数 1
EN

Stack Overflow用户

发布于 2020-03-30 03:11:57

尝试使用:skimage.util中的img_as_float。我认为它应该是有效的:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53883717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档