首页 > 编程语言 >局部非均值算法

局部非均值算法

时间:2024-08-06 14:07:45浏览次数:12  
标签:加权 局部 均值 像素 算法 图像 相似性 NLM

NLM是一种基于图像块相似性的图像去噪方法,由Antoni Buades等人于2005年提出。与传统的基于像素的局部滤波方法不同,NLM利用了图像的自相似性原理,即图像中的大部分结构会在不同的位置重复出现。这种方法在保持边缘清晰度和细节的同时,有效地减少了噪声的影响。

   

NLM降噪的基本步骤:

  1. 相似性度量: 对于图像中的每一个像素pp,在图像的某个搜索区域内找到与该像素周围块(block)相似的其他块。相似度通常使用高斯核或指数函数来衡量,这取决于两个块之间的像素差异。
  2. 加权平均: 使用相似度作为权重,对所有相似块进行加权平均,得到目标像素的去噪估计值。权重越大意味着对应的块与目标像素周围的块越相似,因此对该像素的贡献也越大。
  3. 标准化: 在进行加权平均之前,通常会对权重进行归一化处理,确保所有权重的总和等于1,这样可以避免亮度的改变。

   

具体思路:

1,对当前点A定义较小一个滑动窗口(比如5*5);

2,再对A定义一个较大的邻域范围(11*11),对邻域范围内所有的点取5*5的窗口。计算与A的窗口的差异;

3,计算所有点的差值的平方和,并利用该值来分配权重,并归一化处理;

4,通过加权平均计算A点新的像素值。

   

   

NLM算法在处理自然图像时效果很好,因为它利用了图像的内在冗余和自相似性,但在处理具有高度纹理或复杂结构的图像时,可能需要调整参数以达到最佳效果。此外,NLM算法的计算量相对较大,因为需要在每个像素处执行块匹配和加权平均操作,这使得它在实时应用中可能受限.

   

可参考

 NLM去噪算法实现 - 羽凌寒 - CSDN博客  https://blog.csdn.net/u011630458/article/details/5131741

   

标签:加权,局部,均值,像素,算法,图像,相似性,NLM
From: https://www.cnblogs.com/huqinglong/p/18344997

相关文章

  • 冒泡排序算法
    冒泡排序核心思想:两两相邻的元素进行比较。比如一组数据,{7,2,6,5,0}让其按升序排序。第一趟:(1)2,7,6,5,0     12元素比较,7比2大,交换(2)2,6,7,5,0     23元素比较,7比6大,交换(3)2,6,5,7,0     34元素比较,7比5大,交换(4)2,6,5,0,7     45元素比较,7比0大,交换-五个元......
  • 算法工程师应当了解哪些算法?标准很乱啊
    Hereisamorestrictlycategorizedlistofalgorithms,withbriefexplanationsforeachcategory:1.SortingAlgorithmsQuickSort:Efficientsortingbypartitioningarraysaroundapivot.MergeSort:Divide-and-conquersortingthatmergessortedsubarr......
  • 动量优化算法:加速机器学习模型训练的秘密武器【动量】
    在机器学习和深度学习的训练过程中,优化算法扮演着至关重要的角色。动量优化算法是一种强大的技术,它能够加速模型训练,并帮助我们更快地找到最优解。这篇博客将详细介绍动量优化算法,力求让每一位读者都能轻松理解它的原理和优势。什么是动量优化算法?动量(Momentum)来源于物理......
  • 操作系统—调度算法,文件系统,设备管理,网络系统学习心得
    1.调度算法1.1进程调度算法1.2 内存页面置换算法1.3磁盘调度算法2. 文件系统2.1虚拟文件系统 2.2文件的使用 2.3文件的存储 2.4空闲空间管理2.5文件系统的结构2.6目录的存储2.7软链接和硬链接硬链接:同一个文件的两种路径......
  • mmpose-----人体骨骼关键点算法实现(姿态估计)
    MMPose:是一个基于PyTorch的开源的姿态估计工具箱,支持各种主流的人体姿态估计(2D多人姿态估计、2DHand姿态估计、133个KeyPoints的人体姿态估计、3D人体网格恢复)。(mmpose中包含很多个姿态估计算法,看都看不过来,主要讲述几个最新的top,简单操作,即学即用,跑一下不同的api就有不一样......
  • 从0开始的算法(数据结构和算法)基础(一)
        当我们学会算数开始,算法就无处不在,买菜的时候18元的菜,手上就20元和三张1块的,大多数的人都会全给然后找5块吧。它们是计算机科学的核心,在数字时代更是如此,是解决问题的关键,一个好的算法工程师,到哪去都是很吃香的,对于一个普通程序猿来说,能够掌握算法(不是知道,不会用),但算法......
  • 从0开始的算法(数据结构和算法)基础(二)
    算法效率的评估    评估算法效率的好坏主要涉及到算法的时间复杂度(TimeComplexity)、空间复杂度(SpaceComplexity)以及在实际应用中的运行性能。曾经调侃中文压缩包事件[1],白话、成语、文言文,大多数时候我们明意思白时间和知识量是递增的,时间增长和我们学习的文言文长短有......
  • 「代码随想录算法训练营」第三十天 | 动态规划 part3
    46.携带研究材料(0-1背包问题)题目链接:https://kamacoder.com/problempage.php?pid=1046文章讲解:https://programmercarl.com/背包理论基础01背包-1.html视频讲解:https://www.bilibili.com/video/BV1cg411g7Y6/题目状态:看题解过思路:创建一个二维的dp数组,用来进行动态规划,其......
  • 基于springboot的协同过滤算法的个性化音乐推荐系统(源码+Lw+文档+讲解等)
    博主介绍:✌十余年IT大项目实战经验、在某机构培训学员上千名、专注于本行业领域✌技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫+大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战项目。主要内容:系统功能设计、开题报告......
  • MATLAB在算法处理上的作用
    MATLAB在算法处理上的作用引言MATLAB(MatrixLaboratory)是由MathWorks公司开发的一种高性能语言及其交互环境,广泛应用于数学计算、算法开发、数据分析、仿真建模等领域。其强大的计算能力、丰富的工具箱和高效的可视化功能使其在算法处理方面表现出色。本文将详细探讨MATLAB在......