matlab对一组数据做低通滤波_matlab对一组数据做低通滤波

matlab对一组数据做低通滤波_matlab对一组数据做低通滤波NLM滤波器的基本思想是,在图像中寻找与当前像素周围区域的像素值相似的像素块,计算这些像素块与当前像素块之间的相似度

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


matlab对一组数据做低通滤波_matlab对一组数据做低通滤波

💥1 概述

图像去噪是图像处理中的重要问题之一。NLM(Non-local Means)滤波器是一种经典的图像去噪算法,基于图像中重复的局部结构,通过使用相似像素的加权平均来移除高斯噪声和其它噪声。

NLM滤波器的基本思想是,在图像中寻找与当前像素周围区域的像素值相似的像素块,计算这些像素块与当前像素块之间的相似度。通过这些相似度计算权重,以这些块内的像素值作为两个像素点的相似性度量,对像素点进行加权平均,从而去除噪声。

具体而言,NLM滤波器的计算步骤如下:

1. 对于每个像素点,选择一个邻域窗口,定义为一个大小为 $w \times w$ 的矩形区域。

2. 对于每个邻域窗口,在图像中寻找与该窗口相似的像素块。这些像素块可以从图像中的其他位置选取,也可以从邻域窗口周围的位置选取。

3. 对于找到的每个相似像素块,计算与当前像素块之间的相似度(通常使用均方差或者 PSNR 等度量)。

4. 根据相似度计算像素块的权重,将这些相似像素块的像素值加权平均,作为当前像素点的去噪后值。

5. 对所有像素点重复执行步骤 1 到 4,直到所有像素点均被处理。

需要注意的是,NLM滤波器的计算量较大,特别是在处理大型图像时。因此,在实际应用中,通常会使用一些特定优化方法,如快速 NLM 算法、可加速 NLM 算法等。

总的来说,NLM滤波器是一种基于相似像素的图像去噪算法,可以有效地去除高斯噪声和其它噪声。

📚2 运行结果

matlab对一组数据做低通滤波_matlab对一组数据做低通滤波

matlab对一组数据做低通滤波_matlab对一组数据做低通滤波

部分代码:

tic
denoised = simple_nlm(noisy,t,f,h1,h2,selfsim);
cpuTime=toc

figure(1)
subplot(2,2,1),imshow(image),title(‘original’);
subplot(2,2,2),imshow(noisy),title(‘noisy’);
subplot(2,2,3),imshow(denoised),title(‘filtered’);
subplot(2,2,4),imshow(noisy-denoised),title(‘residuals’);

mse = norm(image-denoised, ‘fro’)/numel(image);
psnr = 10*log10(1/mse)

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]孙忠贵.非局部均值滤波器研究及应用[D].南京航空航天大学[2023-11-01].

[2]李玲.基于非局部均值的图像去噪方法研究[D].安徽理工大学[2023-11-01].DOI:CNKI:CDMD:2.1018.182807.

[3]钟莹.结构特性匹配的非局部均值图像去噪算法研究[D].合肥工业大学,2014.DOI:10.7666/d.D574768.

🌈4 Matlab代码实现

今天的文章matlab对一组数据做低通滤波_matlab对一组数据做低通滤波分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82382.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注