1.一种视频拼接方法,其特征在于,包括:
S1:获取第一视频和第二视频的第k帧的重叠区域,k为帧序号;
S2:利用动态规划法基于第一视频和第二视频的第k帧的重叠区域的第一预设行数为处理单元,查找第一视频和第二视频的第k帧的重叠区域的最优缝;
S3:判断所述重叠区域的宽度是否小于预定阈值,若是,则在YUV空间中每个通道分别以第二预设行数为处理单元,同时满足第一视频和第二视频的第k帧的重叠区域中当前处理单元与上一处理单元保持视觉连续性和第一视频和第二视频的第k帧的重叠区域中当前处理单元与第一视频和第二视频的第k-1帧的重叠区域中同位置处的处理单元保持视觉连续性的条件下,对第一视频和第二视频的第k帧进行颜色校正;其中,所述第二预设行数小于第一预设行数;反之,则直接执行S4;
S4:利用拉普拉斯金字塔图像合成法,对第一视频和第二视频的第k帧的当前第二预设行数的所有行进行合成。
2.如权利要求1所述的视频拼接方法,其特征在于,S2包括:
以所述第一预设行数为处理单元,计算第一视频和第二视频的第k帧的重叠区域的场景变化程度;
基于所述场景变化程度计算第一视频和第二视频的第k帧的重叠区域的最优缝相对于第一视频和第二视频的第k-1帧的重叠区域的最优缝的最大偏移量;
根据所述最大偏移量及第一视频和第二视频的第k-1帧的重叠区域的最优缝的位置,划定出第一视频和第二视频的第k帧的重叠区域最优缝的候选路径;
计算将第一视频和第二视频的第k帧的重叠区域的当前处理单元中所有像素点的匹配代价,将除所述候选路径外其余像素点的匹配代价修改为最大值;
基于第一视频和第二视频的第k帧的重叠区域中修改好的匹配代价,利用动态规划法确定第一视频和第二视频的第k帧的重叠区域的第一预设行数的最优缝。
3.如权利要求2所述的视频拼接方法,其特征在于,S2中查找第一视频和第二视频的第k帧的重叠区域的最优缝由保留第一预定行数的前第二预设行数对应的最优缝段构成。
4.如权利要求2所述的视频拼接方法,其特征在于,计算第一视频和第二视频的第k帧的重叠区域的场景变化程度包括:
将第一视频和第二视频的第k帧的重叠区域均分成N/2块,并计算每块的亮度均值和梯度均值,N大于等于8的偶数;
计算第一视频和第二视频的第k帧的重叠区域和第一视频和第二视频的第k-1帧的重叠区域中相同位置块的亮度均值差和梯度均值差。
5.如权利要求2所述的视频拼接方法,其特征在于,基于所述场景变化程度计算第一视频和第二视频的第k帧的重叠区域的最优缝相对于第一视频和第二视频的第k-1帧的重叠区域的最优缝的最大偏移量采用公式如下:
maxOffset=Min(p,Max(MaxYDiff,MaxGradDiff)*h);
其中,maxOffset为最大偏移量,p最大偏移量的最大值;h为一参数,0<h<1;MaxYDiff=Max(|(AvgYi(k,j)-AvgYi(k-1,j)|);
MaxGradiDiff=Max(|(AvgGradi(k,j)-AvgGradi(k-1,j)|;k为帧序号;j指代当前处理单元;i为块的序号;i=0,1,…N-1,为每个视频第k帧当前处理单元划分的块数,N为大于等于8的偶数;AvgYi(k,j)为第k帧的j位置处第i块的亮度均值,AvgGradi(k,j)为第k帧的j位置处第i块的梯度均值。
6.如权利要求5所述的视频拼接方法,其特征在于,计算将第一视频和第二视频的第k帧的重叠区域的第一预设行数中所有像素点的匹配代价采用公式如下:
Cost(m,n)=(|(GradYAx-GradYBx)|+|(GradYAy-GradYBy)|)/2;
其中,Cost(m,n)表示像素坐标为(m,n)的像素点的匹配代价;GradYAx、GradYAy分别表示第一视频当前处理单元中坐标为(m,n)的像素点在x、y方向的梯度值;GradYBx、GradYBy分别表示第二视频当前处理单元中坐标为(m,n)的像素点在x、y方向的梯度值。
7.如权利要求1所述的视频拼接方法,其特征在于,所述第一预定行数为24行或36行。
8.如权利要求1所述的视频拼接方法,其特征在于,S3中,第一视频和第二视频的第k帧的重叠区域中当前处理单元与第一视频和第二视频的第k-1帧的重叠区域中同位置处的处理单元保持视觉连续性需要满足以下条件:
若(Scale(k,j)-Scale(k-1,j)>T0),令Scale(k,j)=Scale(k-1,j)+T0;
若(Scale(k,j)-Scale(k-1,j)<-T0),令Scale(k,j)=Scale(k-1,j)-T0;
其中,k为帧序号;j指代当前处理单元;T0为一经验值;A为第一视频第k帧的重叠区域;B为第二视频第k帧的重叠区域;(m,n)为当前处理单元中的像素点坐标。
9.如权利要求1所述的视频拼接方法,其特征在于,S3中,第一视频和第二视频的第k帧的重叠区域中当前处理单元与上一处理单元保持视觉连续性需要满足以下条件:
若(Scale(k,j)-Scale(k-1,j)>T1),令Scale(k,j)=Scale(k-1,j)+T1;
若(Scale(k,j)-Scale(k-1,j)<-T1),令Scale(k,j)=Scale(k-1,j)-T1;
其中,k为帧序号;j指代当前处理单元;T1为一经验值;A为第一视频第k帧的重叠区域,B为第二视频第k帧的重叠区域,(m,n)为当前处理单元中的像素点坐标。
10.如权利要求1所述的视频拼接方法,其特征在于,S3中,对第一视频和第二视频的第k帧进行颜色校正包括:对第一视频和第二视频的第k帧的重叠区域进行颜色校正和对第一视频和第二视频的第k帧的非重叠区域进行颜色校正。
11.如权利要求10所述的视频拼接方法,其特征在于,对第一视频和第二视频的第k帧的重叠区域进行颜色校正的校正系数计算公式如下:
GainA=1-TmpA;
GainB=1+TmpB;
其中,GainA为第一视频第k帧的重叠区域的颜色校正的校正系数;GainB为第二视频第k帧的重叠区域的颜色校正的校正系数;TmpA=Scale(k,j)/(2*(Scale(k,j)+1)),TmpB=Scale(k,j)/2,k为帧序号;j指代当前处理单元;(m,n)为当前处理单元中的像素点坐标。
12.如权利要求10所述的视频拼接方法,其特征在于,对第一视频和第二视频的第k帧的非重叠区域进行颜色校正的校正系数计算公式如下:
其中,l为像素点列的序号,l=1,2,…,64,GainA(l)为第一视频的第k帧的重叠区域左侧l列的颜色校正系数;GainB(l)为第二视频的第k帧的当前帧的重叠区域右侧l列的颜色校正系数,TmpA=Scale(k,j)/(2*(Scale(k,j)+1)),TmpB=Scale(k,j)/2。
13.如权利要求1所述的视频拼接方法,其特征在于,S4中包括:
对第一视频和第二视频的第k帧的当前第二预设行数的所有行,以第二预设行数为边长的块为处理单元,求取当前处理单元在对各个视频第k帧的全部重叠区域进行拉普拉斯金字塔分解得到高频分量和低频分量中对应的部分;
对两视频的当前处理单元对应的低频分量和高频分量分别进行合成获得合成后的高频分量和低频分量;
根据合成后的高频分量和低频分量重构出当前处理单元的拉普拉斯金字塔合成结果。
14.如权利要求13所述的视频拼接方法,其特征在于,对两视频的当前处理单元的低频分量进行阿尔法合成获得合成后的低频分量,对两视频的当前处理单元的高频分量进行沿最优缝的合成获得合成后的高频分量。
15.如权利要求13所述的视频拼接方法,其特征在于,分别对第一视频和第二视频的当前处理单元进行拉普拉斯金字塔分解时包括,以当前处理单元为中心,边长为第二预设行数加预定尺寸的块进行拉普拉斯金字塔分解,所述预定尺寸根据高斯模板尺寸及金字塔层数设定。