Non-Local Means Denoising 非局部均值滤波降噪算法

本文解析了Non-Local Means (NLM) 防抖算法,介绍其基于像素相似性的加权求均值原理,比较于均值滤波的改进之处,以及详细步骤和计算挑战。讨论了如何优化该算法并列举了其在图像处理中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先把论文的连接放给大家:Non-Local Means Denoising

算法效果

NLM算法是根据图像中像素点与其周围像素点的灰度值相似度进行加权求均值。以此在一定程度上消除噪声,同时保留更多的有效信息。对于这个算法本身,可以理解为类似于均值滤波,均值滤波把目标像素点周围像素点的权重都看做1,而本算法将权重通过计算,将相似像素点的权重升高,降噪效果更佳。

算法阐述

在这里插入图片描述

这个图片能很好地解释这个算法的大概思路。

算法的基本结构

  • 框框R,是一个搜索框,例子中框框R的边长是21,中心像素点X就是我们想要求的目标像素点。
  • 搜索框R中心位置上的框框L是以X为中心画的边长为5的一个块。
  • R坐上角的Y所在的块L1是一个和L长宽相等的块。

在这个模型下我们进行NLM算法的大概步骤是这样的:

  1. 对于一幅图像,先对它的上、下、左、右边缘进行复制,扩展它的边界。在这个例子中边界应该扩展的距离就是(5-1)/2+(21-1)/2=12
  2. 接下来取位于原图像中左上角第一个元素X,并以此为中心取小框框L和搜索框R,在搜索框内的任务就是计算X的输出像素值。先取左上角的点作为Y点,计算L与L1两块之间对应点灰度的MSD(Mean Squared Difference)即平均平方误差(求对应两点灰度值的差的平方,所有组结果之和除以小框中的像素点数25)记为d。根据d求得像素点X与Y点之间的权重W。
  3. 移动Y点直至计算出X点与搜索框内所有点的权重,求得权与对应的Y点的灰度值乘积之和除以所有权重之和Wall结果即为像素点X的输出灰度值。
  4. 之后就要移动X点直至求出原图对应所有像素点的输出灰度值。

这个算法的计算量大得惊人,很小的图片就要算几分钟,所以可以进行算法的改进。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值