一种视频图像拼接方法及装置制造方法

文档序号:7813941阅读:218来源:国知局
一种视频图像拼接方法及装置制造方法
【专利摘要】本发明实施例公开了一种视频图像拼接方法及装置,涉及视频处理【技术领域】,包括:获得第一视频拍摄终端所拍摄的第一视频的第一视频帧;获得第二视频拍摄终端所拍摄的第二视频的第二视频帧;根据视频图像拼接参数,确定第一视频帧和第二视频帧对应的图像拼接区域,视频图像拼接参数为:在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的;根据所确定的图像拼接区域,对第一视频帧和第二视频帧进行图像拼接,生成第一视频帧和第二视频帧对应的拼接图像;第一视频拍摄终端和第二视频拍摄终端为:用于拍摄相同场景的N台视频拍摄终端中的任意两台拍摄位置相邻的终端。应用本发明实施例提供的方案,能够降低计算量和对硬件的要求。
【专利说明】一种视频图像拼接方法及装置

【技术领域】
[0001]本发明涉及视频处理【技术领域】,特别涉及一种视频图像拼接方法及装置。

【背景技术】
[0002]通过拍摄终端(例如:摄像头、数码相机、摄像机等)拍摄视频时,受拍摄位置、拍摄终端的拍摄视角等影响,只能拍摄到局部场景。
[0003]而实际应用(例如:视频监控、视频会议等)中,需要大场景视频,这种情况下,一般可通过将多个拍摄终端拍摄同一场景的的视频图像进行视频拼接的方式获得。然而,现有技术中,进行视频拼接时,每生成一帧拼接图像,均需要获得生成拼接图像所需的视频图像拼接参数,而获得视频图像拼接参数的计算量较大,因此,对硬件的要求较高。


【发明内容】

[0004]本发明实施例公开了一种视频图像拼接方法及装置,以降低视频图像拼接的计算量。
[0005]为达到上述目的,本发明实施例公开了一种视频图像拼接方法,所述方法包括:
[0006]获得第一视频拍摄终端所拍摄的第一视频的第一视频帧;
[0007]获得第二视频拍摄终端所拍摄的第二视频的第二视频帧;
[0008]根据视频图像拼接参数,确定所述第一视频帧和所述第二视频帧对应的图像拼接区域,其中,所述视频图像拼接参数为:在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的;
[0009]根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像;
[0010]其中,所述第一视频拍摄终端和所述第二视频拍摄终端为:用于拍摄相同场景的N台视频拍摄终端中的任意两台拍摄位直相邻的终端,N ^ 2ο
[0011]可选的,所述视频图像拼接参数包括:所述第一视频和所述第二视频中各个视频帧对应的图像拼接区域的宽度area_w、根据所述第一视频和所述第二视频中的相应视频帧生成的各个拼接图像的宽度pic_w和高度pic_h ;
[0012]通过以下步骤,在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数:
[0013]获得所述第一视频中用于生成第一帧拼接图像的第三视频帧;
[0014]获得所述第二视频中用于生成第一帧拼接图像的第四视频帧;
[0015]提取所述第三视频帧的第一图像特征;
[0016]提取所述第四视频帧的第二图像特征;
[0017]对所述第一图像特征和所述第二图像特征进行特征匹配;
[0018]根据匹配结果,确定area_w ;
[0019]根据area_w、所述第三视频巾贞的宽度和所述第四视频巾贞的宽度,计算pic_w ;
[0020]根据所述第三视频帧的高度和所述第四视频帧的高度,确定pic_h。
[0021]可选的,所述根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像,包括:
[0022]根据Pic_w和Pic_h,创建空白图像;
[0023]根据所确定的图像拼接区域,确定所述第一视频帧中的非图像拼接区域为第一图像区域;
[0024]根据所确定的图像拼接区域,确定所述第一视频帧中的图像拼接区域为第二图像区域;
[0025]根据所确定的图像拼接区域,确定所述第二视频帧中的图像拼接区域为第三图像区域;
[0026]根据所确定的图像拼接区域,确定所述第二视频帧中的非图像拼接区域为第四图像区域;
[0027]调用第一线程将所述空白图像的第五图像区域内各个像素点的像素值设置为所述第一图像区域内各个像素点的像素值,其中,所述空白图像根据area_W、pic_W、所述第一视频帧的宽度、所述第二视频帧的宽度和所述第一拍摄终端与所述第二拍摄终端的相对位置依次划分为:第五图像区域、第六图像区域和第七图像区域;
[0028]调用第二线程将所述空白图像的第七图像区域内各个像素点的像素值设置为所述第四图像区域内各个像素点的像素值;
[0029]调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0030]可选的,所述调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值,包括:
[0031]调用第三线程分别对所述第二图像区域和所述第三图像区域进行滤波处理;
[0032]对滤波处理后的第二图像区域和第三图像区域进行图像合并处理,得到合并后的图像;
[0033]将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0034]可选的,所述视频图像拼接方法还包括:
[0035]检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化;
[0036]若为是,更新所述视频图像拼接参数。
[0037]可选的,所述检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化,包括:
[0038]调用第四线程检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化。
[0039]可选的,所述第一视频拍摄终端与所述第二个视频拍摄终端位于同一拍摄高度。
[0040]可选的,所述第一视频帧在所述第一视频中的帧号与所述第二视频帧在所述第二视频中的帧号相同。
[0041]为达到上述目的,本发明实施例公开了一种视频图像拼接装置,所述装置包括:
[0042]第一视频帧获得模块,用于获得第一视频拍摄终端所拍摄的第一视频的第一视频帧;
[0043]第二视频帧获得模块,用于获得第二视频拍摄终端所拍摄的第二视频的第二视频帧;
[0044]图像拼接区域确定模块,用于根据视频图像拼接参数,确定所述第一视频帧和所述第二视频帧对应的图像拼接区域,其中,所述视频图像拼接参数为:在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的;
[0045]拼接图像生成模块,用于根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像;
[0046]其中,所述第一视频拍摄终端和所述第二视频拍摄终端为:用于拍摄相同场景的N台视频拍摄终端中的任意两台拍摄位直相邻的终端,N ^ 2ο
[0047]可选的,所述视频图像拼接参数包括:所述第一视频和所述第二视频中各个视频帧对应的图像拼接区域的宽度area_w、根据所述第一视频和所述第二视频中的相应视频帧生成的各个拼接图像的宽度pic_w和高度pic_h ;
[0048]所述视频图像拼接装置还包括:第三视频帧获得模块、第四视频帧获得模块、第一图像特征提取模块、第二图像特征提取模块、特征匹配模块、area_w确定模块、pic_w计算模块和Pic_h确定模块,以在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数;
[0049]所述第三视频帧获得模块,用于获得所述第一视频中用于生成第一帧拼接图像的第二视频巾贞;
[0050]所述第四视频帧获得模块,用于获得所述第二视频中用于生成第一帧拼接图像的第四视频帧;
[0051]所述第一图像特征提取模块,用于提取所述第三视频帧的第一图像特征;
[0052]所述第二图像特征提取模块,用于提取所述第四视频帧的第二图像特征;
[0053]所述特征匹配模块,用于对所述第一图像特征和所述第二图像特征进行特征匹配;
[0054]所述area_w确定模块,用于根据匹配结果,确定area_w ;
[0055]所述pic_w计算模块,用于根据area_w、所述第三视频帧的宽度和所述第四视频中贞的宽度,计算pic_w ;
[0056]所述pic_h确定模块,用于根据所述第三视频帧的高度和所述第四视频帧的高度,确定pic_h。
[0057]可选的,所述拼接图像生成模块,包括:
[0058]空白图像创建子模块,用于根据pic_w和pic_h,仓Il建空白图像;
[0059]第一图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第一视频帧中的非图像拼接区域为第一图像区域;
[0060]第二图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第一视频帧中的图像拼接区域为第二图像区域;
[0061]第三图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第二视频帧中的图像拼接区域为第三图像区域;
[0062]第四图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第二视频帧中的非图像拼接区域为第四图像区域;
[0063]第一像素值设置子模块,用于调用第一线程将所述空白图像的第五图像区域内各个像素点的像素值设置为所述第一图像区域内各个像素点的像素值,其中,所述空白图像根据area_w、pic_w、所述第一视频帧的宽度、所述第二视频帧的宽度和所述第一拍摄终端与所述第二拍摄终端的相对位置依次划分为:第五图像区域、第六图像区域和第七图像区域;
[0064]第二像素值设置子模块,用于调用第二线程将所述空白图像的第七图像区域内各个像素点的像素值设置为所述第四图像区域内各个像素点的像素值;
[0065]第三像素值设置子模块,用于调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0066]可选的,所述第三像素值设置子模块,包括:
[0067]滤波处理单元,用于调用第三线程分别对所述第二图像区域和所述第三图像区域进行滤波处理;
[0068]合并处理单元,用于对滤波处理后的第二图像区域和第三图像区域进行图像合并处理,得到合并后的图像;
[0069]第三像素值设置单元,用于将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0070]可选的,所述视频图像拼接装置还包括:
[0071]拍摄位置检测模块,用于检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化;
[0072]参数更新模块,用于在所述拍摄位置检测模块的检测结果为是的情况下,更新所述视频图像拼接参数。
[0073]可选的,所述拍摄位置检测模块,具体用于调用第四线程检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化。
[0074]可选的,所述第一视频拍摄终端与所述第二个视频拍摄终端位于同一拍摄高度。
[0075]可选的,所述第一视频帧在所述第一视频中的帧号与所述第二视频帧在所述第二视频中的帧号相同。
[0076]由以上可见,本发明实施例提供的方案中,在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数,并将该参数存储于本地,在对第一视频拍摄终端所拍摄的第一视频的第一视频帧和第二视频拍摄终端所拍摄的第二视频的第二视频帧进行图像拼接时,直接从本地获得视频图像拼接参数,并据此进行图像拼接。与现有技术相比,本发明实施例提供的方案中,只在生成第一帧拼接图像时获得视频图像拼接参数,而非生成每一帧拼接图像均获得视频图像拼接参数,因此能够降低计算量,进而能够降低对硬件的要求。

【专利附图】

【附图说明】
[0077]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0078]图1为本发明实施例提供的视频图像拼接方法的第一种流程示意图;
[0079]图2为本发明实施例提供的一种获得视频图像拼接参数的方法的流程示意图;
[0080]图3为本发明实施例提供的视频图像拼接方法的第二种流程示意图;
[0081]图4为本发明实施例提供的视频图像拼接方法的第三种流程示意图;
[0082]图5为本发明实施例提供的视频图像拼接装置的第一种结构示意图;
[0083]图6为本发明实施例提供的一种获得视频图像拼接参数的装置的结构示意图;
[0084]图7为本发明实施例提供的视频图像拼接装置的第二种结构示意图;
[0085]图8为本发明实施例提供的视频图像拼接装置的第三种结构示意图;
[0086]图9a为视频图像拼接前的效果示意图;
[0087]图9b为视频图像拼接后的效果不意图;
[0088]图10为空白图像划分效果示意图。

【具体实施方式】
[0089]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0090]图1为本发明实施例提供的视频图像拼接方法的第一种流程示意图,该方法中的第一视频拍摄终端和第二视频拍摄终端为:用于拍摄相同场景的N台视频拍摄终端中的任意两台拍摄位直相邻的终端,其中,N ^ 2,包括:
[0091]SlOl:获得第一视频拍摄终端所拍摄的第一视频的第一视频帧。
[0092]S102:获得第二视频拍摄终端所拍摄的第二视频的第二视频帧。
[0093]实际应用中,为保证第一视频帧和第二视频帧的拍摄时刻相同,可通过同一个控制指令控制第一拍摄终端和第二拍摄终端的起始拍摄时间。
[0094]进一步的,在弟一拍摄终端和弟_■拍摄终端的起始拍摄时间相冋的基础上,若两个拍摄终端所拍摄视频的帧率等参数相同,则选取帧号相同的视频帧即可得到同一拍摄时刻的视频帧,即:第一视频帧在第一视频中的帧号与第二视频帧在第二视频中的帧号相同。
[0095]另外,为了得到较好的视频拼接效果,第一视频拍摄终端与第二个视频拍摄终端需位于同一拍摄高度。当然,本申请并不限定拍摄终端的拍摄高度,若拍摄高度不同时,可以在视频拼接时通过参数调整的方式获得较佳的视频拼接效果。
[0096]需要说明的是,本申请并不限定SlOl和S102的执行步骤,SlOl和S102可以同时执行,SlOl可以在S102之前执行,SlOl也可以在S102之后执行。
[0097]S103:根据视频图像拼接参数,确定第一视频帧和第二视频帧对应的图像拼接区域。
[0098]实际视频拍摄中,一些拍摄场景变化较小,例如:视频会议场景,这时,可以认为每个拍摄终端所拍摄视频中各帧的图像特征相同,进而可以认为生成各帧拼接图像时的视频图像拼接参数与生成第一帧拼接图像时的视频图像拼接参数相同,鉴于此,上述的视频图像拼接参数可以是在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的。
[0099]其中,上述的视频图像拼接参数中可以包括:第一视频和第二视频中各个视频帧对应的图像拼接区域的宽度area_w、根据第一视频和第二视频中的相应视频帧生成的各个拼接图像的宽度pic_w和高度pic_h等等,当然,本申请并不限定视频图像拼接参数中包含的信息。
[0100]具体的获得视频图像拼接参数的方法可参见图2所示实施例。
[0101]S104:根据所确定的图像拼接区域,对第一视频帧和第二视频帧进行图像拼接,生成第一视频帧和第二视频帧对应的拼接图像。
[0102]由以上可见,本实施例提供的方案中,在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数,并将该参数存储于本地,在对第一视频拍摄终端所拍摄的第一视频的第一视频帧和第二视频拍摄终端所拍摄的第二视频的第二视频帧进行图像拼接时,直接从本地获得视频图像拼接参数,并据此进行图像拼接。与现有技术相比,本实施例提供的方案中,只在生成第一帧拼接图像时获得视频图像拼接参数,而非生成每一帧拼接图像均获得视频图像拼接参数,因此能够降低计算量,进而能够降低对硬件的要求。
[0103]图2为本发明实施例提供的一种获得视频图像拼接参数的方法的流程示意图,该方法为在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数,包括:
[0104]S105:获得第一视频中用于生成第一帧拼接图像的第三视频帧。
[0105]S106:获得第二视频中用于生成第一帧拼接图像的第四视频帧。
[0106]需要说明的是,与图1所示实施例的SlOl和S102类似,本申请也不限定S105和S106的执行顺序。
[0107]S107:提取第三视频帧的第一图像特征。
[0108]S108:提取第四视频帧的第二图像特征。
[0109]实际应用中,可以通过SIFT (Scale-1nvariant feature transform,尺度不变特征转换)特征提取法提取上述的第三视频帧和第四视频帧的图像特征,SIFT特征提取法属于现有技术,这里不再赘述。
[0110]当然,还可以通过其他特征提取法提取第三视频帧和第四视频帧的图像特征,例如:灰度共生矩阵的纹理特征分析方法、Voron1棋盘格特征法、Gibbs随机场模型法、马尔可夫随机场模型法和傅里叶形状描述符法等等。
[0111]需要说明的是,本申请并不限定S107和S108的执行顺序,在S105执行完之后即可开始执彳了 S107,在S106执彳了完之后即可开始执彳了 S108。
[0112]S109:对第一图像特征和第二图像特征进行特征匹配。
[0113]SllO:根据匹配结果,确定area_w。
[0114]通过S109中对第一图像特征和第二图像特征进行的特征匹配,可以确定出第三视频帧中的特征匹配点以及相应的特征匹配区域,假设该匹配区域的宽度为area_wl ;可以确定出第四视频帧中的特征匹配点以及相应的特征匹配区域,假设该匹配区域的宽度为area_w2,则可以根据该匹配结果确定
[0115]area_w = min (area_wl,area_w2),或者
[0116]area_w = (area_wl+area_w2)/2,或者
[0117]area_w = wl*area_wl+w2*area_w2,其中,wl 和 w2 表不权重值,且 wl+w2 = I。
[0118]当然,本申请只是以上述为例进行说明,实际应用中确定的公式并不仅限于此。
[0119]Slll:根据area_w、第三视频巾贞的宽度和第四视频巾贞的宽度,计算pic_w。
[0120]参见图9a,提供了视频图像拼接前的效果示意图,参见图9b,提供了视频图像拼接后的效果示意图,由上述二图可知,
[0121]第三视频帧的宽度为pic_wl =第三视频帧非拼接区域宽度+area_w,
[0122]第四视频帧的宽度为pic_w2 =第四视频帧非拼接区域宽度+area_w,
[0123]综合以上可得:pic_w= pic_wl+pic_w2_area_w。
[0124]SI 12:根据第三视频帧的高度和第四视频帧的高度,确定pic_h。
[0125]实际拍摄中,同一拍摄终端所拍摄视频中各帧的高度一般相同。当第三视频帧的高度与第四视频帧的高度相同时,Pic_h =第三视频帧的高度或第四视频帧的高度。另夕卜,由于拍摄终端的拍摄参数等不同,导致第三视频帧的高度与第四视频帧的高度不同时,pic_h可以根据如下关系式确定:pic_h = max(第三视频巾贞的高度,第四视频巾贞的高度)。
[0126]由于视频图像数据量较大,所以,视频图像拼接过程中可调用多个线程进行并行处理,以加快图像拼接速度。
[0127]在本发明的一个具体实施例中,参见图3,提供了视频图像拼接方法的第二种流程示意图,与前述实施例相比,本实施例中,根据所确定的图像拼接区域,对第一视频帧和第二视频帧进行图像拼接,生成第一视频帧和第二视频帧对应的拼接图像(S104),包括:
[0128]S104A:根据 pic_w^P pic_h,创建空白图像。
[0129]S104B:根据所确定的图像拼接区域,确定第一视频帧中的非图像拼接区域为第一图像区域。
[0130]S104C:根据所确定的图像拼接区域,确定第一视频帧中的图像拼接区域为第二图像区域。
[0131]S104D:根据所确定的图像拼接区域,确定第二视频帧中的图像拼接区域为第三图像区域。
[0132]S104E:根据所确定的图像拼接区域,确定第二视频帧中的非图像拼接区域为第四图像区域。
[0133]S104F:调用第一线程将空白图像的第五图像区域内各个像素点的像素值设置为第一图像区域内各个像素点的像素值。
[0134]其中,空白图像根据area_w、pic_w、第一视频帧的宽度、第二视频帧的宽度和第一拍摄终端与第二拍摄终端的相对位置依次划分为:第五图像区域、第六图像区域和第七图像区域,参见图10,提供了空白图像划分效果示意图。
[0135]本步骤中,可以通过第一线程将第一图像区域内各个像素点复制到第五图像区域的方法,将第五图像区域内各个像素点的像素值设置为第一图像区域内各个像素点的像素值。
[0136]S104G:调用第二线程将空白图像的第七图像区域内各个像素点的像素值设置为第四图像区域内各个像素点的像素值。
[0137]本步骤中,具体实现方式可以与S104F相同,这里不再重复。
[0138]S104H:调用第三线程对第二图像区域和第三图像区域进行图像合并,并将空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0139]一种具体实现方式中,可以先调用第三线程分别对第二图像区域和第三图像区域进行滤波处理,再对滤波处理后的第二图像区域和第三图像区域进行图像合并处理,得到合并后的图像,最后将空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0140]具体的,上述滤波处理中,滤波器的滤波系数可以是一维的也可以是多维的,例如:1χ3或者3x3等等,另外,根据实际应用中,对滤波效果的要求不同也可以选择不同的滤波系数,例如:对滤波后图像清晰度要求较高时,可以选择滤波系数为3x3的滤波器,对滤波后图像清晰度要求较低时,可以选择滤波系数为5x5的滤波器等等。
[0141]对滤波处理后的图像进行合并处理时,可以通过加权计算的方式得到合并处理后的图像。
[0142]由以上可见,本实施例通过调用多个线程并行处理的方式实现视频图像拼接,能够加快视频图像拼接速度,进而提高用户体验效果。
[0143]在本发明的另一个具体实施例中,参见图4,提供了视频图像拼接方法的第三种流程示意图,与前述实施例相比,本实施例中,该方法还包括:
[0144]S113:检测第一视频拍摄终端与第二视频拍摄终端的拍摄位置是否发生变化,若为是,执行S114。
[0145]视频拍摄过程中,由于拍摄人员失误等原因可能造成拍摄终端的拍摄位置变化,因此,在视频拼接过程中有必要检测第一视频拍摄终端与第二视频拍摄终端的拍摄位置是否发生变化。
[0146]由于视频拼接计算量较大,因此,可以通过调用新线程第四线程的方式,检测第一视频拍摄终端与第二视频拍摄终端的拍摄位置是否发生变化。
[0147]需要说明的是,本申请并不限定S113的执行顺序,该步骤可以在视频拼接过程中的任意时刻开始,例如,可以按照预设的时间间隔启动该检测步骤。
[0148]S114:更新视频图像拼接参数。
[0149]由以上可见,本实施例提供的方案中,在视频拼接过程中,检测第一视频拍摄终端与第二视频拍摄中的拍摄位置是否发生变化,检测到拍摄位置变化后更新视频图像拼接参数,因此,能够在拍摄终端的拍摄位置变化后及时调整视频图像拼接参数,避免影响视频图像拼接效果。
[0150]与上述视频图像拼接方法相对应,本发明实施例还提供了一种视频图像拼接装置。
[0151]图5为本发明实施例提供的视频图像拼接装置的第一种结构示意图,该装置中第一视频拍摄终端和弟~■视频拍摄终端为:用于拍摄相冋场景的N台视频拍摄终端中的任意两台拍摄位置相邻的终端,N ^ 2,包括:第一视频帧获得模块501、第二视频帧获得模块502、图像拼接区域确定模块503和拼接图像生成模块504。
[0152]其中,第一视频帧获得模块501,用于获得第一视频拍摄终端所拍摄的第一视频的第一视频巾贞;
[0153]第二视频帧获得模块502,用于获得第二视频拍摄终端所拍摄的第二视频的第二视频帧;
[0154]图像拼接区域确定模块503,用于根据视频图像拼接参数,确定所述第一视频帧和所述第二视频帧对应的图像拼接区域,其中,所述视频图像拼接参数为:在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的;
[0155]拼接图像生成模块504,用于根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像;
[0156]优选的,所述第一视频拍摄终端与所述第二个视频拍摄终端位于同一拍摄高度。
[0157]优选的,所述第一视频帧在所述第一视频中的帧号与所述第二视频帧在所述第二视频中的帧号相同。
[0158]由以上可见,本实施例提供的方案中,在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数,并将该参数存储于本地,在对第一视频拍摄终端所拍摄的第一视频的第一视频帧和第二视频拍摄终端所拍摄的第二视频的第二视频帧进行图像拼接时,直接从本地获得视频图像拼接参数,并据此进行图像拼接。与现有技术相比,本实施例提供的方案中,只在生成第一帧拼接图像时获得视频图像拼接参数,而非生成每一帧拼接图像均获得视频图像拼接参数,因此能够降低计算量,进而能够降低对硬件的要求。
[0159]上述的视频图像拼接参数可以包括:所述第一视频和所述第二视频中各个视频帧对应的图像拼接区域的宽度area_w、根据所述第一视频和所述第二视频中的相应视频帧生成的各个拼接图像的宽度pic_w和高度pic_h。
[0160]图6为本发明实施例提供的一种获得视频图像拼接参数的装置的结构示意图,该装置包括:第三视频帧获得模块505、第四视频帧获得模块506、第一图像特征提取模块507、第二图像特征提取模块508、特征匹配模块509、area_w确定模块510、pic_w计算模块511和pic_h确定模块512,以在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数。
[0161]其中,第三视频帧获得模块505,用于获得所述第一视频中用于生成第一帧拼接图像的第三视频帧;
[0162]第四视频帧获得模块506,用于获得所述第二视频中用于生成第一帧拼接图像的第四视频帧;
[0163]第一图像特征提取模块507,用于提取所述第三视频帧的第一图像特征;
[0164]第二图像特征提取模块508,用于提取所述第四视频帧的第二图像特征;
[0165]特征匹配模块509,用于对所述第一图像特征和所述第二图像特征进行特征匹配;
[0166]定模块510,用于根据匹配结果,确定area_w ;
[0167]pic_w计算模块511,用于根据area_w、所述第三视频巾贞的宽度和所述第四视频中贞的宽度,计算pic_w ;
[0168]pic_h确定模块512,用于根据所述第三视频帧的高度和所述第四视频帧的高度,确定pic_h。
[0169]在本发明的一个具体实施例中,参见图7,提供了视频图像拼接装置的第二种结构示意图,与前述实施例相比,本实施例中,拼接图像生成模块504,包括:空白图像创建子模块5041、第一图像区域确定子模块5042、第二图像区域确定子模块5043、第三图像区域确定子模块5044、第四图像区域确定子模块5045、第一像素值设置子模块5046、第二像素值设置子模块5047和第三像素值设置子模块5048。
[0170]其中,空白图像创建子模块5041,用于根据pic_w和pic_h,创建空白图像;
[0171]第一图像区域确定子模块5042,用于根据所确定的图像拼接区域,确定所述第一视频帧中的非图像拼接区域为第一图像区域;
[0172]第二图像区域确定子模块5043,用于根据所确定的图像拼接区域,确定所述第一视频帧中的图像拼接区域为第二图像区域;
[0173]第三图像区域确定子模块5044,用于根据所确定的图像拼接区域,确定所述第二视频帧中的图像拼接区域为第三图像区域;
[0174]第四图像区域确定子模块5045,用于根据所确定的图像拼接区域,确定所述第二视频帧中的非图像拼接区域为第四图像区域;
[0175]第一像素值设置子模块5046,用于调用第一线程将所述空白图像的第五图像区域内各个像素点的像素值设置为所述第一图像区域内各个像素点的像素值,其中,所述空白图像根据area_w、pic_w、所述第一视频帧的宽度、所述第二视频帧的宽度和所述第一拍摄终端与所述第二拍摄终端的相对位置依次划分为:第五图像区域、第六图像区域和第七图像区域;
[0176]第二像素值设置子模块5047,用于调用第二线程将所述空白图像的第七图像区域内各个像素点的像素值设置为所述第四图像区域内各个像素点的像素值;
[0177]第三像素值设置子模块5048,用于调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0178]具体的,第三像素值设置子模块5048,包括:滤波处理单元、合并处理单元和第三像素值设置单元(图中未示出)。
[0179]其中,滤波处理单元,用于调用第三线程分别对所述第二图像区域和所述第三图像区域进行滤波处理;
[0180]合并处理单元,用于对滤波处理后的第二图像区域和第三图像区域进行图像合并处理,得到合并后的图像;
[0181]第三像素值设置单元,用于将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
[0182]由以上可见,本实施例通过调用多个线程并行处理的方式实现视频图像拼接,能够加快视频图像拼接速度,进而提高用户体验效果。
[0183]在本发明的另一个具体实施例中,参见图8,提供了视频图像拼接装置的第三种结构示意图,与前述实施例相比,本实施例中,该装置还包括:拍摄位置检测模块513和参数更新模块514。
[0184]其中,拍摄位置检测模块513,用于检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化;
[0185]参数更新模块514,用于在所述拍摄位置检测模块513的检测结果为是的情况下,更新所述视频图像拼接参数。
[0186]优选的,拍摄位置检测模块513具体用于调用第四线程检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化。
[0187]由以上可见,本实施例提供的方案中,在视频拼接过程中,检测第一视频拍摄终端与第二视频拍摄中的拍摄位置是否发生变化,检测到拍摄位置变化后更新视频图像拼接参数,因此,能够在拍摄终端的拍摄位置变化后及时调整视频图像拼接参数,避免影响视频图像拼接效果。
[0188]对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0189]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0190]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0191]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种视频图像拼接方法,其特征在于,所述方法包括: 获得第一视频拍摄终端所拍摄的第一视频的第一视频帧; 获得第二视频拍摄终端所拍摄的第二视频的第二视频帧; 根据视频图像拼接参数,确定所述第一视频帧和所述第二视频帧对应的图像拼接区域,其中,所述视频图像拼接参数为:在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的; 根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像; 其中,所述第一视频拍摄终端和所述第二视频拍摄终端为:用于拍摄相同场景的N台视频拍摄终端中的任意两台拍摄位直相邻的终端,N ^ 2ο
2.根据权利要求1所述的方法,其特征在于, 所述视频图像拼接参数包括:所述第一视频和所述第二视频中各个视频帧对应的图像拼接区域的宽度area_w、根据所述第一视频和所述第二视频中的相应视频帧生成的各个拼接图像的宽度Pic_w和高度pic_h ; 通过以下步骤,在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数: 获得所述第一视频中用于生成第一帧拼接图像的第三视频帧; 获得所述第二视频中用于生成第一帧拼接图像的第四视频帧; 提取所述第三视频帧的第一图像特征; 提取所述第四视频帧的第二图像特征; 对所述第一图像特征和所述第二图像特征进行特征匹配; 根据匹配结果,确定area_w ; 根据area_w、所述第三视频帧的宽度和所述第四视频帧的宽度,计算pic_w ; 根据所述第三视频帧的高度和所述第四视频帧的高度,确定pic_h。
3.根据权利要求2所述的方法,其特征在于,所述根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像,包括: 根据pic_w和pic_h,创建空白图像; 根据所确定的图像拼接区域,确定所述第一视频帧中的非图像拼接区域为第一图像区域; 根据所确定的图像拼接区域,确定所述第一视频帧中的图像拼接区域为第二图像区域; 根据所确定的图像拼接区域,确定所述第二视频帧中的图像拼接区域为第三图像区域; 根据所确定的图像拼接区域,确定所述第二视频帧中的非图像拼接区域为第四图像区域; 调用第一线程将所述空白图像的第五图像区域内各个像素点的像素值设置为所述第一图像区域内各个像素点的像素值,其中,所述空白图像根据area_w、Pic_w、所述第一视频帧的宽度、所述第二视频帧的宽度和所述第一拍摄终端与所述第二拍摄终端的相对位置依次划分为:第五图像区域、第六图像区域和第七图像区域; 调用第二线程将所述空白图像的第七图像区域内各个像素点的像素值设置为所述第四图像区域内各个像素点的像素值; 调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
4.根据权利要求3所述的方法,其特征在于,所述调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值,包括: 调用第三线程分别对所述第二图像区域和所述第三图像区域进行滤波处理; 对滤波处理后的第二图像区域和第三图像区域进行图像合并处理,得到合并后的图像; 将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括: 检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化; 若为是,更新所述视频图像拼接参数。
6.根据权利要求5所述的方法,其特征在于,所述检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化,包括: 调用第四线程检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化。
7.根据权利要求1所述的方法,其特征在于,所述第一视频拍摄终端与所述第二个视频拍摄终端位于同一拍摄高度。
8.根据权利要求1所述的方法,其特征在于,所述第一视频帧在所述第一视频中的帧号与所述第二视频帧在所述第二视频中的帧号相同。
9.一种视频图像拼接装置,其特征在于,所述装置包括:第一视频帧获得模块,用于获得第一视频拍摄终端所拍摄的第一视频的第一视频帧;第二视频帧获得模块,用于获得第二视频拍摄终端所拍摄的第二视频的第二视频帧;图像拼接区域确定模块,用于根据视频图像拼接参数,确定所述第一视频帧和所述第二视频帧对应的图像拼接区域,其中,所述视频图像拼接参数为:在启动视频图像拼接程序后,生成第一帧拼接图像时获得并存储在本地的; 拼接图像生成模块,用于根据所确定的图像拼接区域,对所述第一视频帧和所述第二视频帧进行图像拼接,生成所述第一视频帧和所述第二视频帧对应的拼接图像; 其中,所述第一视频拍摄终端和所述第二视频拍摄终端为:用于拍摄相同场景的N台视频拍摄终端中的任意两台拍摄位直相邻的终端,N ^ 2ο
10.根据权利要求9所述的装置,其特征在于, 所述视频图像拼接参数包括:所述第一视频和所述第二视频中各个视频帧对应的图像拼接区域的宽度area_w、根据所述第一视频和所述第二视频中的相应视频帧生成的各个拼接图像的宽度Pic_w和高度pic_h ; 所述装置还包括:第三视频帧获得模块、第四视频帧获得模块、第一图像特征提取模块、第二图像特征提取模块、特征匹配模块、area_w确定模块、p i c_w计算模块和p i c_h确定模块,以在启动视频图像拼接程序后,生成第一帧拼接图像时获得视频图像拼接参数; 所述第三视频帧获得模块,用于获得所述第一视频中用于生成第一帧拼接图像的第三视频帧; 所述第四视频帧获得模块,用于获得所述第二视频中用于生成第一帧拼接图像的第四视频帧; 所述第一图像特征提取模块,用于提取所述第三视频帧的第一图像特征; 所述第二图像特征提取模块,用于提取所述第四视频帧的第二图像特征; 所述特征匹配模块,用于对所述第一图像特征和所述第二图像特征进行特征匹配; 所述area_w确定模块,用于根据匹配结果,确定area_w ; 所述?^_?计算模块,用于根据area_w、所述第三视频帧的宽度和所述第四视频帧的宽度,计算pic_w ; 所述pic_h确定模块,用于根据所述第三视频帧的高度和所述第四视频帧的高度,确定 pic_h。
11.根据权利要求10所述的装置,其特征在于,所述拼接图像生成模块,包括: 空白图像创建子模块,用于根据?化_?和pic_h,创建空白图像; 第一图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第一视频帧中的非图像拼接区域为第一图像区域; 第二图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第一视频帧中的图像拼接区域为第二图像区域; 第三图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第二视频帧中的图像拼接区域为第三图像区域; 第四图像区域确定子模块,用于根据所确定的图像拼接区域,确定所述第二视频帧中的非图像拼接区域为第四图像区域; 第一像素值设置子模块,用于调用第一线程将所述空白图像的第五图像区域内各个像素点的像素值设置为所述第一图像区域内各个像素点的像素值,其中,所述空白图像根据area_W、pic_W、所述第一视频帧的宽度、所述第二视频帧的宽度和所述第一拍摄终端与所述第二拍摄终端的相对位置依次划分为:第五图像区域、第六图像区域和第七图像区域; 第二像素值设置子模块,用于调用第二线程将所述空白图像的第七图像区域内各个像素点的像素值设置为所述第四图像区域内各个像素点的像素值; 第三像素值设置子模块,用于调用第三线程对所述第二图像区域和所述第三图像区域进行图像合并,并将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
12.根据权利要求11所述的装置,其特征在于,所述第三像素值设置子模块,包括: 滤波处理单元,用于调用第三线程分别对所述第二图像区域和所述第三图像区域进行滤波处理; 合并处理单元,用于对滤波处理后的第二图像区域和第三图像区域进行图像合并处理,得到合并后的图像; 第三像素值设置单元,用于将所述空白图像的第六图像区域内各个像素点的像素值设置为合并后图像内各个像素点的像素值。
13.根据权利要求9-12中任一项所述的装置,其特征在于,所述装置还包括: 拍摄位置检测模块,用于检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化; 参数更新模块,用于在所述拍摄位置检测模块的检测结果为是的情况下,更新所述视频图像拼接参数。
14.根据权利要求13所述的装置,其特征在于,所述拍摄位置检测模块,具体用于调用第四线程检测所述第一视频拍摄终端与所述第二视频拍摄终端的拍摄位置是否发生变化。
15.根据权利要求9所述的装置,其特征在于,所述第一视频拍摄终端与所述第二个视频拍摄终端位于同一拍摄高度。
16.根据权利要求9所述的装置,其特征在于,所述第一视频帧在所述第一视频中的帧号与所述第二视频帧在所述第二视频中的帧号相同。
【文档编号】H04N5/232GK104184950SQ201410459069
【公开日】2014年12月3日 申请日期:2014年9月10日 优先权日:2014年9月10日
【发明者】陈杰宾 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1