【图像重建】图像超分辨重建MATLAB源代码(迭代步长自适应)matlab代码

📅 发布时间:2026/8/3 0:18:43
【图像重建】图像超分辨重建MATLAB源代码(迭代步长自适应)matlab代码
​1 简介Multi-image superresolution (SR) techniques produce a high-resolution image from several low-resolution observations. Previous reconstruction-based SR approaches focus more on the optimization models but have not adequately emphasized the mathematic solving techniques for this typically ill-conditioned and under-determined large scale problem. Since step size plays an important role in the iterative SR process, and there is a trade-off between less computation cost and higher accuracy, conven-tional SR methods either adopt a fixed step size to obtain a higher running speed, or use a computationally expensive line search algorithm to pursue an improvement in accuracy. Taking both cues into consideration, in this paper, we propose an adaptive line search strategy to realize the fast convergence of reconstruction-based SR. The approximate analytical expression of step size is introduced to prevent us from setting it empirically or running iterations to test a proper one. We further modify the proposed strategy to be more adaptive under different SR conditions. Using our strategy, one can accelerate the SR process and obtain the optimal solution with less iteration. Experiments are conducted on both synthetic datasets and real-world scenes. Results have demonstrated the effectiveness and outperformance of our proposed strategy compared with other line search strategies.2 部分代码clear all clc filename Set; files dir(fullfile( filename,*.bmp)); file_num 2; % different number corresponds to defferent test images in Set reg_term 1; %regularization term: 1-BTV, 2-Tikhonov Image imread([filename,\,files(file_num).name]); SZ size(size(Image)); if (SZ(2)2) % turn grayscale image to RGB image for qw 1:3 IMAGE (:,:,qw) Image; end else IMAGE Image; end %% Image Degradation D [1,1;-2,1;-1,-3;3,-2]; % Shearing shift Gau fspecial( gaussian, [3 3], 1); % Gaussian bluring kernel spf 2; % sampling factor sigma2 1; % variation of noise LR ImDegrate(IMAGE,D,Gau,spf,sigma2); % image degradation function %% Turn RGB to YCbCr, and only SR the Y component [~, ~, ~, M] size(LR); for w 1:M LR(:,:,:,w) rgb2ycbcr(uint8( squeeze(LR(:,:,:,w)))); end maxiter 10; % maximum number of iteration y1(:,:,:) LR(:,:,1,:); y2(:,:,:) LR(:,:,2,:); y3(:,:,:) LR(:,:,3,:); HRitp1 imresize(y1(:,:,1), spf, bicubic); % bicubic interpolation HRitp1 ImWarp(HRitp1, -D(1,1), -D(1,2)); % shift recovering I1 Wang_SR(HRitp1, y1, D, Gau, spf, maxiter, reg_term); %Our proposed SR method HRitp2 imresize(y2(:,:,1), spf, bicubic); HRitp2 ImWarp(HRitp2, -D(1,1), -D(1,2)); I2 HRitp2; HRitp3 imresize(y3(:,:,1), spf, bicubic); HRitp3 ImWarp(HRitp3, -D(1,1), -D(1,2)); I3 HRitp3; ImZ(:, :, 1) I1; ImZ(:, :, 2) I2; ImZ(:, :, 3) I3; ImZ ycbcr2rgb(uint8( ImZ)); % Turn YCbCr to RGB figure; imshow( uint8( ImZ ) ); title(Wang et al.); figure; imshow( uint8( IMAGE ) ); title(groundtruth); %% Evaluation If double(ImZ); %output image Is double(IMAGE); %reference image [row,col,~]size(If); %RMSE rmse0; for color 1:3 Ifc If(:,:,color); Isc Is(:,:,color); SSEsum(sum((Ifc-Isc).^2)); rmsecsqrt(SSE/(row*col)); rmse rmsermsec/3; end rmse %PSNR psnr0; for color 1:3 Ifc If(:,:,color); Isc Is(:,:,color); maxIs max(max(Isc)); minIs min(min(Isc)); PSNRc 10*log10((row*col*(maxIs-minIs)^2)/sum(sum((Ifc-Isc).^2))); psnr psnrPSNRc/3; end psnr %SSIM ssim0; for color 1:3 Ifc uint8(If(:,:,color)); Isc uint8(Is(:,:,color)); ssimc cal_ssim(Ifc, Isc, 0, 0); ssim ssim ssimc/3; end ssim3 仿真结果4 参考文献[1]朱翚. 利用MATLAB进行图像重建的算法研究[D]. 苏州大学, 2003.部分理论引用网络文献若有侵权联系博主删除。