多摄像头设备的图像拼接方法及装置、存储介质、终端与流程

文档序号:24337658发布日期:2021-03-19 12:18阅读:266来源:国知局
多摄像头设备的图像拼接方法及装置、存储介质、终端与流程

本发明实施例涉及图像处理领域,尤其涉及一种多摄像头设备的图像拼接方法及装置、存储介质、终端。



背景技术:

随着电子技术的不断发展,智能手机已成为人们生活中不可获缺的电子产品之一。毋庸置疑,相机在手机平台中占据着举足轻重的位置,是用户选购手机的重要考量标准之一。

现有技术中,当用户需要查看同一场景的不同视角时,通常需要来回切换两个镜头,造成用户的体验较差。



技术实现要素:

本发明实施例的目的是在同一个画面中能够同时看到不同视场角图像。

为解决上述技术问题,本发明实施例提供一种多摄像头设备的图像拼接方法,包括:至少获取第一图像及第二图像,所述第一图像由所述多摄像头设备的第一摄像头上报,所述第二图像由所述多摄像头设备的第二摄像头上报,所述第一摄像头的视场角小于所述第二摄像头的视场角;获取所述多摄像头设备的图像显示区域的区域分割信息;根据所述区域分割信息分别对所述第一图像及所述第二图像进行裁剪,得到裁剪后的第一图像及裁剪后的第二图像;将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像。

可选的,所述获取所述多摄像头设备的图像显示区域的区域分割信息,包括:获取所述图像显示区域的分割线的位置信息,所述区域分割信息包括所述分割线的位置信息。

可选的,所述多摄像头设备的图像拼接方法还包括:响应于用户的拖动操作,所述分割线的位置随所述用户的拖动操作在所述图像显示区域内移动。可选的,所述分割线的位置信息指示所述分割线的位置介于[0,w]或者[0,h],其中,所述多摄像头设备的屏幕分辨率为w*h,w为所述多摄像头设备的屏幕分辨率宽,h为所述多摄像头设备的屏幕分辨率高,且w和h均为正整数。

可选的,所述多摄像头设备的图像拼接方法还包括:当所述分割线的位置信息对应的取值为奇数时,则执行取偶操作;根据取偶结果确定所述分割线的位置信息。

可选的,根据所述区域分割信息分别对所述第一图像及所述第二图像进行裁剪,得到裁剪后的第一图像及裁剪后的第二图像,包括:根据所述区域分割信息、所述目标拼接图像的尺度以及所述第一图像的尺度,确定所述第一图像的第一裁剪量及所述第一图像的第一有效区域的尺度信息;根据所述区域分割信息、所述目标拼接图像的尺度以及所述第二图像的尺度,确定所述第二图像的第二裁剪量及所述第二图像的第二有效区域的尺度信息;根据所述第一裁剪量及所述第一有效区域的尺度信息,对所述第一图像进行裁剪,得到所述裁剪后的第一图像;根据所述第二裁剪量及所述第二有效区域的尺度信息,对所述第二图像进行裁剪,得到所述裁剪后的第二图像。

可选的,所述根据所述区域分割信息、所述目标拼接图像的尺度以及所述第一图像的尺度,确定所述第一图像的第一裁剪量及所述第一图像的第一有效区域的尺度信息,包括:当分割线在所述图像显示区域的宽度方向上对所述图像显示区域画面分割时,根据所述区域分割信息,确定所述第一图像的有效宽度,根据所述第一图像的实际宽度以及所述第一图像的有效宽度,确定所述第一裁剪量,所述第一有效区域的尺度信息包括所述第一图像的有效宽度及有效高度,所述第一图像的有效高度与所述第一图像的实际高度相同;或者,当所述分割线在所述图像显示区域的高度方向上对所述图像显示区域进行画面分割时,根据所述区域分割信息,确定所述第一图像的有效高度,根据所述第一图像的实际高度以及所述第一图像的有效高度,确定所述第一裁剪量,所述第一有效区域的尺度信息包括所述第一图像的有效宽度和所述有效高度,所述第一图像的有效宽度与所述第一图像的实际宽度相同。

可选的,所述根据所述第一裁剪量及所述第一有效区域的尺度信息,对所述第一图像进行裁剪,得到所述裁剪后的第一图像,包括:获取所述第一图像的图像格式类型;根据所述第一裁剪量确定裁剪起始点,根据所述第一裁剪量及所述第一有效区域的尺度信息确定裁剪终止点;根据所述裁剪起始点、所述裁剪终止点以及所述第一图像的图像格式类型,从所述第一图像的yuv图像数据中获取对应的亮度数据以及色度数据,基于所获取的亮度数据以及色度数据得到所述裁剪后的第一图像。

可选的,所述第一摄像头为长焦镜头,所述第二摄像头为广角镜头或超广角镜头。

可选的,所述图像显示区域包括第一显示区域及第二显示区域,其中,所述第一显示区域显示的图像对应于所述裁剪后的第一图像,所述第二显示区域显示的图像对应于所述裁剪后的第二图像,所述第一图像由所述多摄像头设备的第一摄像头上报,包括:所述第一图像由所述多摄像头设备的第一摄像头根据裁剪区域信息上报,其中,所述裁剪区域信息采用如下方式得到:当检测到对所述第一显示区域执行放大操作时,获取目标放大点的坐标,以及放大后对应的裁剪区域的裁剪宽度和裁剪高度;将所述目标放大点作为所述裁剪区域的中心点,根据所述目标放大点的坐标、所述裁剪宽度和裁剪高度,得到所述裁剪区域信息。

可选的,所述将所述目标放大点作为所述裁剪区域的中心点,包括:将所述第一摄像头的最小显示倍率对应的输出平面作为画布;根据所述裁剪宽度确定在所述画布的画布宽度方向上的第一宽度阈值及第二宽度阈值,其中,所述第一宽度阈值小于所述第二宽度阈值;根据所述裁剪高度确定在所述画布的画布高度方向上的第一高度阈值以及第二高度阈值,其中,所述第一高度阈值小于所述第二高度阈值;当所述目标放大点的坐标超出所述画布的设定区域时,则对所述目标放大点的坐标进行修正,并将坐标修正后的目标放大点作为所述裁剪区域的中心点,所述画布的设定区域由所述第一宽度阈值、所述第二宽度阈值、所述第一高度阈值以及所述第二高度阈值围成。

可选的,所述目标放大点的坐标包括宽度方向坐标和高度方向坐标,所述当所述目标放大点的坐标超出所述画布的设定范围时,对所述目标放大点的坐标进行修正,包括以下至少一种:当所述宽度方向坐标小于所述第一宽度阈值时,将所述宽度方向坐标修正为所述第一宽度阈值;当所述宽度方向坐标大于所述第二宽度阈值时,将所述宽度方向坐标修正为所述第二宽度阈值;当所述高度方向坐标小于所述第一高度阈值时,将所述高度方向坐标修正为所述第一高度阈值;当所述高度方向坐标大于所述第二高度阈值时,将所述高度方向坐标修正为所述第二高度阈值。

可选的,所述当检测到对所述第一显示区域执行放大操作时,获取目标放大点的坐标,包括:当检测到对所述第一显示区域执行放大操作时,获取所述目标放大点在所述图像显示区域上的位置;根据所述目标放大点在所述图像显示区域上的位置以及所述多摄像头设备的屏幕分辨率,将所述目标放大点在所述图像显示区域上的位置,转换成在所述画布上的位置,并将所述目标放大点在画布上的位置对应的坐标作为所述目标放大点的坐标。

可选的,所述根据所述目标放大点在所述图像显示区域上的位置以及所述多摄像头设备的屏幕分辨率,将所述目标放大点在所述图像显示区域上的位置,转换成在所述画布上的位置,包括:根据所述目标放大点在所述图像显示区域上的位置以及所述多摄像头设备的屏幕分辨率,计算从所述图像显示区域对应的坐标系转换成所述画布对应的坐标系时,所述目标放大点的坐标在宽度方向的宽度转换倍率以及在高度方向的高度转换倍率;根据所述宽度转换倍率、所述高度转换倍率以及所述裁剪区域信息,计算所述目标放大点在所述画布上的位置。

可选的,所述将所述目标放大点作为所述裁剪区域的中心点,根据所述目标放大点的坐标以及所述裁剪宽度和裁剪高度,得到所述裁剪区域信息,包括:当检测到对所述第一显示区域执行放大操作时,以所述画布的中心点为中心,得到初始裁剪区域信息;计算所述目标放大点与所述画布的中心点之间的偏移量;根据所述偏移量对所述初始裁剪区域信息进行校正,得到所述裁剪区域信息。

可选的,所述多摄像头设备的图像拼接方法还包括:以所述多摄像头设备的默认摄像头的中心点为基准,对所述其他摄像头进行中心距偏移校正,其中,所述其他摄像头指所述多摄像头设备中除所述默认摄像头之外的摄像头。

本发明实施例还提供一种多摄像头设备的图像拼接装置包括:第一获取单元,用于至少获取第一图像及第二图像,所述第一图像由所述多摄像头设备的第一摄像头上报,所述第二图像由所述多摄像头设备的第二摄像头上报,所述第一摄像头的视场角小于所述第二摄像头的视场角;第二获取单元,用于获取所述多摄像头设备的图像显示区域的区域分割信息;裁剪单元,用于根据所述区域分割信息分别对所述第一图像及所述第二图像进行裁剪,得到裁剪后的第一图像及裁剪后的第二图像;拼接单元,用于将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像。

本发明实施例还提供一种存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种多摄像头设备的图像拼接方法的步骤。

本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种多摄像头设备的图像拼接方法的步骤。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

根据多摄像头设备的图像显示区域的区域分割信息对第一图像及第二图像分别进行裁剪,将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像,由于第一图像及第二图像由多摄像头设备上的不同摄像头采集得到,且上报第一图像的第一摄像头的视场角小于上报第二图像的第二摄像头的视场角,从而可以实现同时显示不同视场角图像,提高用户体验。

进一步,分割线的位置可以随用户的拖动操作在图像显示区域内移动,以调整分割线对图像显示区域的画面分割,从而可以突破固定的1:1比例分割,提高对图像显示区域的画面分割的灵活性。

进一步,分割线的位置信息对应的取值为奇数时,执行取偶操作,以确保第一图像及第二图像的裁剪的顺利进行。

进一步,当检测到对第一显示区域执行放大操作时,可以将获取的目标放大点的坐标作为裁剪区域的中心点,并根据目标放大点的坐标、裁剪宽度以及裁剪高度得到裁剪区域信息,第一摄像头以目标放大点为中心得到的裁剪区域信息进行第一图像的上报,从而实现可以根据目标放大点为中心,进行定点放大,提高图像放大区域的灵活性。

进一步,对以多摄像头设备的默认摄像头的中心点为基准,对其他摄像头进行中心距偏移校正,从而可以提高图像显示区域显示拼接后的图像的画面一致感,提高拼接效果的友好度。

进一步,第一摄像头采用长焦摄像头,在倍率变化时,可以避免画面跳变。

附图说明

图1是本发明实施例中的一种多摄像头设备的图像拼接方法的流程图;

图2是本发明实施例中的一种nv21采样示意图;

图3是本发明实施例中的另一种多摄像头设备的图像拼接方法的流程图;

图4是本发明实施例中的一种图像裁剪原理示意图;

图5是本发明实施例中的一种图像拼接的示意图;

图6是本发明实施例中的一种目标放大点坐标修正的原理图;

图7是本发明实施例中的一种多摄像头设备的图像拼接装置的结构示意图。

具体实施方式

如上所述,在现有技术中,当用户需要查看同一场景的不同视角时,通常需要来回切换两个镜头,造成用户的体验较差。

为了解决上述问题,在本发明实施例中,根据多摄像头设备的图像显示区域的区域分割信息对第一图像及第二图像分别进行裁剪,将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像,由于第一图像及第二图像由多摄像头设备上的不同摄像头采集得到,且上报第一图像的第一摄像头的视场角小于上报第二图像的第二摄像头的视场角,从而可以实现同时在同一图像显示区域显示不同视场角图像,提高用户体验。

为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

参见图1,给出了本发明实施例中的一种多摄像头设备的图像拼接方法的流程图,具体可以包括如下步骤:

步骤s11,至少获取第一图像及第二图像。

在具体实施中,多摄像头设备指具有多个摄像头的手机、平板等设备。多摄像头上的多个摄像头可以分别具有不同的视场角(fieldofview,fov,也可称为视场或视角),也即多个摄像头的分别对应的焦段不同,从而多个摄像头分别具有不同的变焦倍率范围,其中,变焦倍率也可以称为显示倍率。例如,多摄像头设备包括:超广角摄像头、广角摄像头以及长焦摄像头。超广角摄像头、广角摄像头以及长焦摄像头的视场角逐渐减小。超广角摄像头的变焦倍率可以为0.6至1.0,广角摄像头的变焦倍率可以为1.0至2.0,长焦摄像头的变焦倍率可以为2.0至10.0。

在具体实施中,所获取的第一图像可以由多摄像头设备的第一摄像头上报,所获取的第二图像可以由多摄像头设备的第二摄像头上报。第一摄像头的视场角小于第二摄像头的视场角,第一图像可以作为特写景(也可称为特景)图像,第二图像可以作为全景图像。

在本发明实施例中,当多摄像头设备包括超广角摄像头、广角摄像头以及长焦摄像头时,第一摄像头可以为长焦摄像头,第二摄像头为广角摄像头。或者,第一摄像头为长焦摄像头,第二摄像头为超广角摄像头。或者,第一摄像头为广角摄像头,第二摄像头为超广角摄像头。

在具体实施中,在多景录像模式中,可以取第二摄像头支持的变焦倍率中的任一取值作为第二摄像头的默认变焦倍率,默认变焦倍率可以配置可调整,也可以配置为不可调整。

例如,当超广角摄像头作为第二摄像头时,可以根据需求取0.6至1.0之间的任一取值作为超广角摄像头的默认变焦倍率。又如,当广角摄像头作为第二摄像头时,可以根据需求取1.0至2.0之间的任一取值作为广角摄像头的默认变焦倍率。

在具体实施中,在多摄像头设备上可以安装有具有照相及视频录制功能应用软件(app)。

在检测到用户触发录制视频的操作时可以生成录像开启请求,并进入多景录像模式。例如,进入双景录像模式,可以根据录像开启请求控制第一摄像头上报第一图像,控制第二摄像头上报第二图像。

在检测到用户触发照相的操作时,可以生成照相请求,并进入多景照相模式。例如,进入双景照相模式,根据照相请求控制第一摄像头上报第一图像,控制第二摄像头上报第二图像。其中用户可以通过多种方式触发录制视频的操作或者触发照相操作。

用户通过触发多摄像头设备上的具有视频录制功能应用软件对应的图标或按键触发录制视频的操作。或者,用户通过触发多摄像头设备上的具有照相功能的应用软件对应的图标或按键触发照相的操作。可以理解的是,根据具有照相及视频录制功能应用软件的类型不同或者多摄像头设备的类型不同,触发开始录制视频及触发照相的方式不同,不管采用何种方式触发开始录制视频或者照相,只需得到对应的录像开启请求或照相请求即可。

步骤s12,获取所述多摄像头设备的图像显示区域的区域分割信息。

在具体实施中,区域分割信息用于指示图像显示区域的画面分割比例。区域分割信息可以包括分割线的位置信息。

在本发明实施例中,可以采用分割线对图像显示区域进行分割。通过分割线可以至少将图像显示区域分割成第一显示区域及第二显示区域。

分割线可以在图像显示区域的宽度方向上对图像显示区域进行画面分割,也可以在图像显示区域的高度方向上对图像显示区域进行画面分割。

在具体实施中,多摄像头设备的屏幕分辨率为w*h,w为所述多摄像头设备的屏幕分辨率宽,h为所述多摄像头设备的屏幕分辨率高,且w和h均为正整数,其中,屏幕分辨率宽对应于多摄像头设备的长边,屏幕分辨率对应于多摄像头设备的短边,也即屏幕分辨率宽大于或等于屏幕分辨率高。

当分割线对图像显示区域在宽度方向上进行画面分割时,分割线的位置范围为[0,w]。当分割线对图像显示区域在高度方向上进行画面分割时,分割线的位置范围为[0,h]。

在具体实施中,当分割线的位置介于(0,w)或者(0,h)时,分割线将图像显示区域的画面分割成两个显示区域,分别为第一显示区域及第二显示区域。当分割线的位置为0或者w或者h时,此时图像显示区域为一个显示区域,可以仅显示第一图像或者第二图像,如分割线的位置对应于0时,仅显示第二图像,分割线的位置对应于w或者h时,仅显示第一图像。

在本发明一实施例中,当分割线对图像显示区域在宽度方向上进行画面分割时,分割线的位置范围为

在本发明另一实施例中,当分割线对图像显示区域在高度方向上进行画面分割时,分割线的位置范围

例如,多摄像头显示屏幕分辨率为1920*1080时,分割线对图像显示区域在宽度方向进行分割,分割线的位置范围为[480,1440]。

在具体实施中,可以根据多摄像头设备的屏幕显示状态确定分割线对图像显示区域的画面分割情况。

分割线在图像显示区域的宽度方向上对图像显示区域进行画面分割,当多摄像头设备的屏幕显示状态为竖屏显示时,将图像显示区域分为上下两部分。当多摄像头设备的屏幕显示状态为横屏显示时,将图像显示区域分为左右两部分。

可以理解的是,分割线也可以在图像显示区域的高度方向上对图像显示区域进行画面分割,当多摄像头设备的屏幕显示状态为竖屏显示状态时,将图像显示区域分为左右两部分。当多摄像头设备的屏幕显示状态为横屏显示时,将图像显示区域分为上下两部分。

在具体实施中,分割线可以配置为随着多摄像头设备的翻转而变化。例如,当多摄像头设备的屏幕显示状态从竖屏切换至横屏时,分割线随之变化,将分割线在宽度方向对图像显示区域的进行画面分割调整为在高度方向上对图像显示区域的进行画面分割,以对图像显示区域的画面分割维持为上下两部分。又如,当多摄像头设备的屏幕显示状态从横屏切换至竖屏时,分割线随之变化,将分割线在宽度方向对图像显示区域的进行画面分割调整为在高度方向上对图像显示区域的进行画面分割,以对图像显示区域的画面分割维持为左右两部分。

为了提高图像显示区域对图像显示的灵活性,在本发明实施例中,响应于用户的拖动操作,所述分割线的位置随所述用户的拖动操作在所述图像显示区域内移动。也即,用户可以根据实际需求拖动分割线,以调整分割线对图像显示区域的画面分割比例,从而可以突破图像显示区域的1:1固定画面比例的限制,实现对图像显示区域的画面分割比例的动态调整,提高的图像显示区域所显示画面的调节灵活性。

在具体实施中,当所述分割线的位置信息对应的取值为奇数时,执行取偶操作;根据取偶结果确定所述分割线的位置信息。其中,取偶操作可以为向上取偶,也可以为向下取偶。通过取偶操作,使得分割线的位置对应的取值为偶数,为后续第一图像及第二图像的裁剪做准备,有助于第一图像及第二图像的裁剪的顺利进行。

在本发明实施例中,分割线可以为多摄像头设备的显示屏上的滑动条(bar),用户可以拖动滑动bar可以调整图像显示区域的画面分割比例。多摄像头设备上安装的应用软件(app)可以通过检测用户对滑动bar的拖动情况,确定滑动bar的位置mslide_position,并通过标签tag将滑动bar的位置下发至硬件抽象层(hardwareabstractionlayer,hal),以供hal进行图像裁剪以及图像拼接。其中,hal中还可以封装有多个层级,如superhal层,将滑动bar的位置下发至superhal层,以供hal进行图像裁剪以及图像拼接。

在具体实施中,默认分割配置可以配置为分割线将图像显示区域平均分成两部分,也即按照1:1的比例划分为图像显示区域。可以理解的是,还可以根据需求设定其他的画面分割比例。

在具体实施中,在多摄像头设备的显示界面上可以设置有恢复默认分割配置的选项,当检测到用户触发恢复默认分割配置的选项时,可以将分割线对图像显示区域的配置恢复至默认分割配置,实现一键恢复默认分割配置,提高用户操作便捷性。

步骤s13,根据所述区域分割信息分别对所述第一图像及所述第二图像进行裁剪,得到裁剪后的第一图像及裁剪后的第二图像。

步骤s14,将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像。

由上可知,根据多摄像头设备的图像显示区域的区域分割信息对第一图像及第二图像分别进行裁剪,将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像,由于第一图像及第二图像由多摄像头设备上的不同摄像头采集得到,且上报第一图像的第一摄像头的视场角小于上报第二图像的第二摄像头的视场角,从而可以实现同时显示不同视场角图像,提高用户体验。

在具体实施中,步骤s13可以通过如下方式实现:根据所述区域分割信息、所述目标拼接图像的尺度以及所述第一图像的尺度,确定所述第一图像的第一裁剪量及所述第一图像的第一有效区域的尺度信息;根据所述区域分割信息、所述目标拼接图像的尺度以及所述第二图像的尺度,确定所述第二图像的第二裁剪量及所述第二图像的第二有效区域的尺度信息;根据所述第一裁剪量及所述第一有效区域的尺度信息,对所述第一图像进行裁剪,得到所述裁剪后的第一图像;根据所述第二裁剪量及所述第二有效区域的尺度信息,对所述第二图像进行裁剪,得到所述裁剪后的第二图像。其中,所述第一图像的尺度包括第一图像的实际宽度以及第一图像的实际高度。第二图像的尺度包括第二图像的实际宽度以及第二图像的实际高度。第一图像的尺度可以根据第一图像的分辨率得到,第二图像的尺度可以根据第二图像的分辨率得到。

在本发明实施例中,第一图像的分辨率、第二图像的分辨率、多摄像头设备的屏幕分辨率以及目标拼接图像的分辨率相同。

在具体实施中,当分割线对图像显示区域的分割情况不同时,第一图像的第一裁剪量以及第一有效区域的尺度信息的确定方式也不同,具体而言:

在本发明一实施例中,当分割线在所述图像显示区域的宽度方向上对所述图像显示区域进行画面分割时,根据所述区域分割信息,确定所述第一图像的有效宽度,根据所述第一图像的实际宽度以及所述第一图像的有效宽度,确定所述第一裁剪量,所述第一有效区域的尺度信息包括所述第一图像的有效宽度及有效高度,所述第一图像的有效高度与所述第一图像的实际高度相同。

例如,采用如下公式(1)计算第一图像的第一裁剪量:

采用如下公式(2)计算第一图像的有效宽度:

output_w1=w-offset1*2;(2)

其中,offset1为第一图像的第一裁剪量,w为第一图像的实际宽度、显示屏的屏幕分辨率宽,output_w1为第一图像的有效宽度。

在本发明另一实施例中,当所述分割线在所述图像显示区域在高度方向上对所述图像显示区域进行画面分割时,根据所述区域分割信息,确定所述第一图像的有效高度,根据所述第一图像的实际高度以及所述第一图像的有效高度,确定所述第一裁剪量,所述第一有效区域的尺度信息包括所述第一图像的有效宽度和所述有效高度,所述第一图像的有效宽度与所述第一图像的实际宽度相同。

例如,采用如下公式(3)计算第一图像的第一裁剪量:

采用如下公式(4)计算第一图像的有效高度:

output_h1=h-offset1*2;(4)

其中,offset1为第一图像的第一裁剪量,h为第一图像的实际高度、显示屏的屏幕分辨率高,output_h1为第一图像的有效高度。

进一步地,根据所述第一裁剪量及所述第一有效区域的尺度信息,对所述第一图像进行裁剪,得到所述裁剪后的第一图像可以通过如下方式实现:

获取所述第一图像的图像格式类型;根据所述第一裁剪量确定裁剪起始点,根据所述第一裁剪量及所述第一有效区域的尺度信息确定裁剪终止点;根据所述裁剪起始点、所述裁剪终止点以及所述第一图像的图像格式类型,从所述第一图像的yuv图像数据中获取对应的亮度数据(y分量)以及色度数据(uv分量),基于所获取的亮度数据以及色度数据得到所述裁剪后的第一图像。其中,y表示像素中的亮度luminance,u代表色度chrominance;v代表饱和度chroma。

具体而言,在分别复制y分量及uv分量至输出图像outputbuffer时,根据第一图像的图像格式类型确定对y分量及uv分量的复制次数。根据裁剪起始点确定对y分量及uv分量的复制起点,根据裁剪终止点确定对y分量及uv分量的复制终点。

例如,第一图像的图像格式类型为nv21时,nv21采用4:2:0的方式进行采样,参照图2,给出了本发明实施例中的一种nv21采样示意图,其中黑点表示采样该像素的y分量、空心点表示采样该像素点的uv分量,即4个y共用一组uv。

当分割线在图像显示区域的宽度方向上对图像显示区域进行画面分割时,复制y分量的次数与分辨率高的值相同,复制uv分量的次数与二分之一分辨率高的值相同。

在本发明一实施例中,第二图像的第二裁剪量的确定方式可以参考第一图像的第一裁剪量的确定方法,此处不再赘述。

在本发明另一实施例中,第二图像的第二裁剪量还可以根据第一图像的第一裁剪量以及多摄像头设备的屏幕分辨率进行确定。

当分割线在宽度方向上对图像显示区域进行画面分割时,可以根据屏幕分辨率宽以及第一裁剪量,计算第二裁剪量。例如,采用如下公式(5)计算第二裁剪量:

其中,offset2为第二裁剪量,w为屏幕分辨率宽,offset1为第一裁剪量。

当分割线在高度方向上对图像显示区域进行画面分割时,可以根据屏幕分辨率高以及第一裁剪量,计算第二裁剪量。例如,采用如下公式(6)计算第二裁剪量:

其中,offset2为第二裁剪量,h为屏幕分辨率高,offset1为第一裁剪量。

在具体实施中,第二图像的第二有效区域的尺度信息的确定以及第二裁剪图像的裁剪方法可以参考上述关于第一图像的第一有效区域的尺度信息的确定以及第一裁剪图像的裁剪方法的描述,此处不再赘述。

为了便于本领域技术人员更好的理解和实现本发明实施例中,下面结合具体实施例对多摄像头设备的图像拼接方法的具体流程进行说明。在本实施例中,多摄像头设备的屏幕分辨率、第一图像的分辨率、第二图像的分辨率及目标拼接图像的分辨率均相同,配置为1920*1080,第一摄像头为长焦摄像头,第二摄像头为超广角摄像头,采用nv21进行采样。参照图3,给出了本发明实施例中的另一种多摄像头设备的图像拼接方法的流程图,参照图4给出了本发明实施例中的一种图像裁剪原理示意图,参照图5给出了本发明实施例中的一种图像拼接的示意图,下面结合图3至图5,对多摄像头设备的图像拼接方法进行说明,具体可以包括如下步骤:

步骤s31,超广角摄像头图像传感器以及长焦摄像头图像传感器分别出图。

长焦摄像头传感器出的第一图像记为buffer1,超广角摄像头传感器出的第二图像记为buffer2。

步骤s32,通过标签tag,获取多摄像头设备显示屏幕上滑动bar的值mslide_position。

例如,滑动bar的值的取值范围可以为[480,1440]。

步骤s33,根据滑动bar的值mslide_position,计算buffer1的第一裁剪量offset1,计算buffer2的第二裁剪量offset2。

采用公式(7)计算buffer1的第一裁剪量offset1,采用公式(8)计算buffer2的第二裁剪量offset2。

offset2=960-offset1;(8)

其中,offset1为第一裁剪量,w为第一图像的实际宽度、第一图像的实际宽度、屏幕分辨率宽以及目标拼接图像的实际宽度,offset2为第二裁剪量,960为w的二分之一。

步骤s34,计算buffer1进行图像裁剪后的有效区域宽度,计算buffer2进行图像裁剪后的有效区域宽度。

采用公式(9)计算buffer1进行图像裁剪后的有效区域宽度output_w1,采用公式(10)计算buffer2进行图像裁剪后的有效区域宽度output_w2。

output_w1=w-offset1*2;(9)

output_w2=w-offset2*2;(10)

其中,offset1为第一图像的第一裁剪量,w为第一图像的实际宽度、显示屏的屏幕分辨率宽,output_w1为第一图像的有效宽度,output_w2为第二图像的有效宽度,offset2为第二图像的第二裁剪量。

步骤s35,分别复制(copy)y分量和uv分量到输出图像output_buffer中。

具体而言,复制(memory_copy)h次y分量和h/2次uv分量output_buffer中,其中,h为屏幕分辨率高。

步骤s36,将图像裁剪后的有效区域output_offset1和output_offset2拼接在一起,组成一张新的w*h大小的yuv图像,也即得到目标拼接图像,并进行显示。

其中,第一图像的有效区域output_offset1可以至少由第一图像的有效宽度以及有效高度得到,第二图像的有效区域output_offset2可以至少由第二图像的有效宽度及有效高度得到。

在具体实施中,步骤s31中,可以由超广角摄像头图像传感器、长焦摄像头图像传感器配合多摄像头终端设备的数码相机(digitalcamera,dcam)、图像信号处理器(imagesignalprocesso,isp)以及硬件抽象层(hardwareabstractionlayer,hal)实现。步骤s33至步骤s35以及步骤s36中的图像拼接,可以有多摄像头设备中的hal实现,或者由hal中封装的superhal实现,步骤s36中的显示目标拼接图像可以由superhal将目标拼接图像送至多摄像头终端设备上的应用软件app或者应用程序包(apk)进行显示。

在具体实施中,图像显示区域可以包括第一显示区域及第二显示区域,第一显示区域显示的图像对应于裁剪后的第一图像,第二显示区域显示的图像对应于裁剪后的第二图像。

在录像开启请求或照相请求中可以携带有裁剪区域信息,并将裁剪区域信息下发至摄像头,不同摄像头对应的裁剪区域信息不同。

在本发明实施例中,在录像或者照相时,可以根据实际需求对第一显示区域进行定点放大。具体而言,以用户对第一显示区域执行放大操作时的目标放大点为中心,进行定点放大。定点放大区域与对应的裁剪区域信息相关,其中,第一图像由多摄像头设备的第一摄像头根据裁剪区域信息上报,其中第一图像对应的裁剪区域信息可以通过如下方式得到:

当检测到对第一显示区域执行放大操作时,获取目标放大点的坐标,以及放大后对应的裁剪区域的裁剪宽度和裁剪高度。将目标放大点作为裁剪区域的中心点,根据目标放大点的坐标以及裁剪宽度和裁剪高度,得到裁剪区域信息。

在具体实施中,可以通过双击第一显示区域的方式对第一显示区域执行放大操作,也可以通过双指缩放的方式对第一区域执行放大操作。

当以双击第一显示区域的方式对第一显示区域执行放大操作时,可以获取用户双击区域,将用户双击区域的中心点作为目标放大点。

当通过双指缩放的方式对第一显示区域执行放大操作时,可以根据双指缩放区域、双指缩放前在第一显示区域的位置以及双指缩放后在第一显示区域的位置的情况,确定目标放大点的位置。

进一步地,将所述第一摄像头的最小显示倍率对应的输出平面作为最大画布(后文简称画布);根据所述裁剪宽度确定在所述画布的画布宽度方向上的第一宽度阈值及第二宽度阈值,其中,所述第一宽度阈值小于所述第二宽度阈值;根据所述裁剪高度确定在所述画布的画布高度方向上的第一高度阈值以及第二高度阈值,其中,所述第一高度阈值小于所述第二高度阈值;当所述目标放大点的坐标超出所述画布的设定区域时,则对所述目标放大点的坐标进行修正,并将坐标修正后的目标放大点作为所述裁剪区域的中心点,所述画布的设定区域由所述第一宽度阈值、所述第二宽度阈值、所述第一高度阈值以及所述第二高度阈值围成。

参照图6,给出了本发明实施例中的一种目标放大点坐标修正的原理图,其中,x为宽度方向,y为高度方向,第一宽度阈值为x2,第二宽度阈值为x3,第一高度阈值为y2,第二高度阈值为y3。第一宽度阈值与裁剪区域宽度相关,第二宽度阈值与裁剪区域宽度及画布宽度相关。例如,第一宽度阈值为裁剪区域宽度的二分之一。第二宽度阈值为画布宽度与裁剪区域宽度的二分之一之差。

第一高度阈值与裁剪区域高度相关,第二高度阈值与裁剪区域高度以及画布高度相关。例如,第一高度阈值为裁剪区域高度的二分之一。第二高度阈值为画布高度与裁剪高度的二分之一之差。

在具体实施中,根据目标放大点的位置在画布上的位置的不同,对目标放大点的坐标的修正方式不同,具体而言:

当所述宽度方向坐标小于所述第一宽度阈值时,将所述宽度方向坐标修正为所述第一宽度阈值。

当所述宽度方向坐标大于所述第二宽度阈值时,将所述宽度方向坐标修正为所述第二宽度阈值。

当所述高度方向坐标小于所述第一高度阈值时,将所述高度方向坐标修正为所述第一高度阈值。

当所述高度方向坐标大于所述第二高度阈值时,将所述高度方向坐标修正为所述第二高度阈值。

上述对目标放大点坐标进行修正,目标放大点的宽度方向坐标和高度方向坐标可以分别进行修正,也可以同时修正,修正后的目标放大点的高度方向坐标介于第一高度阈值与第二高度阈值之间,修正后的目标放大点的宽度方向坐标介于第一宽度阈值与第二宽度阈值之间。通过对目标放大点的修正,在以目标放大点为中心对画面进行放大时,即使放大到倍率(zoom)的极限位置时,画面也不会超出第一摄像头的图像传感器的最大画布范围,实现对放大的保护机制。

在具体实施中,当检测到对第一显示区域执行放大操作时,可以先获取目标放大点在图像显示区域上的位置,根据目标放大点在图像显示区域上的位置以及多摄像头设备的屏幕分辨率,将目标放大点在图像显示区域上的位置转换成在画布上的位置。

具体而言,可以根据所述目标放大点在所述图像显示区域上的位置以及所述多摄像头设备的屏幕分辨率,计算从所述图像显示区域对应的坐标系转换成所述画布对应的坐标系时,所述目标放大点的坐标在宽度方向的宽度转换倍率以及在高度方向的高度转换倍率;根据所述宽度转换倍率、所述高度转换倍率以及所述裁剪区域信息,计算所述目标放大点在所述画布上的位置。

在具体实施中,裁剪区域信息可以包括裁剪宽度、裁剪高度以及裁剪区域的指定点坐标,可以根据裁剪区域的指定点的宽度方向坐标、裁剪宽度以及宽度转换倍率,计算目标放大点的宽度方向坐标。可以根据裁剪区域的指定点的高度方向的坐标、裁剪度以及高度转换倍率,计算目标放大点的高度方向坐标。

在本发明实施例中,可以采用如下方式(11)计算宽度转换倍率,公式(12)计算高度转换倍率:

可以采用如下方式(13)和(14)计算目标放大点在画布上的坐标。

可以采用如下公式(15)及公式(16)分别计算执行放大操作后得到的显示倍率下对应的裁剪宽度和裁剪高度。

其中,ratio_w为宽度转换倍率,ratio_h为高度转换倍率,(touch_x,touch_y)为目标放大点在图像显示区域的位置,touch_x为目标放大点在图像显示区域的宽度方向坐标,touch_y为目标放大点的高度方向坐标,w为屏幕分辨率宽,h为屏幕分辨率高,(point_x1,point_y1)为目标放大点在画布上的坐标,point_x1为目标放大点在画布上的宽度方向坐标,point_y1为目标放大点在画布上的高度方向坐标,w0为画布的宽度,h0为画布的高度,w3为放大操作后的显示倍率对应的裁剪宽度,h3为放大操作后得到的显示倍率对应的裁剪高度,app_ratio为放大操作后得到的显示倍率。

需要说明的是,在单景显示模式时,也即图像显示区域仅显示多摄像头设备中的一个摄像头上报的图像时,offset1的取值为0。

在具体实施中,可以采用如下方式确定裁剪区域:根据目标放大点的坐标、裁剪宽度以及裁剪高度确定裁剪区域,其中,裁剪区域信息可以包括:目标放大点的坐标、裁剪宽度以及裁剪高度。

在具体实施中,也可以采用如下方式确定裁剪区域:在检测到对所述第一显示区域执行放大操作时,以所述画布的中心点为中心,得到初始裁剪区域信息,计算所述目标放大点与所述画布的中心点之间的偏移量,根据所述偏移量对所述初始裁剪区域信息进行校正,得到所述裁剪区域信息。

具体而言,采用如下公式(17)及(18)计算所述目标放大点与所述画布的中心点之间的偏移量,其中,目标放大点与所述画布的中心点之间的偏移量可以包括宽度方向的偏移量和高度方向的偏移量:

dx=point_x1-point_x0;(17)

dy=point_y1-point_y0;(18)

其中,dx为宽度方向的偏移量,dy为高度方向的偏移量,(point_x1,point_y1)为目标放大点在画布上的位置,(point_x0,point_y0)为画布的中心点坐标。

所述画布的中心点为中心得到的初始裁剪信息可以包括指定点的坐标(region[t][0],region[t][1]),裁剪宽度region[t][2],裁剪高度region[t][3]。指定点可以为初始裁剪区域的左上角的点。

将指定点的宽度方向坐标在宽度方向平移偏移量dx,将指定点的高度方向坐标在高度方向平移偏移量dy,得到平移校正后指定点的坐标,目标放大点对应的裁剪区域信息可以包括:平移校正后的指定点的坐标、裁剪宽度以及裁剪高度。

在得到针对第一摄像头的裁剪区域信息之后,可以将裁剪区域信息设置给dcam,dcam装与裁剪区域相同大小的图,作为第一图像。得到第一图像之后的后续的处理流程可以参见步骤s11至步骤s14,此处不再赘述。

在实际应用中,在多摄像头设备的每个摄像头在安装过程中,存在安装误差,所存在的安装误差,可能带来拼接图像的两个画面的画面一致性较差。为了提高目标拼接图像的两个画面的一致性,提高拼接效果的友好性,在本发明实施例中,可以以多摄像头设备的默认摄像头的中心为基准,对其他摄像头进行中心距偏移校正,以使得校正后的其他摄像头与默认摄像头的视场角中心对齐。

为了便于本领域技术人员更好的理解和实现本发明实施例中,本发明实施例还提供一种多摄像头设备的图像拼接装置。参照图7,给出了本发明实施例中的一种多摄像头设备的图像拼接装置的结构示意图。多摄像头设备的图像拼接装置70可以包括:

第一获取单元71,用于至少获取第一图像及第二图像,所述第一图像由所述多摄像头设备的第一摄像头上报,所述第二图像由所述多摄像头设备的第二摄像头上报,所述第一摄像头的视场角小于所述第二摄像头的视场角;

第二获取单元72,用于获取所述多摄像头设备的图像显示区域的区域分割信息;

裁剪单元73,用于根据所述区域分割信息分别对所述第一图像及所述第二图像进行裁剪,得到裁剪后的第一图像及裁剪后的第二图像;

拼接单元74,用于将裁剪后的第一图像及裁剪后的第二图像拼接,得到目标拼接图像。

在具体实施中,多摄像头设备的图像拼接装置70的具体工作流程及原理可以参考本发明上述实施例中提供的多摄像头设备的图像拼接方法的描述,此处不再赘述。

本发明实施例还提供一种存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一实施例提供的多摄像头设备的图像拼接方法的步骤。

本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一实施例提供的多摄像头设备的图像拼接方法的步骤。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1