首页 > 行业资讯 > 【图像去噪】基于双立方插值和稀疏表示实现图像去噪matlab源码

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

时间:2022-07-25 来源: 浏览:

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

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #图像处理matlab源码 768个

1 内容介绍

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

2 仿真代码

% ========================================================================= % Simple demo codes for image super-resolution via sparse representation % % Reference % ========================================================================= clear all; clc; % read test image im_l = imread(’Data/Testing/input.bmp’); % set parameters lambda = 0.2; % sparsity regularization overlap = 4; % the more overlap the better (patch size 5x5) up_scale = 2; % scaling factor, depending on the trained dictionary maxIter = 20; % if 0, do not use backprojection % load dictionary load(’Dictionary/D_1024_0.15_5.mat’); % change color space, work on illuminance only im_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 reference im_b = imresize(im_l, [nrow, ncol], ’bicubic’); % read ground truth image im = imread(’Data/Testing/gnd.bmp’); % compute PSNR for the illuminance channel bb_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 images figure, 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代码问题可私信交流。

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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐