【图像去噪】基于双立方插值和稀疏表示实现图像去噪matlab源码

1 内容介绍

本文解决了从单个低分辨率输入图像生成超分辨率 (SR) 图像的问题。我们从压缩感知的角度来解决这个问题。低分辨率图像被视为高分辨率图像的下采样版本,假设其补丁相对于原型信号原子的过完备字典具有稀疏表示。压缩感知的原理保证了在温和的条件下,稀疏表示可以正确地从下采样信号中恢复出来。我们将证明稀疏性的有效性作为规范否则不适定的超分辨率问题的先验。我们进一步表明,从与输入图像具有相似统计性质的训练图像中随机选择的一小组原始补丁通常可以作为一个好的字典,因为计算的表示是稀疏的,而恢复的高分辨率图像具有竞争力甚至质量优于其他 SR 方法生成的图像。

2 仿真代码

% =========================================================================% Simple demo codes for image super-resolution via sparse representation%% Reference% =========================================================================clear all; clc;% read test imageim_l = imread('Data/Testing/input.bmp');% set parameterslambda = 0.2;                   % sparsity regularizationoverlap = 4;                    % the more overlap the better (patch size 5x5)up_scale = 2;                   % scaling factor, depending on the trained dictionarymaxIter = 20;                   % if 0, do not use backprojection% load dictionaryload('Dictionary/D_1024_0.15_5.mat');% change color space, work on illuminance onlyim_l_ycbcr = rgb2ycbcr(im_l);im_l_y = im_l_ycbcr(:, :, 1);im_l_cb = im_l_ycbcr(:, :, 2);im_l_cr = im_l_ycbcr(:, :, 3);% image super-resolution based on sparse representation[im_h_y] = ScSR(im_l_y, 2, Dh, Dl, lambda, overlap);[im_h_y] = backprojection(im_h_y, im_l_y, maxIter);% upscale the chrominance simply by "bicubic" [nrow, ncol] = size(im_h_y);im_h_cb = imresize(im_l_cb, [nrow, ncol], 'bicubic');im_h_cr = imresize(im_l_cr, [nrow, ncol], 'bicubic');im_h_ycbcr = zeros([nrow, ncol, 3]);im_h_ycbcr(:, :, 1) = im_h_y;im_h_ycbcr(:, :, 2) = im_h_cb;im_h_ycbcr(:, :, 3) = im_h_cr;im_h = ycbcr2rgb(uint8(im_h_ycbcr));% bicubic interpolation for referenceim_b = imresize(im_l, [nrow, ncol], 'bicubic');% read ground truth imageim = imread('Data/Testing/gnd.bmp');% compute PSNR for the illuminance channelbb_rmse = compute_rmse(im, im_b);sp_rmse = compute_rmse(im, im_h);bb_psnr = 20*log10(255/bb_rmse);sp_psnr = 20*log10(255/sp_rmse);% show the imagesfigure, subplot(131),imshow(im_l);title('原图')subplot(132),imshow(im_h);title(['PSNR for 稀疏表示',num2str( sp_psnr)]);subplot(133), imshow(im_b);title(['PSNR for 双立方插值',num2str(bb_psnr)]);

3 运行结果

4 参考文献

[1]王国权, 张扬, 李彦锋,等. 一种基于稀疏表示的图像去噪算法[J]. 工业仪表与自动化装置, 2013.

[2]刘美娟. 基于MATLAB的图像去噪研究[C]// 挑战与机遇:2010高校GIS论坛. 0.

[3]郭晓峰, 陈钊正, 刘圣卿,等. 一种基于图像稀疏表达的图像去噪方法及系统:, CN109727219A[P]. 2019.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值