文件路径:

滤波算法main.m:

%% 测试函数
%NLM滤波及滤波与
clc,clear all,close all;
ima_ori=double(imread('F:\Users\****n\Documents\MATLAB\TestImages\标准图像\lenna.bmp'));%原图 ima=imresize(ima_ori,0.5,'nearest');
[wid,len,channels]=size(ima);
search=;%搜索窗半径大小=
patch=;%匹配窗半径大小
sigma=;
rima=imresize(ima,,'bicubic');%原图降采样后的双三次插值放大
% denoise
fima=rima;
if channels>
for i=:channels
fima(:,:,i)=NLmeansfilter(rima(:,:,i),search,patch,sigma);
end
end % show results
%subplot(,,),imshow(uint8(ima)),title('original');
subplot(,,),imshow(uint8(rima)),title('ori-bicubic');
subplot(,,),imshow(uint8(fima)),title('filtered');%NLM滤波后图像
[PSNR_ori, MSE_ori] = psnr(rima, ima_ori);
[PSNR_nlm, MSE_nlm] = psnr(fima, ima_ori);%将双三次插值的结果


记录:有些忘了,貌似是想对比滤波+插值插值+滤波?

[PSNR_ori, MSE_ori] = psnr(rima, ima_ori);
[PSNR_nlm, MSE_nlm] = psnr(fima, ima_ori);

分别计算的是单纯降采样后又插值的psnr,以及,插值后又进行了滤波的psnr。

可以发现,多了nlm滤波步骤后,psnr由29.1026->29.2503,提高了0.1477。

【代码备份】原图降采样后进行NLM滤波的更多相关文章

  1. 【代码备份】NLM插值

    文件路径: main.m: %% 测试函数 clc,clear all,close all; %输入的原始小图 ima_ori=double(imread('F:\Users\****n\Docume ...

  2. 图像的降采样与升采样(二维插值)----转自LOFTER-gengjiwen

    图像的降采样与升采样(二维插值) 1.先说说这两个词的概念: 降采样,即是采样点数减少.对于一幅N*M的图像来说,如果降采样系数为k,则即是在原图中 每行每列每隔k个点取一个点组成一幅图像.降采样很容 ...

  3. upsampling(上采样)& downsampled(降采样)

    缩小图像 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的是两个: 使得图像符合显示区域的大小: 生成对应图像的缩略图: 下采样的原理: 对于一幅图像尺寸为 ...

  4. 图像上采样(图像插值)增取样(Upsampling)或内插(Interpolating)下采样(降采样),

    缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图.放大图像(或称为上采样(upsamplin ...

  5. opencv::图像上采样和降采样

    图像金字塔概念 . 我们在图像处理中常常会调整图像大小,最常见的就是放大(zoom in)和缩小(zoom out),尽管几何变换也可以实现图像放大和缩小,但是这里我们介绍图像金字塔 . 一个图像金字 ...

  6. 同时将代码备份到Gitee和GitHub

    同时将代码备份到Gitee和GitHub 如何将GitHub项目一步导入Gitee 如何保持Gitee和GitHub同步更新 如何将GitHub项目一步导入Gitee 方法一: 登陆 Gitee 账号 ...

  7. matlab读取多幅图片,并对读取的图片降采样和双三次插值

    clear all clc im = {}; %%创建字典im以保存读取的图片 dis = dir('C:\Users\KCl\Documents\MATLAB\SRCNN\Set5\*.bmp'); ...

  8. innobackup stream 压缩备份,解压后的qp文件

    是用innobackup stream 压缩备份,解压后很多文件还是qp格式的压缩文件,需要再解压. 备份: [root@ ~]# /usr/bin/innobackupex --defaults-f ...

  9. 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。

    客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值.     无论是什么的html控件,只要加上了runat="server" ...

随机推荐

  1. Web.config中设置启用webservice远程调试訪问

    在.NET 中已经默认将webservice的远程调试功能关闭.有的时候我们须要远程调试程序的时候,就须要打开此功能我们仅仅需在webservice的项目的中添web.config的<syste ...

  2. Linux系统扩容根目录磁盘空间

    作者:非法小恋 一.使用背景 Linux根目录磁盘空间不够用了,当修改了虚拟机模版增加磁盘大小或者插入了一块新硬盘,但是发现系统里的大小还是没改变. 产生的原因是没有给磁盘格式化,没有增加分区. 二. ...

  3. Android API之onLayout, onMeasure

    android.view.ViewGroup protected void onLayout(boolean changed, int l, int t, int r, int b) 执行layout ...

  4. Android 读取<meta-data>元素中的数据

    众所周知, 每个组件都有<meta-data>元素, 用于接收一些外部数据(eg: appKey), 那其中的值应该怎么读取呢. 1> Application <applica ...

  5. C#实现DevExpress本地化实例详解

    using System; using System.Collections.Generic; using System.Text; using DevExpress.XtraGrid.Localiz ...

  6. HBase源代码分析之HRegionServer上MemStore的flush处理流程(二)

    继上篇文章<HBase源代码分析之HRegionServer上MemStore的flush处理流程(一)>遗留的问题之后,本文我们接着研究HRegionServer上MemStore的fl ...

  7. python 使用urllib.urlopen超时问题的解决方法

    准备写一个python脚本抓取网页数据,前面抓了几个都没有什么问题,但总会抓取不完整,在中间过程中没有反应,发现执行urlopen的地方总是提示超时,百度了一下,因为我使用的是urllib不是urll ...

  8. 每日英语:Air Pollution From Coal Use Cuts Lifespans in China, Study Shows

    Air pollution from coal combustion likely cut life expectancy in parts of China by more than five ye ...

  9. Mysql变量声明与使用

    set @today='2017-04-25';set @ydate=DATE_SUB(@today, INTERVAL 7 day);select @today, @ydate; 待续....

  10. js监听文本框变化事件

    用js有两种写法: 法一: <!DOCTYPE HTMl> <html> <head> <title> new document </title& ...