发明内容
本发明提供一种摄像头视频帧的精灵化方法和装置,可以对摄像头拍摄的视频帧进行处理,并获得丰富的显示效果。
本发明提供的摄像头视频帧的精灵化方法,包括:
通过摄像头采集视频帧;
根据所述采集到的视频帧,创建纹理;
基于所述纹理创建纹理集;
对所述创建的纹理集中的纹理进行精灵化处理;
对所述精灵化处理的纹理进行图形渲染后输出到显示屏进行显示。
其中,所述基于所述纹理创建纹理集的步骤之后,还包括:
根据摄像头实时采集的视频帧,更新所述纹理。
其中,所述对所述创建的纹理集中的纹理进行精灵化处理,包括:
根据所述纹理集创建复合精灵;
根据所述创建的复合精灵创建子精灵集;各个子精灵对应所述纹理集中的纹理;
在所述纹理集中设置各个子精灵的纹理坐标以及顶点索引。
其中,所述子精灵集中的至少两个子精灵组合成新的子精灵。
其中,所述对所述精灵化处理的纹理进行图形渲染后输出到显示屏进行显示,包括:
采用图像程序接口对所述各个子精灵的纹理分别进行图形渲染,获得各个渲染图像;
根据所述纹理坐标以及顶点索引,将所述各个渲染图像输出到显示屏分别进行显示。
相应的,本发明还提供一种摄像头视频帧的精灵化装置,包括:
视频帧采集模块,用于通过摄像头采集视频帧;
纹理创建模块,用于根据所述视频帧采集模块采集到的视频帧,创建纹理,并基于所述纹理创建纹理集;
精灵化模块,用于对所述纹理创建模块创建的纹理集中的纹理进行精灵化处理;
图像渲染模块,用于对所述精灵化处理的纹理进行图形渲染;
图像显示模块,用于将所述图像渲染模块渲染后的图像输出到显示屏进行显示。
其中,所述纹理创建模块,包括:
纹理创建单元,用于根据所述视频帧采集模块采集到的视频帧,创建纹理;
纹理集创建单元,用于基于所述纹理创建单元创建的纹理创建纹理集;
纹理更新单元,用于根据所述视频帧采集模块通过所述摄像头实时采集的视频帧,更新所述纹理创建单元中创建的纹理。
其中,所述精灵化模块,包括:
复合精灵创建单元,用于根据所述纹理集创建单元创建的纹理集创建复合精灵;
子精灵创建单元,用于根据所述复合精灵创建单元创建的复合精灵创建子精灵集;所述子精灵创建单元创建的子精灵集中的各个子精灵对应所述纹理集创建单元创建的纹理集中的纹理;
顶点坐标设置单元,用于在所述纹理集创建单元创建的纹理集中设置各个子精灵的纹理坐标;
顶点索引设置单元,用于在所述纹理集创建单元创建的纹理集中设置各个子精灵的以及顶点索引。
其中,所述子精灵创建单元创建的子精灵集中的至少两个子精灵组合成新的子精灵。
其中,所述图像渲染模块,具体用于采用图像程序接口对所述各个子精灵的纹理分别进行图形渲染,获得各个渲染图像;
所述图像显示模块,具体用于根据所述顶点坐标设置单元设置的纹理坐标以及所述顶点索引设置单元设置的顶点索引,将所述各个渲染图像输出到显示屏分别进行显示。
本发明在摄像头拍摄视频时,采集视频帧,根据该视频帧创建多个纹理,并且创建精灵,根据创建的精灵对创建的纹理进行精灵化处理,最后将经过精灵化处理的视频帧图像进行渲染,获得不同效果的视频图像并输出到显示屏进行显示。实施本发明,可以使得摄像头拍摄到的视频在同一时刻呈现不同的显示效果,从而使用户体验效果更好。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,在附图或说明书中,相似或相同的元件使用相同的附图标记。
参见图1,图1为本发明提供的摄像头视频帧的精灵化方法实施例一的流程示意图。
本实施例一提供的摄像头视频帧的精灵化方法,包括:
步骤100,通过摄像头采集视频帧。
具体地,通过移动终端的摄像头进行视频拍摄,并采集视频帧;
步骤101,根据所述采集到的视频帧,创建纹理。
具体地,由摄像头采集到的视频是由多幅视频帧组成的,根据每一帧视频帧图像分别创建表征视频帧图像的表面细节的纹理。
步骤102,基于所述纹理创建纹理集。
步骤103,对所述创建的纹理集中的纹理进行精灵化处理。
步骤104,对所述精灵化处理的纹理进行图形渲染后输出到显示屏进行显示。
实施本发明实施例,由于根据摄像头采集的多帧视频帧图像创建了纹理,并且对纹理进行了精灵化处理,因此会得到多个经过精灵化处理的视频帧图像,再进行图像渲染后输出,即可得到不同效果的视频画面。
参见图2,图2为本发明提供的摄像头视频帧的精灵化方法实施例二的流程示意图。
本实施例将根据采集到的视频帧,创建纹理;基于所述纹理创建纹理集的实现过程,具体可以包括:
步骤200,根据采集到的视频帧,创建纹理。
具体地,当启动本发明的摄像头视频帧精灵化方法后,可以根据摄像头采集到的第一帧的视频帧来创建纹理;需要说明的是,纹理是表征该多个视频帧的细节的一幅或者多幅二维图像,纹理集则是多种纹理的集合。
步骤201,根据所述创建的纹理,创建纹理集。
具体的,在步骤200根据视频帧创建了纹理之后,将创建的纹理创建成纹理集(TextureAtlas)。TextureAtlas可以为一预设的数据结构,TextureAtlas中包括创建的纹理,以及后续创建的精灵的信息,包括坐标信息,索引信息等。
步骤202,根据摄像头实时采集的视频帧,更新所述纹理。
具体的,当创建了纹理后,后续摄像头拍摄过程中,会采集到不同的视频帧,根据采集到的新的视频帧,实时更新已经创建的纹理。
需要说明的是,当把创建的纹理按照特定的方式映射到视频帧表面上的时候能使视频帧所呈现的物体看上去更加真实。纹理映射是一种允许为三角形赋予图像数据的技术,它能够更细腻更真实地表现摄像头采集的视频帧对应的场景。
参见图3,为本发明提供的摄像头视频帧的精灵化方法实施例三的流程示意图。
本实施例三中将详细描述对所述创建的纹理进行精灵化处理,包括:
步骤300,根据所述纹理集创建复合精灵。
具体的,为了能够使得摄像头获取到的视频帧呈现不同的显示效果,本发明在此首先创建复合精灵,复合精灵的结果包含一下几个内容: 1、TextureAtlas;2、子精灵的数组;因此复合精灵可以认为是子精灵的母体,子精灵的内容统一由TextureAtlas提供,而子精灵的数组则记录了该复合精灵创建的子精灵。
在此,本发明所提及的精灵(Sprite)是一种可以智能的处理材质和贴图的技术,该技术能够在处理材质和贴图的同时保持画面流畅。精灵可以将许多图片组合到一个网格上,然后通过程序将每个网格的内容定位到画面上。
步骤301,根据所述创建的复合精灵创建子精灵集。
具体的,创建的子精灵集中的各个子精灵对应所述纹理集中的纹理,并且子精灵集中的至少两个子精灵可以组合成新的子精灵。比如,一个子精灵是移动效果,一个子精灵是放大效果,可以直接将这两个子精灵组合成一个新的子精灵,这个新的子精灵就同时有移动和放大的效果。
步骤302,在所述纹理集中设置各个子精灵的纹理坐标以及顶点索引。
具体地,该纹理坐标是标识子精灵的位置信息,具体位于屏幕画面中的哪个位置;该顶点索引包括标识各子精灵的在屏幕画面中的前后顺序等;当将精灵定位到纹理上或者将纹理进行精灵化处理之后,还需要对视频帧进行渲染,以下实施例将详细介绍该过程。
参见图4,为本发明提供的摄像头视频帧的精灵化方法实施例四的流程示意图。
本实施例四中,将详细描述对精灵化处理的多个纹理分别进行图形渲染后输出到显示屏进行显示的过程,包括:
步骤400,采用图像程序接口对所述各个子精灵的纹理分别进行图形渲染,获得各个渲染图像;
具体的,本发明提供的图像程序接口可以是OpenGL程序或者D3D程序;其中,OpenGL是一种定义了一个跨编程语言、跨平台的编程接口的规格,它用于二维和三维图像。OpenGL是个专业的图形程序接口,可以实现各种丰富的图像处理效果,能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。而D3D是微软为提高3D 游戏在Windows中的显示性能而开发的显示程序接口。OpenGL和D3D都能够对图像进行渲染。
步骤401,根据所述纹理坐标以及顶点索引,将所述各个渲染图像输出到显示屏分别进行显示。
由于上述根据视频帧创建了多个纹理,并且创建了多个子精灵集对多个纹理进行精灵化处理,因此,渲染得到的视频帧也是多个图像,该图像是不同的效果,因此输出到显示屏进行显示的时候,可以根据各自在显示屏画面中的位置在显示屏上同时呈现不同效果的视频帧图像。
本发明根据摄像头拍摄到视频帧创建纹理,并且创建精灵,根据创建的精灵对创建的纹理进行精灵化处理,最后将经过精灵化处理的视频帧图像进行渲染,获得不同效果的视频图像并可以根据各自在显示屏画面中的位置同时输出到显示屏进行显示。实施本发明,可以使得摄像头拍摄到的视频在同一时刻呈现不同的显示效果,从而使用户体验效果更好。例如:用户使用移动终端上的摄像头对同一场景进行拍摄,应用本发明,可以将同一个场景精灵化为多种效果,在播放视频的时候,即可以在移动终端的显示屏上,通过不同的显示窗口,并根据各自在显示屏画面中的位置同时显示放大、缩小、移动、闪烁等不同的效果的视频。
参见图5,图5为本发明提供的摄像头视频帧精灵化装置实施例一的结构示意图。
本实施例一提供的摄像头视频帧的精灵化装置,包括:
视频帧采集模块10,用于通过摄像头采集视频帧。
具体地,视频帧采集模块10通过移动终端的摄像头进行视频拍摄,并采集视频帧;
纹理创建模块11,根据所述视频帧采集模块10采集到的视频帧,创建纹理,并基于所述纹理创建纹理集。
具体地,由摄像头采集到的视频是由多幅视频帧组成的,纹理创建模块11根据每一帧视频帧图像分别创建表征视频帧图像的表面细节的纹理并且基于所述纹理创建纹理集。
精灵化模块12,用于对所述纹理创建模块11创建的纹理集中的纹理进行精灵化处理。
图像渲染模块13,用于对所述精灵化模块12精灵化处理的纹理进行图形渲染;
图像显示模块14,用于将所述图像渲染模块13渲染后的图像输出到显示屏进行显示。
实施本发明实施例,由于根据摄像头采集的多帧视频帧图像创建了纹理,并且对纹理进行了精灵化处理,因此会得到多个经过精灵化处理的视频帧图像,再进行图像渲染后输出,即可得到不同效果的视频画面。
参见图6,图6为本发明提供的摄像头视频帧的精灵化装置实施例二的结构示意图。
本实施例将描述纹理创建模块的功能和结构,其具体包括:
纹理创建单元110,用于根据采集到的视频帧,创建纹理。
具体地,当移动终端启动本发明的摄像头视频帧精灵化方法后,可以根据摄像头采集到的第一帧的视频帧来创建纹理;需要说明的是,纹理是表征该多个视频帧的细节的一幅或者多幅二维图像,纹理集则是多种纹理的集合。
纹理集创建单元111,根据所述纹理创建单元110创建的纹理,创建纹理集。
具体的,在纹理创建单元110根据视频帧创建了纹理之后,纹理集创建单元111将创建的纹理创建成纹理集(TextureAtlas)。TextureAtlas可以为一预设的数据结构,TextureAtlas中包括创建的纹理,以及后续创建的精灵的信息,包括坐标信息,索引信息等。
纹理更新单元112,根据摄像头实时采集的视频帧,更新所述纹理。
具体的,当创建了纹理后,后续摄像头拍摄过程中,会采集到不同的视频帧,纹理更新单元112根据采集到的新的视频帧,实时更新已经创建的纹理。
需要说明的是,当把创建的纹理按照特定的方式映射到视频帧表面上的时候能使视频帧所呈现的物体看上去更加真实。纹理映射是一种允许为三角形赋予图像数据的技术,它能够更细腻更真实地表现摄像头采集的视频帧对应的场景。
参见图7,为本发明提供的摄像头视频帧的精灵化装置实施例三的结构示意图。
本实施例三中将详细描述精灵化模块的功能和结构,其具体包括:
复合精灵创建单元120,根据所述纹理集创建单元创建的纹理集创建复合精灵。
具体的,为了能够使得摄像头获取到的视频帧呈现不同的显示效果,本发明的复合精灵创建单元120在此首先创建复合精灵,复合精灵的结果包含一下几个内容: 1、TextureAtlas;2、子精灵的数组;因此复合精灵可以认为是子精灵的母体,子精灵的内容统一由TextureAtlas提供,而子精灵的数组则记录了该复合精灵创建的子精灵。
在此,本发明所提及的精灵(Sprite)是一种可以智能的处理材质和贴图的技术,该技术能够在处理材质和贴图的同时保持画面流畅。精灵可以将许多图片组合到一个网格上,然后通过程序将每个网格的内容定位到画面上。
子精灵创建单元121,用于根据所述复合精灵创建单元120创建的复合精灵创建子精灵集。
具体的,子精灵创建单元121创建的子精灵集中的各个子精灵对应所述纹理集中的纹理,所述子精灵创建单元121创建的子精灵集中的至少两个子精灵组合成新的子精灵。比如,一个子精灵是移动效果,一个子精灵是放大效果,可以直接将这两个子精灵组合成一个新的子精灵,这个新的子精灵就同时有移动和放大的效果。
顶点坐标设置单元122,用于在所述纹理集创建单元创建的纹理集中设置各个子精灵的纹理坐标;
顶点索引设置单元123,用于在所述纹理集创建单元创建的纹理集中设置各个子精灵的以及顶点索引。
具体地,该纹理坐标是标识子精灵的位置信息,具体位于屏幕画面中的哪个位置;该顶点索引包括标识各子精灵的在屏幕画面中的前后顺序等;当将精灵定位到纹理上或者将纹理进行精灵化处理之后,还需要对视频帧进行渲染,以下实施例将详细介绍该过程。
需要说明的是,以上实施例提供的摄像头视频帧的精灵化装置中,图像渲染模块13具体采用图像程序接口对所述各个子精灵的纹理分别进行图形渲染,获得各个渲染图像;
具体的,本发明提供的图像程序接口可以是OpenGL程序或者D3D程序;其中,OpenGL是一种定义了一个跨编程语言、跨平台的编程接口的规格,它用于二维和三维图像。OpenGL是个专业的图形程序接口,可以实现各种丰富的图像处理效果,能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。而D3D是微软为提高3D 游戏在Windows中的显示性能而开发的显示程序接口。OpenGL和D3D都能够对图像进行渲染。
而图像显示模块14具体根据所述纹理坐标以及顶点索引,将所述各个渲染图像输出到显示屏分别进行显示。
由于上述根据视频帧创建了多个纹理,并且创建了多个子精灵集对多个纹理进行精灵化处理,因此,渲染得到的视频帧也是多个图像,该图像是不同的效果,因此输出到显示屏进行显示的时候,显示屏上可以呈现不同效果的视频帧图像。
本发明根据摄像头拍摄到视频帧创建纹理,并且创建精灵,根据创建的精灵对创建的纹理进行精灵化处理,最后将经过精灵化处理的视频帧图像进行渲染,获得不同效果的视频图像并可以根据各自在显示屏画面中的位置同时输出到显示屏进行显示。实施本发明,可以使得摄像头拍摄到的视频在同一时刻呈现不同的显示效果,从而使用户体验效果更好。例如:用户使用移动终端上的摄像头对同一场景进行拍摄,应用本发明,可以将同一个场景精灵化为多种效果,在播放视频的时候,即可以在移动终端的显示屏上,通过不同的显示窗口,并根据各自在显示屏画面中的位置同时显示放大、缩小、移动、闪烁等不同的效果的视频。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。