clear all clc im = {}; %%創建字典im以保存讀取的圖片 dis = dir('C:\Users\KCl\Documents\MATLAB\SRCNN\Set5\*.bmp'); for i = 1:length(dis) path = strcat('C:\Users\KCl\Documents\MATLAB\SRCNN\Set5\',dis(i).name); im{i} =imread(path); %%將讀取到的圖像存儲在字典im中 up_scale = 3; %%將降采樣系數設為3,即圖像縮小3倍 if size(im{i},3)>1 %%如果圖像不是單通道,則轉化為灰度圖 im{i} = rgb2ycbcr(im{i}); im{i} = im{i}(:, :, 1); end im_gnd{i} = modcrop(im{i}, up_scale); im_gnd{i} = single(im_gnd{i})/255; %% bicubic interpolation im_l{i} = imresize(im_gnd{i}, 1/up_scale, 'bicubic'); im_b{i} = imresize(im_l{i}, up_scale, 'bicubic'); figure,imshow(im_l{i}) figure,imshow(im_b{i}) %%為了同時顯示多幅圖片,不加figure的話只會顯示一副圖片,因為讀入的第i副圖片會被第i+1副圖片覆蓋 end a = '完成'