針對運動圖像超分辨率重建問題,采用一種是不依賴于亞像素的精確運動估計的重建方法,能夠適應復雜的運動模式,且能夠達到較好的重建效果。
二、核心程序
clc;
clear;
close all;
warning off;
addpath 'func\'
%步驟一,讀取連續圖像
folder = 'image\2\';
list = dir('image\2\*.bmp');
N = length(list);
for i=1:N
I = imread(fullfile(folder,list(i).name));
[s1,s2,k] = size(I);
%這里,我們人為的加入一些噪聲等干擾,從來檢測算法性能
r = imnoise2('gaussian',s1,s2,1,50);%填加高斯白噪聲
tmpr = double(I(:,:,1)) + r;
tmpg = double(I(:,:,2)) + r;
tmpb = double(I(:,:,3)) + r;
Is(:,:,1) = tmpr;
Is(:,:,2) = tmpg;
Is(:,:,3) = tmpb;
I_Seq1{i} = I;
I_Seq2{i} = Is.^(0.95);
end
for i=1:N
i
I_curr = uint8(I_Seq1{i});
I_curr_noise = uint8(I_Seq2{i});
%第一步:當前幀
figure(1);
subplot(121);
imshow(I_curr,[]);title('原始圖像');
subplot(122);
imshow(I_curr_noise,[]);title('加入干擾后的圖像');
%第二步:圖像亮度糾正
figure(2);
J = func_eq(I_curr_noise);
subplot(121);
imshow(I_curr_noise,[]);
title('原始圖像');
subplot(122);
imshow(J,[]);
title('圖像-光效亮度調整');
%第三步,第四步:去噪|自適應圖像增強
figure(3);
subplot(121);
imshow(J,[]);
title('圖像-光效亮度調整');
Jd = func_imagedenoise2(J);
subplot(122);
imshow(Jd,[]);
title('圖像-光效亮度調整,去噪,增強');
%第五步:提高分辨率
figure(4);
subplot(121);
imshow(Jd,[]);
title('圖像-光效亮度調整,去噪,增強');
Jd2 = func_fbl(Jd);
subplot(122);
imshow(Jd2,[]);
title('圖像-光效亮度調整,去噪,增強,提高分辨率');
pause(2);
%保存最后處理后的圖片
I_Seq3{i} = Jd2;
end
%第六步:最終處理效果對比
figure(5);
for i = 1:N
subplot(131);
imshow(uint8(I_Seq1{i}),[]);
title('原始圖像');
subplot(132);
imshow(uint8(I_Seq2{i}),[]);
title('原始干擾圖像');
subplot(133);
imshow(uint8(I_Seq3{i}),[]);
title('處理后圖像');
pause(2);
end
三、仿真測試結果