毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

MATLAB铁路监控视频的超分辨率技术研究(12)

时间:2017-01-16 19:52来源:毕业论文
ImageName=111.jpg; F0=imread(ImageName,jpg); F0=im2double(F0); (a) 原始图像 (b) 原始图像图3.1 (2) 读取图像生成第一幅参考图像LR1,不需要考虑运动,对点扩散函数进行


ImageName=’111.jpg';
F0=imread(ImageName,'jpg');
F0=im2double(F0);  
                    (a) 原始图像                         (b) 原始图像图3.1

(2)    读取图像生成第一幅参考图像LR1,不需要考虑运动,对点扩散函数进行高斯低通滤波,对双精度图像进行卷积滤波,先模糊,再抽样。
PSF = fspecial('gaussian',hsize,sigma);
F0 = imfilter(F0,PSF,'same','conv');
for m1 = 1:size(F0,1)/2,          
for m2 = 1:size(F0,2)/2,        
        G0(m1,m2)=(F0(2*m1-1,2*m2-1)+F0(2*m1-1,2*m2)+F0(2*m1,2*m2-1)+F0(2*m1,2*m2))/4;
    end
end
imwrite(G0,'LR1.jpg','jpg');
       (a)  第一帧参考图像LR1                (b) 第一帧参考图像LR1
图3.2

(3)  通过像素的运动生成LR图像序列。根据运动矢量公式mcY,mcX分别为运动后像素点在HR网格中的位置;Y,X为参考图像像素点位置;u,v由参考图像指向当前的图像,X,mcX为列;Y,mcY为行;Y、X为运动前的坐标,mcY,mcX为运动后的坐标。 当前图像中坐标为(n1,n2)的点,在参考帧中的坐标为(N1,N2)。
u = k(num,1)+ k(num,2).*X + k(num,3).*Y ;
v = k(num,4)+ k(num,5).*X + k(num,6).*Y ;
mcX = X - u;
mcY = Y - v;
F=zeros(size(F0,1),size(F0,2));
for n1 = 1:size(F0,1)
for n2 = 1:size(F0,2)
N2 = mcY(n1,n2);
N1 = mcX(n1,n2);  
(4)  最后加噪
G0=imnoise(G0,'gaussian',m,var);
最终分别各得到4幅低分辨率图像LR1,LR2,LR3,LR4。    
    (a) LR1                   (b) LR2                   (c) LR3                   (d) LR4
图3.3 低分辨率图像序列
     (a) LR1                     (b) LR2                  (c) LR3                   (d) LR4
图3.4 低分辨率图像序列
(5)选取第一帧降质图像,进行双线性插值产生参考帧,读入下一帧低分辨率图像,与参考帧做精确亚像素估计。
(6)运用POCS算法进行超分辨率图像的重建
下面对实验进行设置,设置不同的运动模糊和噪声对原始测试图像进行降质,最终得到重建图像如图3.5所示(此次实验加入的高斯噪声均值为0)。
(a) 双线性插值获得的参考帧                     (b) 双线性插值获得的参考帧
图3.5 表3.1 A与B图实验设置值
    运动    模糊    噪声
情况1    (0,0),(0,1)(1,0),(1,1)    大小为3 3
方差为1    方差为0.00001
情况2    (0,0),(0,2)(2,0),(2,2)    大小为3 3 MATLAB铁路监控视频的超分辨率技术研究(12):http://www.751com.cn/tongxin/lunwen_2326.html
------分隔线----------------------------
推荐内容