matlab nlm,NLM.m · hr_yang/MatlabCode - Gitee.com
% 原始非局部均值(Original Non-local Means, ONLM)算法,基本思想是利用图像中大量冗余信息,对图像中所有相似邻域内像素的灰度值
% 根据权重系数计算加权平均得到受污染像素的灰度估计值,其中权重系数由加权核函数和像素邻域之间的加权欧式距离决定。由于NLM 算法
% 计算量非常大,为提高算法的效率,采用限定邻域搜索范围的 NLM 算法,像素邻域大小 7×7,邻域搜索范围 21×21,并且调整核函数的滤
% 波参数使去噪性能达到最佳
clear;
% close all;
clc;
searchBox_r=10;%搜索框半径
similarBox_r=3;%相似框半径
h=20;%指数函数的衰减因子
rawImage=imread('barbara512.bmp');
% rawImage=imresize(rawImage,0.2);
[rawImage_m, rawImage_n]=size(rawImage);
denoisedImage=zeros(rawImage_m,rawImage_n);
% figure
% imshow(rawImage,[]);%显示原始图像
% title('raw image')
% noise=wgn(rawImage_m,rawImage_n,25);
% noiseImage=double(rawImage)+double(noise);
noiseImage=imnoise(rawImage,'gaussian', 0, 10^2/255^2);
H1=figure;
imshow(noiseImage,[]);%显示加入噪声后图像
title('noise image');
padNoiseImage = padarray(noiseImage,[searchBox_r searchBox_r],'symmetric'); %将边缘对称折叠上去
padNoiseImage = double(padNoiseImage);
%计算高斯核
alpha=1;%高斯加权欧氏距离的标准差
gaussMat = repmat(-similarBox_r:similarBox_r,2*similarBox_r+1,1);
gaussWeight = exp(-((gaussMat).^2+(gaussMat').^2)/(2*alpha*alpha));
%像素点遍历(像素点在搜索区域中心)
for pixel_i=searchBox_r+1:rawImage_m+searchBox_r
for pixel_j=searchBox_r+1:rawImage_n+searchBox_r
average=0;
sweight=0;
NI= padNoiseImage(pixel_i-similarBox_r:pixel_i+similarBox_r,pixel_j-similarBox_r:pixel_j+similarBox_r);%取出像素点邻域
%相似框在搜索框中遍历
for similarBox_i=pixel_i-searchBox_r+similarBox_r:pixel_i+searchBox_r-similarBox_r
for similarBox_j=pixel_j-searchBox_r+similarBox_r:pixel_j+searchBox_r-similarBox_r
NJ= padNoiseImage(similarBox_i-similarBox_r:similarBox_i+similarBox_r,similarBox_j-similarBox_r:similarBox_j+similarBox_r);%取出相似框中心点邻域
difMatrix=(NI-NJ).*gaussWeight;%漏乘了高斯加权矩阵
dij=sum(sum(difMatrix.^2));%代表两个矩阵的相关性,利用像素点的相关性来还原图像
fk=exp(-dij/(h^2));
sweight=sweight+fk;%计算权重和
average = average + fk*padNoiseImage(similarBox_i,similarBox_j); %计算加权和
end
end
denoisedImage(pixel_i-searchBox_r,pixel_j-searchBox_r) = average / sweight;%求加权均值
end
end
H2=figure;
imshow(denoisedImage,[]);%滤波后图像
title('NLM denoised image');
figure(H1);
text(0,0,sprintf('PSNR:%f',my_psnr(double(rawImage),double(noiseImage))));
figure(H2);
text(0,0,sprintf('PSNR:%f',my_psnr(double(rawImage),double(denoisedImage))));
一键复制
编辑
Web IDE
原始数据
按行查看
历史
matlab nlm,NLM.m · hr_yang/MatlabCode - Gitee.com相关推荐
- matlab complexity,complexity.m · zigzag2015/matlab-glonass-signal-choice - Gitee.com
%/** % Данный скрипт: % 1) либо рассчитывает базовый показатель сложности - только по % полосе и мно ...
- matlab drawrect,drawRect.m · gavine/SSD-Single-Shot-Detector-in-Matlab - Gitee.com
% 此函数非本人编写 % 参考自:https://www.cnblogs.com/GarfieldEr007/p/5598861.html function [ dest ] = drawRect( ...
- 博客园Markdown模式的MATLAB代码高亮方案
前言 博客园随笔写作可以使用 Markdown 进行编辑,当展示代码时,可以使用下面的语法来对代码块进行展示: ```language code-content ``` 一般来说,指明了 lang ...
- 非局部相似性 matlab,非局部均值滤波(NLM)和MATLAB程序详解视频教程保持图像细节...
[内容简介]<非局部均值滤波与应用和MATLAB程序详解视频>共6章28节视频,总学时698分钟,合11.6小时.主要内容包括:非局部均值滤波类算法入门,基于滤波参数自适应的非局部均值滤波 ...
- 基于matlab 非局部均值(NLM)滤波图像去噪
基于matlab 非局部均值(NLM)滤波图像去噪 一.简介 1 NLM滤波原理 2 Pixelwise Implementation 3 Patchwise Implementation 二.源代码 ...
- 最近电平接近 NLM 模块化多电平变换器matlab/simulink仿真模型
最近电平接近 NLM 模块化多电平变换器matlab/simulink仿真模型 ID:66120643341036528书院街登山的兰瓜
- 【图像去噪】基于非局部均值(NLM)滤波图像去噪含Matlab源码
1 简介 图像在获取和传输过程中,不可避免地受到外部和内部的干扰,常常因为各种因素的影响而被加入很多噪声,这十分严重的影响了人们对传输后图像信息的读取.因此通过一定方法将被噪声污染的图像进行去噪处理一 ...
- 【信号去噪】基于NLM时间序列心电信号去噪附matlab代码
1 简介 作为一种信号预处理手段,信号去噪在众多信号处理应用中发挥着重要的作用.到目前为止,信号去噪问题被大量研究,并取得了许多重要成果,涌现出了包括非局部均值(NLM)去噪算法在内的一批优秀的去噪方 ...
- 【图像去噪】基于非局部均值(NLM)滤波图像去噪matlab源码
一.简介 1 NLM滤波原理 2 Pixelwise Implementation 3 Patchwise Implementation function [output]=NLmeans(input ...
最新文章
- 华为鸿蒙手机官网价格表,曝下半年华为将推出两款鸿蒙手机:国内独享,价格良心...
- 【Linux】一步一步学Linux——w命令(97)
- 机器学习(1)之梯度下降(gradient descent)
- tpc-c值大于46万_超过46万人参加了2018年慕尼黑啤酒节
- 记录是一段旅程:记录Scribus可获得3课
- Android NDK 【错误】The method loadLibrary(String) is undefined for the type Settings.Syste
- linux nc命令入门
- Silverlight 4常用StringFormat格式总结(转)
- python八皇后问题递归算法_八皇后问题--递归回溯算法(Python实现)
- 【Keras】Keras中fit_generator的使用,及fit、fit_generator、和train_on_batch的区别
- 推荐 :大数据下的用户与价值分析
- 电烙铁使用方法,diy套件
- 浅析网络犯罪如何取证
- 2020_WWW_The Structure of Social Influence in Recommender Networks
- python音频分析工具_python – 鸟鸣音频分析 – 查找两个剪辑的匹配程度
- Trinoo DDOS 攻击软件分析
- requireJS的使用
- 阴沟里翻船——学霸的迷宫
- 欢迎光临我的公众号和我的博客
- 【图形学】后处理下的HDR、颜色分级、颜色映射与颜色空间
热门文章
- 短时间如何过Java校招
- 通信安全重重考验,阿里云通信如何打造企业级“安全感”?
- Microsoft Remote Desktop提示「Your session was disconnected」
- PyCharm中怎么将非当前工程文件的目录的文件加到当前工程中
- 力扣解法汇总2013-检测正方形
- 根据域名展示对应备案号内容的共用站点默认页面index.html
- Poi的Excel的导入导出 支持2007
- python爬取胡歌相关视频弹幕,分析并制作词云
- Ubuntu系统下解压RAR文件
- RHEL6 或CentOS 6配置共享存储--使用iSCSI