非局域均值去噪

news/2024/11/29 7:50:48/

http://www.cnblogs.com/luo-peng/p/4785922.html

非局部均值(NL-means)是近年来提出的一项新型的去噪技术。该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征。基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。

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

下图是NL-means算法执行过程,大窗口是以目标像素为中心的搜索窗口,两个灰色小窗口分别是以为中心的邻域窗口。其中以为中心的邻域窗口在搜索窗口中滑动,通过计算两个邻域窗口间的相似程度为赋以权值 。

NL-means执行过程

设含噪声图像为,去噪后的图像为中像素点处的灰度值通过如下方式得到:

其中权值表示像素点间的相似度,它的值由以为中心的矩形邻域间的距离决定:

其中

为归一化系数,为平滑参数,控制高斯函数的衰减程度。越大高斯函数变化越平缓,去噪水平越高,但同时也会导致图像越模糊。越小,边缘细节成分保持得越多,但会残留过多的噪声点。的具体取值应当以图像中的噪声水平为依据。

程序:

复制代码
close all;
clear all;
clc
I=double(imread('lena.tif'));
I=I+10*randn(size(I));
tic
O1=NLmeans(I,2,5,10);
toc
imshow([I,O1],[]);
复制代码
复制代码
function DenoisedImg=NLmeans(I,ds,Ds,h)
%I:含噪声图像
%ds:邻域窗口半径
%Ds:搜索窗口半径
%h:高斯函数平滑参数
%DenoisedImg:去噪图像
I=double(I);
[m,n]=size(I);
DenoisedImg=zeros(m,n);
PaddedImg = padarray(I,[ds,ds],'symmetric','both');
kernel=ones(2*ds+1,2*ds+1);
kernel=kernel./((2*ds+1)*(2*ds+1));
h2=h*h;
for i=1:mfor j=1:ni1=i+ds;j1=j+ds;W1=PaddedImg(i1-ds:i1+ds,j1-ds:j1+ds);%邻域窗口1wmax=0;average=0;sweight=0;%%搜索窗口rmin = max(i1-Ds,ds+1);rmax = min(i1+Ds,m+ds);smin = max(j1-Ds,ds+1);smax = min(j1+Ds,n+ds);for r=rmin:rmaxfor s=smin:smaxif(r==i1&&s==j1)continue;endW2=PaddedImg(r-ds:r+ds,s-ds:s+ds);%邻域窗口2Dist2=sum(sum(kernel.*(W1-W2).*(W1-W2)));%邻域间距离w=exp(-Dist2/h2);if(w>wmax)wmax=w;endsweight=sweight+w;average=average+w*PaddedImg(r,s);endendaverage=average+wmax*PaddedImg(i1,j1);%自身取最大权值sweight=sweight+wmax;DenoisedImg(i,j)=average/sweight;end
end
复制代码

结果:

可以看出,NL-means去噪效果的确很好。但是该算法的最大缺陷就是计算复杂度太高,程序非常耗时,导致该算法不够实用。上例中256*256的lena图耗时高达33.913968s!!



http://www.ppmy.cn/news/798256.html

相关文章

局域网络设计方案

 绪论 一、前言 二十一世纪是知识经济时代。随着现代科学技术的飞速发展,全球信息化浪潮势不可挡,已经迅速延伸至国防、科研、经济、教育等各个领域,也不可避免地改变着传统的企业人事的工作模式,利用当…

基于RBF和小波变换的局域波法

1.气缸盖压振动是多种激励力作用的结果,由于各个激励力的时间间隔性,可以通过时域加窗来提取缸盖有气缸压力引起的振动响应信号。 2.时域统计平均技术:从混有噪声干扰的信号中提取有用信号的技术。 3.平滑处理 4.等曲柄转角化和信号重采样…

vasp-电荷局域密度图(ELF)

以Graphene为例: INCAR: 添加LELF .TRUE. SYSTEM graphene ISTART 0 ICHARG 2 #Startparameter for this run: PREC A #Electronic Relaxation ENCUT 500 NELM 60 NELMIN 6 NELMDL -12 …

Origin画图技巧之放大局域图技巧2

Oringin版本2017C以上中文版都可实现。 1. 2.首先点击工具放大镜,其次按住ctrl,然后对放大区域拉着鼠标进行选取。 3.新图层就生成出来了,对新图层进行优化。 4.优化后,右键选择复制图层。复制到原有的页面即可。注释&#xff1a…

三种栅格分析方法的区别:邻域分析、局域分析和分区运算

我们都知道遥感图像的每个波段,其实质就是一个二维矩阵,每个栅格都是一个数值,即DN(Digital Number)值。在栅格数据分析中,使用最多的无疑是邻域分析、局域分析和分区运算了,其中局域运算又分为…

Unity获取本机局域和广域网IP

/**** * Title: MXFramework* 主题: 获取本机IP* Description: * 功能:获取局域网和广域网IP* * Date: 2020* Version: v5.0版本* Modify Recoder: * */using System; using System.Collections; using System.Net.Network…

差分电荷密度怎么画_科学网—差分电荷密度图、电荷局域密度图(ELF)的画法及分析 - 叶小球的博文...

关注: 1) 电荷密度图、差分电荷密度图及ELF的原理 2) 计算方法及参数设置 影响ELF准确性的参数有哪些? 在计算效率与准确性/精确性之间权衡。 Ecut, KPOINTS? 3) 画法及单位问题 4) 差分电荷电荷密度图与ELF判断成键情形的各自优缺点 5) 软件开发->背后物理化学…

计算机网络:局域网络设备

网络设备是指连接到网络中的物理实体,常用的网络设备包括集线器、交换机、网桥、路由器、网关、无线接入点、网卡和调制解调器等。局域网中使用的网络设备均工作在物理层和数据链路层,包括中继器、集线器、网桥及交换机等。 具体的局域网络设备及其工作…