双目全景图像获取方法及装置与流程

文档序号:13627818阅读:268来源:国知局
双目全景图像获取方法及装置与流程

本发明涉及图像处理领域,特别涉及一种双目全景图像获取方法及装置。



背景技术:

由于全景图像能够带给用户很好的沉浸感,因此越来越多的相机增加了全景功能。

实现全景图像的方式通常是通过单摄像机标定,通过多台型号相同的摄像机拍摄多个画面后拼接成全景图像,然后合并成双目立体图像传输到显示器上进行显示。

而图像拼接的方式通常对图像源要求较高,在拼接过程中存在拼接重复和图像损坏或变形的情况,导致拼接后得到的图像质量不高,另外全景图像的拼接需要提供数量较多的图像源,拼接耗时长,导致获得全景图像的效率低。



技术实现要素:

本发明实施例提供了一种双目全景图像获取方法及装置。所述技术方案如下:

第一方面,提供了一种双目全景图像获取方法,所述方法包括:获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像,所述第一全景摄像头与所述第二全景摄像头均水平放置;获取至少一组相互匹配的第一像素点和第二像素点,所述第一像素点是位于所述第一全景图像上的像素点,所述第二像素点是位于所述第二全景图像上的像素点;计算相互匹配的至少一组第一像素点和第二像素点之间的距离差值,根据所述距离差值得到所述第一全景图像的深度信息和所述第二全景图像的深度信息;将所述第一全景图像和所述第二全景图像中的一个作为第一单眼全景图,结合与被选为所述第一单眼全景图的全景图像对应的深度信息、所述第一单眼全景图以及预定瞳距映射出第二单眼全景图;将所述第一单眼全景图在第一单眼对应的显示区域进行显示,将所述第二单眼全景图在第二单眼对应的显示区域进行显示。

第二方面,提供了一种双目全景图像获取装置,所述装置包括:第一获取模块,用于获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像,所述第一全景摄像头与所述第二全景摄像头均水平放置;第二获取模块,用于获取至少一组相互匹配的第一像素点和第二像素点,所述第一像素点是位于所述第一获取模块获取到的所述第一全景图像上的像素点,所述第二像素点是位于所述第一获取模块获取到的所述第二全景图像上的像素点;第一计算模块,用于计算相互匹配的所述第二获取模块获取到的至少一组第一像素点和第二像素点之间的距离差值,根据所述距离差值得到所述第一全景图像的深度信息和所述第二全景图像的深度信息;映射模块,用于将所述第一获取模块获取到的所述第一全景图像和所述第二全景图像中的一个作为第一单眼全景图,结合所述第一计算模块计算出的与被选为所述第一单眼全景图的全景图像对应的深度信息、所述第一单眼全景图以及预定瞳距映射出第二单眼全景图;显示模块,用于将所述第一单眼全景图在第一单眼对应的显示区域进行显示,将所述映射模块映射出的所述第二单眼全景图在第二单眼对应的显示区域进行显示。

本发明实施例提供的技术方案带来的有益效果是:

通过两个水平放置的全景摄像头得到第一全景图像和第二全景图像,根据第一全景图像和第二全景图像中匹配的像素点的距离差值计算深度信息,以其中一张全景图像作为第一单眼全景图,结合第一单眼全景图、对应的深度信息以及预定瞳距映射出第二单眼全景图,从而获取双目立体全景图像,由于是利用两张全景图像快速计算出深度信息,映射第二单眼全景图,过程中不需要进行图像展开拼接出双目立体全景图像,避免了展开时造成的图像扭曲,保留了原始图像的像素,解决了相关技术中通过图像拼接的方式导致获取双目立体全景图像的时间长,获取到的图像质量低的技术问题,达到了高效率获取高质量的双目立体全景图像的效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种双目全景图像获取方法的流程图;

图2a是根据另一示例性实施例示出的一种双目全景图像获取方法的流程图;

图2b是根据一示例性实施例示出的获取通过第一全景摄像头得到的第一全景图像以及通过第二全景摄像头得到的第二全景图像的流程图;

图2c是根据一示例性实施例示出的获取至少一组相互匹配的第一像素点和第二像素点的流程图;

图2d是根据一示例性实施例示出的确定第一全景图像和第二全景图像中相匹配的像素点的示意图;

图2e是根据另一示例性实施例示出的获取至少一组相互匹配的第一像素点和第二像素点的流程图;

图2f是根据一示例性实施例示出的计算相互匹配的至少一组第一像素点和第二像素点之间的距离差值以及根据距离差值得到第一全景图像的深度信息和第二全景图像的深度信息的流程图;

图2g是根据一示例性实施例示出的根据物体在左眼图像中的坐标映射在右眼图像中的坐标的示意图;

图2h是根据一示例性实施例示出的将第二单眼全景图在第二单眼对应的显示区域进行显示的流程图;

图3是根据一示例性实施例示出的一种双目全景图像获取装置的框图;

图4是根据另一示例性实施例示出的一种双目全景图像获取装置的框图;

图5是根据一示例性实施例示出的一种用于获取双目全景图像的装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种双目全景图像获取方法的流程图,该双目全景图像获取方法主要应用于电子设备中,这里所讲的电子设备一般可以包括水平放置的两个型号相同的全景摄像头,且具备图像处理和显示的功能,电子设备对全景摄像头采集到的图像进行图像处理和显示;显然,该双目全景图像获取方法还可以应用于系统中,该系统包含水平放置的两个型号相同的全景摄像头,以及具备图像处理和显示的功能的电子设备,此时全景摄像头将采集到的图像信息传输至电子设备进行图像处理和显示。如图1所示,该双目全景图像获取方法可以包括如下几个步骤:

步骤101,获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像。

第一全景摄像头与第二全景摄像头均水平放置。

这里的第一全景摄像头和第二全景摄像头一般为型号相同的全景摄像头。两个全景摄像头同时采集全景图像,后续处理过程中,针对两个全景摄像头同时刻采集到的全景图像进行对应处理。

步骤102,获取至少一组相互匹配的第一像素点和第二像素点。

第一像素点是位于第一全景图像上的像素点,第二像素点是位于第二全景图像上的像素点。

获取第一全景图像上与第二全景图像上相互匹配的至少一组像素点,将每组像素点中位于第一全景图像上的像素点记为第一像素点,将每组像素点中位于第二全景图像上的像素点记为第二像素点。

步骤103,计算相互匹配的至少一组第一像素点和第二像素点之间的距离差值,根据距离差值得到第一全景图像的深度信息和第二全景图像的深度信息。

深度信息可以反映全景图像的立体空间感。

步骤104,将第一全景图像和第二全景图像中的一个作为第一单眼全景图,结合与被选为第一单眼全景图的全景图像对应的深度信息、第一单眼全景图以及预定瞳距映射出第二单眼全景图。

这里所讲的预定瞳距表示用户两眼瞳孔之间的距离,普通成人的双眼瞳距一般为6cm,在实际应用中,预定瞳距的取值可以依据不同用户的实际瞳距进行设定。

可选的,电子设备或系统可以设置用于采集用户瞳距的器件,以采集当前用户的实际瞳距,将采集到的实际瞳距确定为该预定瞳距。

可选的,电子设备或系统可以提供瞳距选择功能,用户可以根据自己的瞳距选择一个瞳距,将用户选择的瞳距确定为该预定瞳距。

可选的,电子设备或系统在提供瞳距选择功能时,可以在显示界面提供瞳距选择控件,用户通过瞳距选择控件来选择自己的瞳距。

可选的,电子设备或系统在提供瞳距选择功能时,可以设置数字选择按键,将用户通过数字选择按键选择的数字作为用户自己的瞳距。

步骤105,将第一单眼全景图在第一单眼对应的显示区域进行显示,将第二单眼全景图在第二单眼对应的显示区域进行显示。

一般来讲,第一单眼对应的显示区域和第二单眼对应的显示区域之间的中心距离与上述的预定瞳距相同或相近,这样避免用户观看时的眩晕感。

以电子设备或系统为智能眼镜为例,第一单眼对应的显示区域可以为其中一个镜片所对应的区域,第二单眼对应的显示区域可以为另一个镜片所对应的区域。

综上所述,本发明实施例中提供的双目全景图像获取方法,通过两个水平放置的全景摄像头得到第一全景图像和第二全景图像,根据第一全景图像和第二全景图像中匹配的像素点的距离差值计算深度信息,以其中一张全景图像作为第一单眼全景图,结合第一单眼全景图、对应的深度信息以及预定瞳距映射出第二单眼全景图,从而获取双目立体全景图像,由于是利用两张全景图像快速计算出深度信息,映射第二单眼全景图,过程中不需要进行图像展开拼接出双目立体全景图像,避免了展开时造成的图像扭曲,保留了原始图像的像素,解决了相关技术中通过图像拼接的方式导致获取双目立体全景图像的时间长,获取到的图像质量低的技术问题,达到了高效率获取高质量的双目立体全景图像的效果。

在实际应用时,为了使获取第一全景图像和第二全景图像中匹配的像素点的效率更高,可以对采集的第一初始全景图像和第二初始全景图像进行矫正,使得矫正后的第一全景图像和第二全景图像中匹配的像素点在同一水平轴上。请参见如图2a中所示出的步骤。

图2a是根据另一示例性实施例示出的一种双目全景图像获取方法的流程图,该双目全景图像获取方法主要应用于电子设备中,这里所讲的电子设备一般可以包括水平放置的两个型号相同的全景摄像头,且具备图像处理和显示的功能,电子设备对全景摄像头采集到的图像进行图像处理和显示;显然,该双目全景图像获取方法还可以应用于系统中,该系统包含水平放置的两个型号相同的全景摄像头,以及具备图像处理和显示的功能的电子设备,此时全景摄像头将采集到的图像信息传输至电子设备进行图像处理和显示。如图2a所示,该双目全景图像获取方法可以包括如下几个步骤:

一般的,在对图像矫正时,需要获取摄像头的相关参数,通常是通过标定的方式来获取摄像头的相关参数,具体可以参见如步骤201至步骤204所描述的方法。

步骤201,对第一全景摄像头进行单目标定,确定出第一全景摄像头的第一内部参数和相对于世界坐标系的第一外部参数。

步骤202,对第二全景摄像头进行单目标定,确定出第二全景摄像头的第二内部参数和相对于世界坐标系的第二外部参数。

这里所讲的单目标定是利用两个全景摄像头拍摄多张附带有标定板的图像,这里所讲的标定板类似于棋盘中的方格线,计算出摄像头的内部参数和相对于世界坐标系的外部参数。

步骤203,对第一全景摄像头和第二全景摄像头进行立体标定。

这里所讲的立体标定是通过第一内部参数、第一外部参数、第二内部参数和第二外部参数确定出第一全景摄像头和第二全景摄像头的相对位置参数。

步骤204,根据单目标定和立体标定获取到的参数计算第一全景摄像头和第二全景摄像头的旋转矩阵和平移矩阵。

分别对第一全景摄像头和第二全景摄像头进行标定,以第一全景摄像头为左侧全景摄像头、第二全景摄像头为右侧全景摄像头为例,得到左侧全景摄像头的外部参数rl、tl,以及右侧全景摄像头的外部参数rr、tr,接下来进行双目标定。假设三维场景中任意一点在世界坐标系下的坐标为(xw,yw,zw),在左侧全景摄像头下的坐标为(xl,yl,zl),以及在右侧全景摄像头下的坐标为(xr,yr,zr)。将它们写成齐次坐标形式包括如下公式(1)和公式(2):

由公式(1)和公式(2)得到如下公式(3):

也即

标定结束后,就会得到旋转矩阵r,平移矩阵t。由公式(3)可以得知:旋转矩阵r和平移矩阵t是第一全景摄像头的坐标系映射至第二全景摄像头坐标系时需要的参数。

步骤205,获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像。

可选的,获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像,还可以包括如图2b所示出的步骤:

步骤205a,通过第一全景摄像头采集第一初始全景图像,通过第二全景摄像头在同时刻采集第二初始全景图像。

步骤205b,根据旋转矩阵和平移矩阵计算出第一初始全景图像的第一映射表和第二初始全景图像的第二映射表。

这里的第一映射表中存储的是第一初始全景图像经过旋转矩阵和平移矩阵变换前后各像素点所在坐标的对应关系,第二映射表中存储的是第二初始全景图像经过旋转矩阵和平移矩阵变换前后各像素点所在坐标的对应关系。

步骤205c,根据第一映射表对第一初始全景图像进行矫正,得到第一全景图像,根据第二映射表对第二初始全景图像进行矫正,得到第二全景图像,矫正后得到的第一全景图像和矫正后得到的第二全景图像中相匹配的像素点在同一水平轴上。

由于映射表中已经存储有经过计算得到的经过旋转矩阵和平移矩阵变换前后的像素点的坐标的对应关系,通过查找映射表,并根据映射表中的对应关系,可以将图像中的对应变换前坐标位置的像素点移至变换后对应的坐标位置,即可实现对图像的矫正。

步骤206,获取至少一组相互匹配的第一像素点和第二像素点。

第一像素点是位于第一全景图像上的像素点,第二像素点是位于第二全景图像上的像素点。

可选的,获取至少一组相互匹配的第一像素点和第二像素点,可以包括如图2c所示出的步骤:

步骤206a1,对于第一全景图像中任一第一像素点,选取第二全景图像中与第一像素点对应位置处的像素点,将包含选取的像素点的第一预定区域内的各个像素点确定为候选像素点。

第一全景图像与第二全景图像中像素点的数量相同,因此对于每个像素点而言,在整个图像中对应的坐标位置是固定的,这里所讲的对应位置可以理解为与第一像素点的坐标位置相同的像素点,第一预定区域的大小可以预先设定,比如以选取的像素点为中心,选取一段预定长度的水平方向的线段,将该线段上的像素点确定为候选像素点。

在实际应用中,若是以左边的摄像头采集到的全景图像中的像素点作为参考,则在右边的摄像头采集到的全景图像中选取候选像素点时,可以选取以作为参考的像素点的位置左边的预定范围内的像素点,这是由于右边摄像头采集到的图像中相同的物体相对左边的摄像头采集到的图像中,同一个物体位置会向左发生偏移,因此在参考的像素点的左边的位置进行搜索可以适当缩小搜索的范围,以便更快确定出匹配的像素点。

步骤206b1,在第一全景图像中以第一像素点为中心点选取预定大小的第一区域。

这里所讲的第一区域的形状可以为圆形、矩形或多边形等,这里不对第一区域的形状进行限定。

步骤206c1,对于每个候选像素点,在第二全景图像中以候选像素点为中心点选取预定大小的第二区域。

选取的第二区域与第一区域的形状和大小均相同,也即第一区域与第二区域内包含的像素点的数量和像素点组成的形状相同。

步骤206d1,对于每个第二区域,计算第二区域的像素点与第一区域内对应位置处的像素点之间的像素差值,将各个像素差值的绝对值求和。

由于计算像素差时,得到的结果可能有正数有负数,因此需要对像素差值取绝对值。因为第一区域与第二区域内的像素点的数量和位置都是对应的,在计算像素差时,对应在第一区域和第二区域中相对于整个区域的坐标位置一致的像素点计算像素差。

步骤206e1,将绝对值之和最小的第二区域所对应的候选像素点,确定为与第一像素点匹配的第二像素点。

绝对值之和越小,表示第一区域与第二区域内的像素点相似度越高。

举例说明,如图2d所示,在左图l中选取第一像素点a,以图中建立的坐标系为例,a点对应的坐标为(4,6),在右图r中选取坐标为(4,6)的像素点b。首先,选取右图r中预定区域的像素点作为候选像素点,这里选取的是水平方向长度为5的线段的区域作为预定区域,也即选取阴影部分的5个像素点作为候选像素点。然后,选取以第一像素点a为中心点的第一区域,比如选取边长为3的正方形区域,如左图l’中阴影区域所示。对每一个候选像素点,以候选像素点为中心点选取与第一区域形状和大小相等的第二区域,以右图r’中的候选像素点c为例,选取右图r’中边长为3的阴影部分的区域中的像素点,计算第一区域与第二区域中各对应位置像素点的像素差,比如左图l’中像素点a与右图r’中像素点c为阴影区域中的一组对应位置的像素点,左图l’中像素点d与右图r’中像素点e也为阴影区域中的一组对应位置的像素点,分别计算出阴影区域的每一组像素点的像素差,取像素差的绝对值,将阴影区域内所有的对应位置的像素点的像素差绝对值相加。找出像素差绝对值总和最小的候选像素点,将该候选像素点确定为与第一像素点匹配的第二像素点。

比如,可以使用块匹配算法来确定第一全景图像和第二全景图像中相匹配的像素点。块匹配算法是确定一个(2*n+1)*(2*n+1)的搜索窗口和搜索匹配点的范围m,m是最大距离差值,n为1,2,3…的正整数,然后遍历第一全景图像和第二全景图像,对于第一全景图像中的任一像素点,比较在第二全景图像中的对应位置的m范围内的像素点与第一全景图像中的该像素点的相似度,找到最相似的点。

通过计算第一全景图像与第二全景图像的像素差来评定相似度,l与k为扫描窗口的长宽,x1,y1为i1第一全景图像的像素坐标,x2,y2为i2第二全景图像的像素坐标,两点的像素差的平方来移除负数的影响,表示两点的相似度。

由于选取的候选像素点可能不止一个,可以通过比较以第一像素点为中心点的区域内的像素点和以候选像素点为中心点的相同区域内的像素点的相似度来判断与第一像素点匹配的像素点,计算相似度时,可以根据区域内的各对应位置的像素点的像素差值的绝对值总和来比较,也可以根据区域内各对应位置的像素点的像素差值的绝对值的平均值进行比较,最终相似度最高的,也就是像素差的绝对值总和最小时对应的候选像素点是与第一像素点匹配的像素点。

为了在实时处理每一帧图像时,能够更快地获取到双目全景图像,可以将确定匹配的像素点的过程进行加速,加速方法可以参见如步骤206a2至步骤206e2所描述的方法。

可选的,获取至少一组相互匹配的第一像素点和第二像素点,还可以包括如图2e所示出的步骤:

步骤206a2,对于第一全景图像中任一第一像素点,选取第二全景图像中与第一像素点对应位置处的像素点,将包含选取的像素点的第二预定区域内的各个像素点确定为候选像素点。

步骤206a2与步骤206a1类似,这里就不再赘述。

步骤206b2,在第一全景图像中以第一像素点为中心点选取预定方向上预定长度的第一线段。

这里将步骤206b1中比较像素点周围的像素点的相似度由一个区域改进为一条线段,使得计算相似度时的采样点减少,计算量相应减少,从而加快了计算的速度。

可选的,选取预定方向上预定长度的线段,可以选取一条或多条线段进行比较,比如可以选取水平方向、垂直方向或对角线方向中以第一像素点为中心点的预定长度的线段中的至少一条线段。

步骤206c2,对于每个候选像素点,在第二全景图像中以候选像素点为中心点选取预定方向上预定长度的第二线段。

步骤206d2,对于每个第二线段,计算第二线段上像素点与第一线段上对应位置处的像素点之间的像素差值,将各个像素差值的绝对值求和。

步骤206e2,将绝对值之和最小的第二线段所对应的候选像素点,确定为与第一像素点匹配的第二像素点。

可选的,在计算线段上的像素点的相似度时,还可以采取加权求和的方式,也就是距离中心点越远的像素点,权值越小。

可选的,还可以利用图形处理器(英文:graphicsprocessingunit,gpu)来实现加速,由于gpu中是并行计算的,因此运算速度更快,从而实现算法的加速,使得获取双目全景图像的时间缩短。

可选的,在将绝对值之和最小的第二区域所对应的候选像素点,确定为与第一像素点匹配的第二像素点之后,通过以下方法对确定出的匹配的像素点进行验证:

对于确定出的每组第一像素点和第二全景图像中的第二像素点,在第一全景图像中确定出与第二像素点匹配度最高的像素点,在该像素点为确定出的与第二像素点匹配的第一像素点时,将第一像素点和第二像素点作为一组进行存储。

这种验证方式是通过双向匹配的方式,对于上述任一方法确定出的任一组匹配的第一像素点和第二像素点进行验证,比如,根据第一全景图像中的第一像素点a,确定出第二全景图像中与a相匹配的第二像素点b,再根据第二像素点b在第一全景图像中搜索匹配的像素点,当搜索到匹配的像素点为a时,则确定第一像素点a与第二像素点b是一组匹配的像素点,通过这种双向匹配的方法可以改善匹配的精度。

步骤207,计算相互匹配的至少一组第一像素点和第二像素点之间的距离差值,根据距离差值得到第一全景图像的深度信息和第二全景图像的深度信息。

摄像头在拍摄一个场景时,距离摄像头近的物体在摄像头的拍摄位置改变时,在图像中的位置会发生较大的偏移,而距离摄像头远的物体在图像中的位置的偏移较小,因此可以根据偏移的距离来计算物体的远近,也即计算不同像素点的深度信息。

可选的,计算相互匹配的至少一组第一像素点和第二像素点之间的距离差值,根据距离差值得到第一全景图像的深度信息和第二全景图像的深度信息,可以包括如图2f所示出的步骤:

步骤207a,根据计算出的各组匹配的像素点的距离差值生成视差图。

这里提到的视差图是利用与摄像头采集的图像相同大小的存储区域,对应每一个像素点存储该像素点发生偏移的距离差值。

步骤207b,通过滤波器对视差图进行去噪处理,得到去噪后的视差图。

在实际应用中,由于匹配像素点的精度不能达到100%,因此视差图中可能存在一些像素点的距离差值计算错误的情况,需要使用滤波器对图像进行适当地去噪,使得获取到的视差图更加平滑。

比如,使用加权最小二乘滤波器对视差图进行滤波。

给予一张输入图像g,寻找一张新图u,一方面u要最接近g,另一方面,u要尽可能的平滑。我们要寻找该公式的最小值:

脚注p代表像素位置,(up-gp)2的目标就是缩小u与g的距离,第二个参数项是最小化u的偏导来实现平滑。平滑权重为ax,ay,根据g而定。λ负责两个项目参数(up-gp)2的平衡,增加λ值能使u图像更加平滑。所以以矩阵方式重写公式,得到公式(8):

ax和ay是对角矩阵,包含了平滑权重ax,ay。是离散微分算子。

最小化公式(8),向量u定义为线性公式的解决方式:

(i+λlg)u=g(9)

其中

得到公式(10):

u=fλ(g)=(i+λlg)-1g(10)

步骤207c,根据去噪后的视差图计算各组匹配的像素点的深度信息。

去噪处理后的视差图降低了噪声影响,利用去噪处理后的视差图来计算像素点的深度信息,有利于在映射时获取到更真实的第二单眼全景图。

步骤208,将第一全景图像和第二全景图像中的一个作为第一单眼全景图,结合与被选为第一单眼全景图的全景图像对应的深度信息、第一单眼全景图以及预定瞳距映射出第二单眼全景图。

如图2g所示,当第一单眼全景图对应左眼看到的图像时,设左眼的圆心为o,看到物体p出现在图像(x,y)像素点,距离为ρ。而右眼距离左眼一般常人为6cm左右,以距离d表达,为计算p物体在右眼的像素点,以与op垂直平移d距离与o相连,得到(x1,y1)点即为应该在右眼上的位置。

根据相似性,可以计算出p坐标为(xρ/r,yρ/r),而右眼的坐标为(dy/r,-dx/r),得到的新坐标(x1,y1)公式为:

步骤209,将第一单眼全景图在第一单眼对应的显示区域进行显示,将第二单眼全景图在第二单眼对应的显示区域进行显示。

这里所讲的显示区域可以是用于显示的虚拟现实头盔中对应左右眼的区域,也可以是虚拟眼镜中对应左右眼的区域。

可选的,将第二单眼全景图在第二单眼对应的显示区域进行显示,可以包括如图2h所示出的步骤:

步骤209a,对第二单眼全景图采用预定方式进行空洞补全处理。

这里所讲的空洞补全用于补全在映射过程中由于图像旋转或遮挡产生的空洞。通常图像在映射时都会或多或少的产生一些空洞,这些空洞对应的是像素点中未存储任何像素值,从而形成空洞,为了获取到完整的图像,需要对这些空洞进行补全。

可选的,可以根据对时间和精度的要求选择不同的空洞补全方式。对实时性要求高的情况,可以采用直接根据周边像素的平均值进行空洞补全,对效果要求高的情况可以选择加权分析的图像修复算法。

步骤209b,将空洞补全处理后的第二单眼全景图在第二单眼对应的显示区域进行显示。

综上所述,本发明实施例中提供的双目全景图像获取方法,通过两个水平放置的全景摄像头得到第一全景图像和第二全景图像,根据第一全景图像和第二全景图像中匹配的像素点的距离差值计算深度信息,以其中一张全景图像作为第一单眼全景图,结合第一单眼全景图、对应的深度信息以及预定瞳距映射出第二单眼全景图,从而获取双目立体全景图像,由于是利用两张全景图像快速计算出深度信息,映射第二单眼全景图,过程中不需要进行图像展开拼接出双目立体全景图像,避免了展开时造成的图像扭曲,保留了原始图像的像素,解决了相关技术中通过图像拼接的方式导致获取双目立体全景图像的时间长,获取到的图像质量低的技术问题,达到了高效率获取高质量的双目立体全景图像的效果。

另外,通过标定获取全景摄像头的相关参数,利用这些参数计算出旋转矩阵和平移矩阵,以便于后面利用旋转矩阵和平移矩阵对第一全景图像和第二全景图像进行矫正。

另外,通过利用旋转矩阵和平移矩阵计算图像中像素点在变换前后的坐标,将变换前后坐标的对应关系存储至映射表中,通过查找映射表对第一全景图像和第二全景图像进行矫正,使得矫正后匹配的像素点在同一水平轴上,便于后续步骤中快速查找到匹配的像素点,从而利用匹配度的像素点的距离差值计算出深度信息进行映射,加快了获取到双目全景图像的速度。

另外,通过在第二全景图像中选取与第一像素点对应位置处的预定范围内的候选像素点,并比较候选像素点与第一像素点周围区域的像素点的相似度,确定出匹配的像素点,通过比较周围像素点的相似度排除掉干扰匹配结果的像素点,使得匹配出的像素点更加准确。

另外,通过对确定出的匹配的像素点进行反向匹配,根据第一像素点确定出第二全景图像中匹配的像素点为第二像素点,再根据第二像素点搜索第一全景图像中匹配的点是否为第一像素点,经过两次匹配的验证使得确定出的匹配的像素点更加准确。

另外,通过将预定线段上的像素点作为用于计算相似度的候选像素点,使得计算时选用的数据减少,从而加快了计算过程。

另外,通过滤波器对视差图进行去噪处理,可以降低视差图中计算错误的点对视差图的影响,使得获得的视差图更加平滑。

另外,通过将第二单眼全景图在映射过程中因图像旋转或遮挡产生的空洞进行补全,提高了第二单眼全景图的图像质量。

图3是根据一示例性实施例示出的一种双目全景图像获取装置的框图,该双目全景图像获取装置主要应用于电子设备中,这里所讲的电子设备一般可以包括水平放置的两个型号相同的全景摄像头,且具备图像处理和显示的功能,电子设备对全景摄像头采集到的图像进行图像处理和显示;显然,该双目全景图像获取方法还可以应用于系统中,该系统包含水平放置的两个型号相同的全景摄像头,以及具备图像处理和显示的功能的电子设备,此时全景摄像头将采集到的图像信息传输至电子设备进行图像处理和显示。如图3所示,该双目全景图像获取装置包括但不限于:第一获取模块310、第二获取模块320、第一计算模块330、映射模块340和显示模块350。

第一获取模块310,用于获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像。

第二获取模块320,用于获取至少一组相互匹配的第一像素点和第二像素点。

第一像素点是位于第一获取模块310获取到的第一全景图像上的像素点,第二像素点是位于第一获取模块310获取到的第二全景图像上的像素点。

第一计算模块330,用于计算相互匹配的第二获取模块320获取到的至少一组第一像素点和第二像素点之间的距离差值,根据距离差值得到第一全景图像的深度信息和第二全景图像的深度信息。

映射模块340,用于将第一获取模块310获取到的第一全景图像和第二全景图像中的一个作为第一单眼全景图,结合第一计算模块330计算出的与被选为第一单眼全景图的全景图像对应的深度信息、第一单眼全景图以及预定瞳距映射出第二单眼全景图。

显示模块350,用于将第一单眼全景图在第一单眼对应的显示区域进行显示,将映射模块340映射出的第二单眼全景图在第二单眼对应的显示区域进行显示。

综上所述,本发明实施例中提供的双目全景图像获取装置,通过两个水平放置的全景摄像头得到第一全景图像和第二全景图像,根据第一全景图像和第二全景图像中匹配的像素点的距离差值计算深度信息,以其中一张全景图像作为第一单眼全景图,结合第一单眼全景图、对应的深度信息以及预定瞳距映射出第二单眼全景图,从而获取双目立体全景图像,由于是利用两张全景图像快速计算出深度信息,映射第二单眼全景图,过程中不需要进行图像展开拼接出双目立体全景图像,避免了展开时造成的图像扭曲,保留了原始图像的像素,解决了相关技术中通过图像拼接的方式导致获取双目立体全景图像的时间长,获取到的图像质量低的技术问题,达到了高效率获取高质量的双目立体全景图像的效果。

图4是根据另一示例性实施例示出的一种双目全景图像获取装置的框图,该双目全景图像获取装置主要应用于电子设备中,这里所讲的电子设备一般可以包括水平放置的两个型号相同的全景摄像头,且具备图像处理和显示的功能,电子设备对全景摄像头采集到的图像进行图像处理和显示;显然,该双目全景图像获取方法还可以应用于系统中,该系统包含水平放置的两个型号相同的全景摄像头,以及具备图像处理和显示的功能的电子设备,此时全景摄像头将采集到的图像信息传输至电子设备进行图像处理和显示。如图4所示,该双目全景图像获取装置包括但不限于:第一获取模块410、第二获取模块420、第一计算模块430、映射模块440和显示模块450。

第一获取模块410,用于获取通过第一全景摄像头得到的第一全景图像,以及通过第二全景摄像头得到的第二全景图像。

第二获取模块420,用于获取至少一组相互匹配的第一像素点和第二像素点。

第一像素点是位于第一获取模块410获取到的第一全景图像上的像素点,第二像素点是位于第一获取模块410获取到的第二全景图像上的像素点。

第一计算模块430,用于计算相互匹配的第二获取模块420获取到的至少一组第一像素点和第二像素点之间的距离差值,根据距离差值得到第一全景图像的深度信息和第二全景图像的深度信息。

映射模块440,用于将第一获取模块410获取到的第一全景图像和第二全景图像中的一个作为第一单眼全景图,结合第一计算模块430计算出的与被选为第一单眼全景图的全景图像对应的深度信息、第一单眼全景图以及预定瞳距映射出第二单眼全景图。

显示模块450,用于将第一单眼全景图在第一单眼对应的显示区域进行显示,将映射模块440映射出的第二单眼全景图在第二单眼对应的显示区域进行显示。

可选的,该双目全景图像获取装置还可以包括:第一标定模块460、第二标定模块470、第三标定模块480和第二计算模块490。

第一标定模块460,用于对第一全景摄像头进行单目标定,确定出第一全景摄像头的第一内部参数和相对于世界坐标系的第一外部参数。

第二标定模块470,用于对第二全景摄像头进行单目标定,确定出第二全景摄像头的第二内部参数和相对于世界坐标系的第二外部参数。

第三标定模块480,用于对第一全景摄像头和第二全景摄像头进行立体标定。

这里的立体标定是通过第一标定模块460确定出的第一内部参数、第一标定模块460确定出的第一外部参数、第二标定模块470确定出的第二内部参数和第二标定模块470确定出的第二外部参数确定出第一全景摄像头和第二全景摄像头的相对位置参数。

第二计算模块490,用于根据单目标定和立体标定获取到的参数计算第一全景摄像头和第二全景摄像头的旋转矩阵和平移矩阵。

可选的,第一获取模块410,包括:采集单元411、第一计算单元412和矫正单元413。

采集单元411,用于通过第一全景摄像头采集第一初始全景图像,利用第二全景摄像头在同时刻采集第二初始全景图像。

第一计算单元412,用于根据旋转矩阵和平移矩阵计算出采集单元411采集到的第一初始全景图像的第一映射表和采集单元411采集到的第二初始全景图像的第二映射表。

这里的第一映射表中存储的是第一初始全景图像经过旋转矩阵和平移矩阵变换前后各像素点所在坐标的对应关系,第二映射表中存储的是第二初始全景图像经过旋转矩阵和平移矩阵变换前后各像素点所在坐标的对应关系。

矫正单元413,用于通过查找第一计算单元412计算出的第一映射表对第一初始全景图像进行矫正,得到第一全景图像,通过查找第一计算单元412计算出的第二映射表对第二初始全景图像进行矫正,得到第二全景图像,矫正后得到的第一全景图像和矫正后得到的第二全景图像中相匹配的像素点在同一水平轴上。

可选的,第二获取模块420,包括:第一选取单元421、第二选取单元422、第三选取单元423、第二计算单元424和第一确定单元425。

第一选取单元421,用于对于第一全景图像中任一第一像素点,选取第二全景图像中与第一像素点对应位置处的像素点,将包含选取的像素点的第一预定区域内的各个像素点确定为候选像素点。

第二选取单元422,用于在第一全景图像中以第一像素点为中心点选取预定大小的第一区域。

第三选取单元423,用于对于第一选取单元421选取的每个候选像素点,在第二全景图像中以候选像素点为中心点选取预定大小的第二区域。

第二计算单元424,用于对于每个第二区域,计算第二区域的像素点与第二选取单元422选取的第一区域内对应位置处的像素点之间的像素差值,将各个像素差值的绝对值求和;

第一确定单元425,用于将第二计算单元424计算出的绝对值之和最小的第二区域所对应的候选像素点,确定为与第一像素点匹配的第二像素点。

可选的,第二获取模块420,还用于:

对于确定出的每组中的第一像素点和第二全景图像中的第二像素点,在第一全景图像中确定出与第二像素点匹配度最高的像素点,在该像素点为确定出的与第二像素点匹配的第一像素点时,将第一像素点和第二像素点作为相互匹配的一组像素点进行存储。

可选的,第二获取模块420,还包括:第四选取单元421’、第五选取单元422’、第六选取单元423’、第三计算单元424’和第二确定单元425’。

第四选取单元421’,用于对于第一全景图像中任一第一像素点,选取第二全景图像中与第一像素点对应位置处的像素点,将包含选取的像素点的第二预定区域内的各个像素点确定为候选像素点。

第五选取单元422’,用于在第一全景图像中以第一像素点为中心点选取预定方向上预定长度的第一线段。

第六选取单元423’,用于对于第四选取单元421’选取的每个候选像素点,在第二全景图像中以候选像素点为中心点选取预定方向上预定长度的第二线段。

第三计算单元424’,用于对于每个第二线段,计算第二线段上像素点与第五选取单元422’选取的第一线段上对应位置处的像素点之间的像素差值,将各个像素差值的绝对值求和。

第二确定单元425’,用于将第三计算单元424’计算出的绝对值之和最小的第二线段所对应的候选像素点,确定为与第一像素点匹配的第二像素点。

可选的,第一计算模块430,包括:生成单元431、滤波单元432和第四计算单元433。

生成单元431,用于根据计算出的各组匹配的像素点的距离差值生成视差图。

滤波单元432,用于通过滤波器对生成单元431生成的视差图进行去噪处理,得到去噪后的视差图。

第四计算单元433,用于根据滤波单元432去噪后的视差图计算各组匹配的像素点的深度信息。

可选的,显示模块450,包括:补全单元451和显示单元452。

补全单元451,用于对第二单眼全景图采用预定方式进行空洞补全处理。

这里所讲的空洞补全用于补全在映射过程中由于图像旋转或遮挡产生的空洞。

显示单元452,用于将补全单元451空洞补全处理后的第二单眼全景图在第二单眼对应的显示区域进行显示。

综上所述,本发明实施例中提供的双目全景图像获取装置,通过两个水平放置的全景摄像头得到第一全景图像和第二全景图像,根据第一全景图像和第二全景图像中匹配的像素点的距离差值计算深度信息,以其中一张全景图像作为第一单眼全景图,结合第一单眼全景图、对应的深度信息以及预定瞳距映射出第二单眼全景图,从而获取双目立体全景图像,由于是利用两张全景图像快速计算出深度信息,映射第二单眼全景图,过程中不需要进行图像展开拼接出双目立体全景图像,避免了展开时造成的图像扭曲,保留了原始图像的像素,解决了相关技术中通过图像拼接的方式导致获取双目立体全景图像的时间长,获取到的图像质量低的技术问题,达到了高效率获取高质量的双目立体全景图像的效果。

另外,通过标定获取全景摄像头的相关参数,利用这些参数计算出旋转矩阵和平移矩阵,以便于后面利用旋转矩阵和平移矩阵对第一全景图像和第二全景图像进行矫正。

另外,通过利用旋转矩阵和平移矩阵计算图像中像素点在变换前后的坐标,将变换前后坐标的对应关系存储至映射表中,通过查找映射表对第一全景图像和第二全景图像进行矫正,使得矫正后匹配的像素点在同一水平轴上,便于后续步骤中快速查找到匹配的像素点,从而利用匹配度的像素点的距离差值计算出深度信息进行映射,加快了获取到双目全景图像的速度。

另外,通过在第二全景图像中选取与第一像素点对应位置处的预定范围内的候选像素点,并比较候选像素点与第一像素点周围区域的像素点的相似度,确定出匹配的像素点,通过比较周围像素点的相似度排除掉干扰匹配结果的像素点,使得匹配出的像素点更加准确。

另外,通过对确定出的匹配的像素点进行反向匹配,根据第一像素点确定出第二全景图像中匹配的像素点为第二像素点,再根据第二像素点搜索第一全景图像中匹配的点是否为第一像素点,经过两次匹配的验证使得确定出的匹配的像素点更加准确。

另外,通过将预定线段上的像素点作为用于计算相似度的候选像素点,使得计算时选用的数据减少,从而加快了计算过程。

另外,通过滤波器对视差图进行去噪处理,可以降低视差图中计算错误的点对视差图的影响,使得获得的视差图更加平滑。

另外,通过将第二单眼全景图在映射过程中因图像旋转或遮挡产生的空洞进行补全,提高了第二单眼全景图的图像质量。

需要说明的是:上述实施例中提供的双目全景图像获取装置在获取双目全景图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的双目全景图像获取装置与双目全景图像获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图5是根据一示例性实施例示出的一种用于获取双目全景图像的装置的框图。请参见图5所示,其示出了本发明部分实施例中提供的双目全景图像获取装置的结构方框图。该装置500用于实施上述实施例提供的双目全景图像获取方法。本发明中的装置500可以包括:处理器510、存储器520、摄像头组件530、显示组件540。

其中,处理器510包括运算逻辑部件、寄存器部件以及控制部件等,其可以是独立的中央处理器,也可以是图形处理器,或者也可以是嵌入式处理器,比如微处理器(英文:microprocessorunit,mpu)、微控制器(英文:microcontrollerunit,mcu)或者数字信号处理器(英文:embeddeddigitalsignalprocessor,edsp)等。

存储器520可用于存储软件程序以及模块,处理器510通过运行存储在存储器520的软件程序以及模块,从而执行装置500的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储至少一个功能所需的应用程序(比如图像播放功能等)等;存储数据区可存储根据装置500的使用所创建的数据(比如映射表、视差图、深度图等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

摄像头组件530包括两个用于拍摄环形全景图像的摄像头531,每个摄像头531一般由镜头、图像传感器、接口、数字信号处理器、cpu、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与电子设备主板连接,将采集的图像发送给所述存储器520;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器520。

显示组件540可以包括各类固定式、手持式或者可穿戴设备所采用的显示屏装置,如液晶显示屏、触摸液晶显示屏、基于光学原理的穿透式投影显示屏等,或者,显示组件540也可以是基于视频合成技术的透射式显示装置。比如,在虚拟现实眼镜中,眼镜的镜片采用显示屏装置制成,双目全景图像根据对应的显示区域显示在对应的镜片上。一般的,装置500中需要通过两个显示面板541同步显示双目全景图像。

装置500还包括给各个部件供电的电源511(比如电池),优选的,电源可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

可选的,装置500还可以增加用于固定显示组件540的结构体,比如在虚拟现实眼镜的基础上增加一个头盔,将镜片固定于头盔上的对应位置,制成虚拟现实头盔。

需要补充说明的是,除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种非易失性计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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