0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

非局部平均滤波——NL-Menas的算法理论

8XCt_sim_ol 来源:疯狂的FPGA 作者:CrazyBingo 2021-08-10 14:45 次阅读

“ 双边滤波采用了距离与相似度因素,进行权重的计算,但在相似度计算时,仅仅是通过像素间的均方差(相似度)来计算权重,容易受噪声影响。而非局部平均滤波采用块之间的相似度计算,有效的提高了匹配的准确度,对噪声的抑制及边缘的保护程度更好。本文重点介绍非局部平均滤波——NL-Menas的算法理论。”

01

理论分析

前面的文章中,我已经讲了几种常见的2D滤波:

1)均值滤波:直接的加权平均,边缘模糊;

2)高斯滤波:考虑像素权重的正态分布,相比均值滤波对细节有一定提升;

3)双边滤波:同时考虑距离和相似度,对边缘的保持效果较好;

4)引导滤波:根据梯度变化求解线性滤波系数,公式的推导比较麻烦,算法对边缘保持效果比双边要好;

这里开始进一步介绍根据相似度计算权重的滤波:非局部平均滤波(NL-Means):基于块相似度匹配来确认权重,计算量比较大,但能获得比较好的效果,对边缘的保护程度也还可以。

高斯滤波和NLMeans的权重都符合高斯分布,区别是前者根据像素点之间的距离计算权重,后者根据块之间的相似度计算权重。要衡量两个邻域块的相似度,有多种指标,均方误差(MSE)是最常用的相似度衡量指标之一。非局部均值滤波算法就是使用MSE来计算两个邻域块的相似度。

理论上,该算法需要在整个图像范围内判断像素间的相似度,也就是说,每处理一个像素点时,都要计算它与图像中所有像素点间的相似度。但是考虑到效率问题,实现的时候,会设定两个固定大小的窗口:搜索窗N*N和邻域窗口n*n。邻域窗口在搜索窗口中滑动,根据邻域间的相似性确定像素的权值。

02

公式推导

由于最终都需要归一化,那么直接去除固定参数,所以精简后的高斯参数与NLMeans的权重计算公式,如下所示:前者只考虑了距离,后者考虑了块之间的相似度。

83d8ab54-f82c-11eb-9bcf-12bb97331649.png

83f6b5ae-f82c-11eb-9bcf-12bb97331649.png

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 噪声
    +关注

    关注

    13

    文章

    1122

    浏览量

    47443
  • 滤波
    +关注

    关注

    10

    文章

    669

    浏览量

    56689
  • MSE
    MSE
    +关注

    关注

    0

    文章

    6

    浏览量

    6580

原文标题:非局部平均滤波-NLMeans算法理论分析

文章出处:【微信号:sim_ol,微信公众号:模拟在线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+内容简介

    、AI芯片、多媒体处理芯片等)都是由四则运算器、滤波器、特殊信号发生器等基本算法电路构成的,熟练掌握这些基本算法电路是实现复杂算法电路的基础。忽视基本
    发表于 11-21 17:14

    STM32的ADC采样及各式滤波算法实现

    本文为手把手教学ADC采样及各式滤波算法的教程,本教程的MCU采用STM32F103ZET6。以HAL库的ADC采样函数为基础进行教学,通过各式常见滤波的实验结果进行分析对比,搭配VOFA+工具直观的展示
    的头像 发表于 10-28 10:51 2701次阅读
    STM32的ADC采样及各式<b class='flag-5'>滤波</b><b class='flag-5'>算法</b>实现

    常用的ADC滤波算法有哪些

    ADC(模数转换器)滤波算法在信号处理中起着至关重要的作用,它们能够帮助我们提取出有用的信号,同时滤除噪声和干扰。以下是常用的ADC滤波算法详解,这些
    的头像 发表于 10-08 14:35 433次阅读

    高斯滤波和双边滤波的区别

    思想是对图像中的每一个像素点,用其邻域内像素的加权平均灰度值来替代该点的灰度值。 高斯滤波的权重由高斯函数决定,距离中心像素点越近的像素点权重越高。 双边滤波 : 是一种非线性的滤波
    的头像 发表于 09-29 09:37 509次阅读

    基于CW32的仪表精度测量实现(一):相关滤波原理

    进行处理。 二、常见的滤波算法 1.小波变换滤波 原理:小波变换通过将信号分解成不同尺度的子信号,可以提取出信号中的局部特征。在滤波中,小波
    的头像 发表于 08-30 18:53 270次阅读
    基于CW32的仪表精度测量实现(一):相关<b class='flag-5'>滤波</b>原理

    bq2750x系列中的Impedance Track™电池电量监测算法理论及实现

    电子发烧友网站提供《bq2750x系列中的Impedance Track™电池电量监测算法理论及实现.pdf》资料免费下载
    发表于 08-30 10:21 1次下载
    bq2750x系列中的Impedance Track™电池电量监测<b class='flag-5'>算法</b>的<b class='flag-5'>理论</b>及实现

    常见的滤波算法有哪些

    滤波是指通过某种方法将信号中的某些频率成分增强或抑制,达到去除噪声、改善信号质量、分离信号等目的的过程。滤波器是实现滤波功能的关键组件,它可以改变信号的频谱特性,对不同频率区域的信号进行处理。
    的头像 发表于 07-29 14:03 6155次阅读
    常见的<b class='flag-5'>滤波</b><b class='flag-5'>算法</b>有哪些

    基于COOT算法局部阴影下光伏阵列MPPT控制研究

    针对光伏阵列在局部阴影下会产生多个功率峰值,可能出现跟踪到错误的功率峰值的情况,将白冠鸡优化算法(COOT)应用于局部阴影MPPT控制,通过动态调整太阳能电池板输出电压和电流,使得太阳能电池
    的头像 发表于 07-23 11:28 258次阅读
    基于COOT<b class='flag-5'>算法</b>的<b class='flag-5'>局部</b>阴影下光伏阵列MPPT控制研究

    中伟视界:智能监控和预警,静止超时AI算法如何提升煤矿山安全?

    本文详细介绍了静止超时AI算法煤矿山的工作原理、技术实现细节和应用场景,并分析了其在安全管理中的实际效果。通过智能监控和预警,静止超时AI算法能够提高矿山的安全防控水平,提升管理效率,降低运营
    的头像 发表于 07-14 11:29 1125次阅读
    中伟视界:智能监控和预警,静止超时AI<b class='flag-5'>算法</b>如何提升<b class='flag-5'>非</b>煤矿山安全?

    请问直通模式下如何添加特定频段的滤波算法

    ; 现在我想在拾音后对特定频段的音频进行滤波算法(如只允许通过500-100Hz频段的音频),这个算法如何添加到pipeline,或者有没有什么建议?
    发表于 06-28 08:18

    CW32数字电压电流表软件教程(七):基本数据处理算法(均值滤波

    均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,
    的头像 发表于 05-28 10:50 483次阅读

    JPEG LS算法局部梯度值计算原理

    如果同一个上下文中对少量元素进行编码,通常无法获得足够的上下文编码信息。但是如果对大量元素进行编码又会带来存储空间变大的问题。因此要对局部梯度值进行量化处理。
    的头像 发表于 04-25 10:46 503次阅读
    JPEG LS<b class='flag-5'>算法</b><b class='flag-5'>局部</b>梯度值计算原理

    机器学习六大核心算法深度解析

    算法历程:线性回归是一种古老的统计方法,它试图找到最佳拟合数据的直线或超平面,最早可以追溯到19世纪初的高斯最小二乘法理论
    发表于 04-23 16:25 1875次阅读
    机器学习六大核心<b class='flag-5'>算法</b>深度解析

    STM32的ADC项目应用,用什么算法滤波和稳定数据抖动?

    STM32的ADC项目应用,大家都用什么算法滤波和稳定数据抖动。 ADC数据的抖动有时候应用在项目上让人很是头疼,什么度娘十大滤波算法也是要斟酌选用。 单片机项目设计中,外设ADC的
    发表于 04-17 08:20

    卡尔曼滤波算法c语言实现方法

    卡尔曼滤波(Kalman Filter)是一种用于估计状态的算法,最初由R.E. Kalman在1960年提出。它是一种线性高斯滤波器,常用于处理包含误差噪声的动态系统。卡尔曼滤波
    的头像 发表于 01-17 10:51 3091次阅读