matlab讀取多幅圖片,並對讀取的圖片降采樣和雙三次插值


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 = '完成'

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM