资源简介
这里主要讲深度学习用在超分辨率重建上的开山之作SRCNN。超分辨率技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。SR可分为两类:从多张低分辨率图像重建出高分辨率图像和从单张低分辨率图像重建出高分辨率图像。基于深度学习的SR,主要是基于单张低分辨率的重建方法,即Single Image Super-Resolution (SISR)。
SR方法主要可以分为四种模型:基于边缘,基于图像统计,基于样本(基于补丁)的方法。本文的SRCNN网络结构非常简单,仅仅只有三层网络就是实现了SR。网络结构如下图所示:
代码片段和文件信息
clear;close all;
%% settings
folder = ‘Test/Set5‘;
savepath = ‘test.h5‘;
size_input = 33;
size_label = 21;
scale = 3;
stride = 21 ;
%% initialization
data = zeros(size_input size_input 1 1);
label = zeros(size_label size_label 1 1);
padding = abs(size_input - size_label)/2;
count = 0;
%% generate data
filepaths = dir(fullfile(folder‘*.bmp‘));
for i = 1 : length(filepaths)
image = imread(fullfile(folderfilepaths(i).name));
image = rgb2ycbcr(image);
image = im2double(image(: : 1));
im_label = modcrop(image scale);
[heiwid] = size(im_label);
im_input = imresize(imresize(im_label1/scale‘bicubic‘)[heiwid]‘bicubic‘);
for x = 1 : stride : hei-size_input+1
for y = 1 :stride : wid-size_input+1
subim_input = im_input(x : x+size_input-1 y : y+size_input-1);
subim_label = im_label(x+padding : x+padding+size_label-1 y+padding : y+padding+size_label-1);
count=count+1;
data(: : 1 count) = subim_input;
label(: : 1 count) = subim_label;
end
end
end
order = randperm(count);
data = data(: : 1 order);
label = label(: : 1 order);
%% writing to HDF5
chunksz = 2;
created_flag = false;
totalct = 0;
for batchno = 1:floor(count/chunksz)
last_read=(batchno-1)*chunksz;
batchdata = data(::1last_read+1:last_read+chunksz);
batchlabs = label(::1last_read+1:last_read+chunksz);
startloc = struct(‘dat‘[111totalct+1] ‘lab‘ [111totalct+1]);
curr_dat_sz = store2hdf5(savepath batchdata batchlabs ~created_flag startloc chunksz);
created_flag = true;
totalct = curr_dat_sz(end);
end
h5disp(savepath);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1771 2015-07-08 11:32 SRCNN\generate_test.m
文件 1769 2015-07-08 11:31 SRCNN\generate_train.m
文件 279 2015-03-17 01:58 SRCNN\modcrop.m
文件 1088 2015-07-01 12:36 SRCNN\Readme.txt
文件 1318 2015-07-01 12:32 SRCNN\saveFilters.m
文件 1478 2015-07-01 11:25 SRCNN\SRCNN_mat.prototxt
文件 1705 2015-07-01 12:27 SRCNN\SRCNN_net.prototxt
文件 566 2015-07-01 11:29 SRCNN\SRCNN_solver.prototxt
文件 2897 2015-06-05 03:14 SRCNN\store2hdf5.m
文件 720054 2015-03-17 01:58 SRCNN\Test\Set14\baboon.bmp
文件 1244214 2015-03-17 01:58 SRCNN\Test\Set14\barbara.bmp
文件 263222 2015-03-17 01:58 SRCNN\Test\Set14\bridge.bmp
文件 304182 2015-03-17 01:58 SRCNN\Test\Set14\coastguard.bmp
文件 271526 2015-03-17 01:58 SRCNN\Test\Set14\comic.bmp
文件 228584 2015-03-17 01:58 SRCNN\Test\Set14\face.bmp
文件 543054 2015-03-17 01:58 SRCNN\Test\Set14\flowers.bmp
文件 304182 2015-03-17 01:58 SRCNN\Test\Set14\foreman.bmp
文件 786486 2015-03-17 01:58 SRCNN\Test\Set14\lenna.bmp
文件 786486 2015-03-17 01:58 SRCNN\Test\Set14\man.bmp
文件 1179702 2015-03-17 01:58 SRCNN\Test\Set14\monarch.bmp
文件 786486 2015-03-17 01:58 SRCNN\Test\Set14\pepper.bmp
文件 1041782 2015-03-17 01:58 SRCNN\Test\Set14\ppt3.bmp
文件 688214 2015-03-17 01:58 SRCNN\Test\Set14\zebra.bmp
文件 786486 2015-03-17 01:58 SRCNN\Test\Set5\baby_GT.bmp
文件 248886 2015-03-17 01:58 SRCNN\Test\Set5\bird_GT.bmp
文件 196730 2015-03-17 01:58 SRCNN\Test\Set5\butterfly_GT.bmp
文件 235254 2015-03-17 01:58 SRCNN\Test\Set5\head_GT.bmp
文件 235350 2015-03-17 01:58 SRCNN\Test\Set5\woman_GT.bmp
文件 6887544 2018-02-17 22:20 SRCNN\test.h5
文件 23 2015-07-01 11:24 SRCNN\test.txt
............此处省略101个文件信息
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论