zoukankan      html  css  js  c++  java
  • 灰度图超分辨率重建

    下载matlab版完整代码效果图

    close all;
    clear all;
    
    %% 读取真实图像
    im  = imread('Set5utterfly_GT.bmp');
    %im  = imread('Set14zebra.bmp');
    
    %% 设定参数
    up_scale = 3;
    model = 'modelx3.mat';
    % up_scale = 2;
    % model = 'modelx2.mat'; 
    % up_scale = 4;
    % model = 'modelx4.mat';
    
    %% 仅在照度方面工作
    if size(im,3)>1
        im = rgb2ycbcr(im);
        im = im(:, :, 1);
    end
    im_gnd = modcrop(im, up_scale);
    im_gnd = double(im_gnd)/255;%single 这里换成double Matlab 7.0就可以运行了
    
    %% 双三次插值
    im_l = imresize(im_gnd, 1/up_scale, 'bicubic'); %缩小
    im_b = imresize(im_l, up_scale, 'bicubic');%再放大
    
    %% SRCNN
    im_h = SRCNN(model, im_b);
    
    %% 删除边框
    im_h = shave(uint8(im_h * 255), [up_scale, up_scale]);
    im_gnd = shave(uint8(im_gnd * 255), [up_scale, up_scale]);
    im_b = shave(uint8(im_b * 255), [up_scale, up_scale]);
    
    %% 计算 PSNR
    psnr_bic = compute_psnr(im_gnd,im_b);
    psnr_srcnn = compute_psnr(im_gnd,im_h);
    
    %% 显示结果
    fprintf('双三次插值的峰值信噪比: %f dB
    ', psnr_bic);
    fprintf('SRCNN 重建的峰值信噪比: %f dB
    ', psnr_srcnn);
    
    figure, imshow(im_b); title('双三次插值');
    figure, imshow(im_h); title('SRCNN 重建');
    
    imwrite(im_b, ['双三次插值' '.bmp']);
    imwrite(im_h, ['SRCNN 重建' '.bmp']);
    
    

    官方地址

  • 相关阅读:
    MD5
    第一阶段冲刺(十)
    团队作业进度报告
    第一阶段冲刺(九)
    团队作业进度报告
    第一阶段冲刺(八)
    第一阶段冲刺(七)
    团队作业进度报告
    第一阶段冲刺(六)
    团队作业进度报告
  • 原文地址:https://www.cnblogs.com/MemoryDrive/p/13301642.html
Copyright © 2011-2022 走看看