用于移动设备拍摄全景图像的方法以及移动设备与流程

文档序号:17357070发布日期:2019-04-09 21:46阅读:180来源:国知局
用于移动设备拍摄全景图像的方法以及移动设备与流程

本公开涉及图像拍摄领域,并且更具体地,涉及一种用于移动设备拍摄全景图像的方法、以及移动设备。



背景技术:

当前,智能移动设备可以支持多种拍照模式,其中的全景拍照模式需要用户在拍照点相对固定并在沿同一空间方向(通常是水平或垂直)旋转镜头指向,连续拍照并获得最终照片。移动设备在进行全景图像拍摄时,通常被设置为以固定时间间隔连续拍摄多幅图像,但人手在调整摄像头时移动速度不能保持恒定,因而导致拍摄出的图像质量比较差。



技术实现要素:

为解决上述问题,本公开旨在提供一种利用移动设备内的传感器提供的方位信息来实现自动连续拍摄图像并输出全景图像的方法。

根据本公开的第一方面,提供了一种用于移动设备拍摄全景图像的方法,所述移动设备包括传感器和摄像头,所述方法包括:所述摄像头在第一时刻拍摄第一图像,并且所述传感器感测所述摄像头在拍摄所述第一图像时的第一指向向量;所述传感器在第二时刻感测所述摄像头的实测指向向量;在所述实测指向向量相对于所述第一指向向量的变化量大于或等于第一触发拍摄阈值或者所述第二时刻与所述第一时刻之间的时间间隔大于或等于第二触发拍摄阈值的情况下,所述摄像头拍摄第二图像,并且所述传感器感测所述摄像头在拍摄所述第二图像时的第二指向向量;在确定满足拍摄停止条件的情况下,基于已拍摄的多个图像生成全景图像。

在一个实施例中,所述方法还可以包括:将所述第一指向向量标记为所述第一图像的方向矢量,并且将所述第二指向向量标记为所述第二图像的方向矢量。

在一个实施例中,所述移动设备还可以包括显示屏;所述方法还可以包括:在不满足所述拍摄停止条件的情况下,将当前已拍摄的各幅图像显示在显示屏内。

在一个实施例中,所述方法还可以包括:确定所述第二图像相对于所述第一图像的像素偏移;并且根据所述第二图像相对于所述第一图像的像素偏移,确定所述第一图像和所述第二图像的相对位置。

在一个实施例中,所述确定所述第二图像相对于所述第一图像的像素偏移,还可以包括:确定所述第一图像和所述第二图像的图像重叠区域;并且根据所述图像重叠区域,确定所述第二图像相对于所述第一图像的像素偏移。

在一个实施例中,所述确定所述第二图像相对于所述第一图像的像素偏移,还可以包括:获取像素偏移与方向矢量变化量的参考比值;并且根据所述参考比值和所述第二图像的方向矢量相对于所述第一图像的方向矢量的变化量,确定所述第二图像相对于所述第一图像的像素偏移。

在一个实施例中,其中,所述参考比值是基于所述多个图像中初始拍摄到的两幅图像之间的像素偏移和方向矢量的变化量得到的。

在一个实施例中,所述方法还可以包括:确定所述第一图像和所述第二图像的图像重叠区域的边缘区域;并且根据所述边缘区域,矫正所述第一图像和所述第二图像的相对位置。

在一个实施例中,所述生成全景图像还可以包括:根据所述多个图像之间的相对位置,对所述多个图像进行拼接;并且选取最大化的有效矩形区域内的图像作为全景图像。

根据本公开的第二方面,提供了一种移动设备,所述移动设备包括:摄像头,被配置为在第一时刻拍摄第一图像;传感器,被配置为感测所述摄像头在拍摄所述第一图像时的第一指向向量,并且在第二时刻感测所述摄像头的实测指向向量;处理器,被配置为在所述实测指向向量相对于所述第一指向向量的变化量大于或等于第一触发拍摄阈值或者所述第二时刻与所述第一时刻之间的时间间隔大于或等于第二触发拍摄阈值的情况下,控制所述摄像头拍摄第二图像并且控制所述传感器感测所述摄像头在拍摄所述第二图像时的第二指向向量,并且在确定满足拍摄停止条件的情况下,基于已拍摄的多个图像生成全景图像。

在一个实施例中,所述处理器还可以被配置为将所述第一指向向量标记为所述第一图像的方向矢量,并且将所述第二指向向量标记为所述第二图像的方向矢量。

在一个实施例中,所述移动设备还可以包括:显示屏,被配置为在不满足所述拍摄停止条件的情况下,将当前已拍摄的各幅图像显示在显示屏内。

在一个实施例中,所述处理器还可以被配置为确定所述第二图像相对于所述第一图像的像素偏移;根据所述第二图像相对于所述第一图像的像素偏移,确定所述第一图像和所述第二图像的相对位置。

在一个实施例中,所述处理器还可以被配置为:确定所述第一图像和所述第二图像的图像重叠区域;并且根据所述图像重叠区域,确定所述第二图像相对于所述第一图像的像素偏移。

在一个实施例中,所述处理器还可以被配置为:获取像素偏移与方向矢量变化量的参考比值;并且根据所述参考比值和所述第二图像的方向矢量相对于所述第一图像的方向矢量的变化量,确定所述第二图像相对于所述第一图像的像素偏移。

在一个实施例中,其中,所述参考比值是基于所述多个图像中初始拍摄到的两幅图像之间的像素偏移和方向矢量的变化量得到的。

在一个实施例中,所述处理器还可以被配置为:确定所述第一图像和所述第二图像的图像重叠区域的边缘区域;并且根据所述边缘区域,矫正所述第一图像和所述第二图像的相对位置。

在一个实施例中,所述处理器还可以被配置为:根据所述多个图像之间的相对位置,对所述多个图像进行拼接;并且选取最大化的有效矩形区域内的图像作为全景图像。

根据本公开的第三方面,提供了一种用于执行本公开的第一方面所述方法的移动设备,所述移动设备可以包括:图像捕捉单元、感测单元、控制单元、以及位置确定单元。

根据本公开的第四方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序包括用于执行本公开的第一方面所述方法的步骤的指令。

根据本公开的实施例,通过利用配备有传感器的移动设备执行上述拍摄全景图像的方法,可以实现结合传感器感测到的摄像头的指向变化以及拍摄时间的变化形成双触发拍摄条件来控制连续自动拍摄图像,并且可以根据所拍摄的各幅图像输出全景图像。该方法中采用摄像头指向变化和拍摄时间间隔变化的双触发拍摄条件,因而可以更灵活地适应人手对摄像头的调整,以便拍摄出高质量的图像。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。

图1是示出了用于标识移动设备摄像头的指向的移动设备坐标系的示意图;

图2是示出了根据图1所示的移动设备坐标系的方向参数对应关系的图;

图3是示出了根据本公开的实施例的用于移动设备拍摄全景图像的方法的流程图;

图4是示出了根据本公开的实施例的将所拍摄的各幅图像显示在移动设备的显示屏上的示意图;以及

图5是示出了根据本公开的实施例的用于拍摄全景图像的移动设备的示意图。

具体实施方式

将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

图1是示出了用于标识移动设备摄像头的指向的移动设备坐标系的示意图,以及图2是示出了根据图1所示的移动设备坐标系的方向参数对应关系的图。

如图1所示的x-y-z轴坐标系,移动设备横向放置时,x轴对应上下方向,y轴对应左右方向,z轴对应前后方向。如图2所示,纵摇(pitch)表示移动设备水平位置以z轴旋转,即用户手持移动设备进行拍摄时,其左右手位置高低发生的变化,滚动(roll)表示以y轴为中心旋转的角度,即移动设备的俯仰角度,也即移动设备的摄像头在垂直方向上的视野扩展角度;偏转(yaw或azimuth)表示以x轴为中心轴旋转,也即移动设备的摄像头在水平方向上的视野扩展角度。由此,方向矢量{pitch,roll,yaw}可以唯一确定移动设备所处的空间姿态角,也即其摄像头所指方向。该矢量可以作为用于标识移动设备所拍摄的图像的方位参数的方向矢量。

在实际拍摄过程中,用户可以在x-y二维平面内调整摄像头的指向,并且在摄像头移动的过程中,移动设备内配备的传感器可以实时感测摄像头的指向向量。该方向矢量{pitch,roll,yaw}可以通过程序调用移动设备的相关既有api而实时获得。

这里的移动设备,例如可以是智能电话、平板电脑、相机等支持拍照的设备。并且移动设备内配备的用于感测摄像头的指向向量的传感器,例如,可以是方位传感器,其可以由磁场传感器和加速度传感器组合而成,或者也可以是能够感测方位的其它传感器或传感器的组合。

图3是示出了根据本公开的实施例的用于移动设备拍摄全景照片的方法的流程图。

当用户选择全景拍摄模式并将摄像头对准拍摄对象按下拍摄按钮时,便开启了全景拍摄过程。如图3所示,摄像头在第一时刻拍摄第一图像,并且由传感器感测摄像头在拍摄该第一图像时的第一指向向量(s310)。移动设备可以存储该第一图像和该第一指向向量。之后,传感器在第二时刻感测摄像头的实测指向向量(s320)。在调整摄像头的过程中,实测指向向量可以相应地随摄像头的指向变化而动态变化。在该实测指向向量相对于该第一指向向量的变化量大于或等于第一触发拍摄阈值或者该第二时刻与该第一时刻之间的时间间隔大于或等于第二触发拍摄阈值的情况下,摄像头拍摄第二图像,并且传感器感测摄像头在拍摄该第二图像时的第二指向向量(s330)。移动设备可以存储该第二图像、以及拍摄该第二图像时由摄像头感测到的第二指向向量。确定是否满足拍摄停止条件(s340)。当满足拍摄停止条件时,基于已拍摄的多个图像生成全景图像(s350)。当不满足拍摄停止条件时,返回执行步骤s320的操作。

应当了解,在不满足拍摄停止条件的情况下,上述拍摄过程是循环进行的,移动设备依照对于触发拍摄条件的判断来自动连续拍摄多幅图像。也就是说,在摄像头的当前角度相对于拍摄前一图像时的角度的变化量大于或等于第一触发拍摄阈值、或者当前时刻相对于拍摄前一图像时的时刻的变化量大于或等于第二触发拍摄阈值时,移动设备的摄像头便会拍摄下一幅图像。之后,移动设备的传感器可以继续感测摄像头的指向变化,当摄像头的指向变化或拍摄时间间隔的变化中的任一者再次满足条件时,移动设备的摄像头可以再次拍摄一张图像。所以,循环拍摄的过程可以一直持续到满足拍摄停止条件为止。

还应当了解,这里所提及的第一图像、第二图像仅用于标记连续拍摄的相邻两幅图像,而非被限定为总是初始拍摄的两幅图像。事实上,其可以是所拍摄的第一幅图像和第二幅图像,也可以是所拍摄的第三幅图像和第四幅图像,还可以是所拍摄的第n幅图像和第n+1幅图像,其中n为大于或等于1的整数。

作为示例,第二指向向量相对于第一指向向量的变化量可以是如图2所示{pitch,roll,yaw}向量中的任一分量的角度变化,例如,其可以是{pitch,roll,yaw}向量中的变化最快的分量的角度变化。

作为示例,第一触发拍摄阈值可以是2°,并且第二触发拍摄阈值可以是50ms。当摄像头的指向方向变化大于或等于2°、或者拍摄的时间间隔大于或等于50ms时,便拍摄下一幅图像。应当了解,第一触发拍摄阈值和第二触发拍摄阈值可以是固定的,也可以根据用户需要和实际拍摄情况而被更改为其它适当的值。

作为示例,满足拍摄停止条件的情况可以是以下情况中的任意一种:用户按下拍摄停止键、已拍摄了预定数目的图像、已进行了一段预定时长的拍摄、以及移动设备内的另一应用的运行而导致拍摄的中断。上述情况仅作为拍摄停止条件的示例,而不作为对其的限制。

如上所述,本公开的实施例提供了一种用于移动设备拍摄全景图像的方法,该方法可以在由移动设备内配备的传感器感测到的摄像头的指向变化或拍摄的时间间隔中的任一者满足预定条件的情况下,触发摄像头自动连续拍摄图像。通过该方法,可以在摄像头指向方向变化较快时,以摄像头指向的变化量为触发拍摄下一幅图像的条件,而当摄像头指向变化较慢时,以拍摄的时间间隔为触发拍摄下一幅图像的条件,使得移动设备可以敏锐地捕捉到处于适当间距的多幅图像,这样拍摄的图像的距离不会过远或过近,因为过远会导致拍摄的相邻图像之间没有公共部分而无法拼接,过近会导致拍摄的多幅图像区别不大而浪费拍摄资源,所以以适当的距离拍摄图像是必要的。并且由于用户用手对于摄像头的指向的调整是不规律的,因而采取双触发拍摄条件可以有效避免上述问题,以便生成理想的全景图像。因此,该方法相比以固定角度变化或固定时间间隔等单一触发拍摄条件来拍摄图像而言,具有更高的灵活性,尤其是能够更好地适应摄像头的移动速度来拍摄图像。

应当了解,尽管在本公开的实施例中,由用户手持移动设备来调整摄像头的指向,但本公开的实施例不限于此,而是还可以将该移动设备放置于可移动的装置上,由可移动装置来控制该移动设备的摄像头的移动。

考虑到在实际拍摄过程中,由于用户手持移动设备时很容易产生抖动或偏移,导致拍摄出的全景图像会有扭曲变形或错位的现象,影响用户体验。因而,根据本公开的实施例的方法,还可以进一步对所拍摄的图像的位置进行确定,以便生成高质量的全景图像。下文将对其操作进行具体描述。

在本公开的实施例中,所述用于移动设备拍摄全景图像的方法,还可以包括以下步骤:将该第一指向向量标记为该第一图像的方向矢量,并且将该第二指向向量标记为该第二图像的方向矢量。可以在每当拍摄一幅图像时执行该步骤,也就是说,每幅图像都会有一个与其对应的方向矢量,该方向矢量是传感器在拍摄该图像时感测的摄像头的指向向量。该步骤意在向所拍摄的图像中添加方位信息,该方位信息可以用于对拍摄的多幅图像进行相对位置的确定,用于后续步骤生成理想的全景图像。

图4是示出了根据本公开的实施例的将所拍摄的各幅图像显示在显示屏上的取景标示框的示意图。在拍摄开始至结束的过程中,即在不满足拍摄停止条件的情况下,所拍摄的图像可以被实时显示在移动设备的显示屏上,具体地,显示在显示屏上的取景标示框内。例如,当拍摄了第一幅图像时,在显示屏上的取景标示框内全屏显示该第一幅图像。随着用户不断调整摄像头的指向,如前所述每当摄像头指向的变化量大于或等于第一触发拍摄阈值、或者拍摄的时间间隔大于或等于第二触发拍摄阈值时,移动设备可以自动拍摄下一幅图像。每拍摄一幅图像,移动设备可以将其实时地显示在显示屏上的取景标示框内。通常,取景标示框可以是显示屏的全屏有效显示区域。尽管图4示出了所拍摄的3幅图像,但拍摄的图像数目可以是更多幅而不限于3幅,并且所拍摄的图像被显示的相对位置也仅是示意性地在图4中示出。

根据本公开的实施例,移动设备可以在后台对已拍摄的各幅图像的相对位置进行确定,并且移动设备还可以将已拍摄的各幅图像按照所确定的相对位置实时显示在显示屏上。

根据本公开的实施例,在拍摄了第一图像和第二图像后,移动设备可以确定该第二图像相对于该第一图像的像素偏移;并且根据该第二图像相对于该第一图像的像素偏移,确定该第一图像和该第二图像的相对位置。

在确定第二图像相对于第一图像的像素偏移时,可以视情况选择以下两种方案中的一种。将在下文详细描述这两种方案。

第一种情况,当第一图像和第二图像是初始拍摄到的两幅图像时,移动设备可以确定该第一图像和该第二图像的图像重叠区域;并且根据该图像重叠区域确定该第二图像相对于该第一图像的像素偏移。例如,对于图像重叠区域的确定,可以根据图像检测方法来检测第一图像和第二图像的图像重叠区域。再例如,移动设备可以根据该第一图像的方向矢量和该第二图像的方向矢量来判断第二图像相对于第一图像的移动方向,进而在该移动方向上选定第一图像上有可能与第二图像重叠的一块区域。该区域可以是4*4像素、8*8像素或16*16像素等任一适当大小的区域。在第一图像上选定了一块区域后,在第二图像上快速检测到与选定区域或其部分内的图像相同的图像所在的位置,进而可以将该两块相同图像进行重叠,这样也就确定了该第二图像相对于该第一图像的像素偏移。

第二种情况,当第一图像和第二图像不是初始拍摄到的两幅图像而是随后拍摄到的任意相邻的两幅图像(例如,第三幅图像和第四幅图像)时,对于该两幅图像的像素偏移的确定,不必对该两幅图像的重叠区域进行检测来确定两幅图像之间的像素偏移,而是可以考虑更为简便的方法。考虑到在同一个拍摄场景下,所拍摄的两幅图像的像素偏移以及拍摄该两幅图像时两幅图像的角度变化之间应当遵循某个固定的关系,可以利用该固定的关系来对其后拍摄的图像的位置进行推算。具体地说,在该场景下拍摄到的两幅图像,其在x(或y)轴方向上的相对像素偏移量δp与该两幅图像的方向矢量变化量δθ之间的比值(即δp/δθ)应当是个恒定值。

因此,在对后面拍摄的第一图像和第二图像的相对位置进行确定时,可以进行以下步骤:移动设备可以获取像素偏移与方向矢量变化量的参考比值;并且根据该参考比值和该第二图像的方向矢量相对于该第一图像的方向矢量的变化量,确定该第二图像相对于该第一图像的像素偏移。其中,该参考比值是基于所述多个图像中初始拍摄到的两幅图像之间的像素偏移和方向矢量的变化量得到的。

通过利用像素偏移量与角度变化量之间的固定关系,可以较快速地确定后一拍摄的图像相对于前一拍摄的图像的像素偏移,这样便可以在确定相邻图像的相对位置时节省大部分运算时间。

应当了解的是,所述像素偏移量与角度变化量之间的固定关系适用于在该相同场景下拍摄的任意两幅图像,无论该两幅图像是否相邻或者是否是初始拍摄到的两幅图像。

由于第一种情况下已经确定了初始拍摄到的两幅图像的像素偏移,因而,较为便捷的方法是可以再计算出该初始拍摄到的两幅图像的方向矢量的变化量,然后求出像素偏移与方向矢量变化量的比值,将其作为该场景下的参考比值存储在该移动设备内,以便在第二种情况下使用。

在通过上述参考比值确定了已拍摄的各幅图像的相对位置后,由于这种通过数学等式推算的方式可能会使所确定的各幅图像的相对位置与各幅图像的实际相对位置之间存在微小的偏差,因而还可以对该各幅图像的相对位置进行矫正,以便更精确地生成全景图像。

可以通过以下步骤对上述第二情况下的图像的相对位置进行矫正。例如,移动设备可以确定每相邻两图像的图像重叠区域的边缘区域;并且根据该边缘区域,矫正该相邻两图像的相对位置。由于在之前的步骤中,已经对拍摄的各幅图像的相对位置进行了确定,也就是说,当前所确定的各幅图像的相对位置与其实际的相对位置之间的偏差是比较小的,所以后续进行的步骤只是对图像的位置进行微调。移动设备可以对两两相邻图像的位置依次进行矫正,具体地,移动设备可以对每相邻两图像的图像重叠区域的边缘几个(例如,1-2)像素行进行检测,进而在小范围内对相邻两图像的相对位置进行微调。由于只是进行两图像的相对位置的微调,所以可以只对两图像的重叠区域的边缘进行检测,例如,可以在第一图像处检测重叠区域的边缘1像素行,并将其与第二图像上的重叠区域的边缘几个像素行进行比对,当第一图像的重叠区域的边缘像素行与第二图像的重叠区域的边缘像素行匹配时,基于匹配的边缘像素行来更新第一图像和第二图像的相对位置。

应当了解,在本公开的实施例中,先后进行的对于图像重叠区域的确定、和对于图像重叠区域的边缘区域的确定,二者所需的计算量和所花的时间是不相同的,后者比前者要小,很明显地,后者仅需要在重叠区域的边缘的几个像素范围内进行检测。因此,在本公开的实施例中,采用推算加矫正的方法相比于直接对两两相邻图像依次进行重叠区域的确定,需要更少的计算量并且速度更快,更重要的是无需牺牲所确定的像素偏移的精确度。

在将已拍摄的各幅图像实时显示在显示屏上的取景标示框内时,随着拍摄的图像数目增多,可以将确定了相对位置的各幅图像进行等比例放缩,以将其呈现在取景标示框内。例如,如图4所示,拍摄第一幅图像时,该第一幅图像可以全屏显示在该取景标示框内。当摄像头移动而拍摄了第二幅图像时,显示第一幅图像的区域被缩小以留出空间显示第二幅图像,并且根据所确定出的第一幅图像和第二幅图像的相对位置来在对应位置处显示该第二幅图像。当摄像头继续移动而拍摄了第三幅图像时,根据第二幅图像和第三幅图像的相对位置来调整第一、第二幅图像的显示位置和大小,以留出适当的空间在相应位置处显示第三幅图像。当继续拍摄第四、第五、…、第n幅图像时,步骤以此类推,直至拍摄完毕。

通过将所拍摄的各幅图像实时显示在显示屏上的取景标示框内,可以在向用户展示取景区域的同时,提示用户已拍摄的图像的移动轨迹和所示取景区域中尚未被拍摄的区域,用户进而可以据此调整摄像头的指向,以便尽可能地遍历该取景区域,拍摄覆盖面最全的多幅图像。

在本公开的实施例中,所述生成全景图像可以包括:根据该多个图像之间的相对位置,对该多个图像进行拼接;并且选取最大化的有效矩形区域内的图像作为全景图像。例如,在达到用户期望的拍摄目的而拍摄中止时,可以选取覆盖有图像的最大化的有效矩形区域,对其进行裁剪,将该裁剪区域内的多幅图像平滑拼接为全景图像,最后将该全景图像呈现在显示屏上。

如上所述,在本公开的实施例中,提供了一种用于移动设备拍摄全景图像的方法,通过所述方法,可以根据对所拍摄的图像添加的方向矢量来确定各幅图像的相对位置,并且可以根据所确定的相对位置而在显示屏的相应位置处显示各幅图像,从而使得在向用户展示取景区域的同时,提示用户已拍摄的图像的移动轨迹和所示取景区域中尚未被拍摄的区域,用户进而可以据此调整摄像头的指向,以便尽可能地遍历该取景区域,拍摄覆盖面最全的多幅图像,并且基于所确定的各幅图像的相对位置,选取最大化的有效矩形区域内的图像进行裁剪和平滑拼接,最后作为全景图像显示在显示屏上。

图5是示出了根据本公开的实施例的一种移动设备的示意图。如图5所示,该移动设备500可以包括:摄像头510,被配置为在第一时刻拍摄第一图像;传感器520,被配置为感测摄像头510在拍摄该第一图像时的第一指向向量,并且在第二时刻感测摄像头510的实测指向向量;处理器530,被配置为在该实测指向向量相对于该第一指向向量的变化量大于或等于第一触发拍摄阈值或者该第二时刻与该第一时刻之间的时间间隔大于或等于第二触发拍摄阈值的情况下,控制摄像头510拍摄第二图像并且控制传感器520感测摄像头510在拍摄该第二图像时的第二指向向量,并且在确定满足拍摄停止条件的情况下,基于已拍摄的多个图像生成全景图像。

应当了解,在不满足拍摄停止条件的情况下,上述拍摄过程是循环进行的,移动设备依照对于触发拍摄条件的判断来自动连续拍摄多幅图像。也就是说,在摄像头的当前角度相对于拍摄前一图像时的角度的变化量大于或等于第一触发拍摄阈值、或者当前时刻相对于拍摄前一图像时的时刻的变化量大于或等于第二触发拍摄阈值时,移动设备的摄像头便会拍摄下一幅图像。之后,移动设备的传感器可以继续感测摄像头的指向变化,当摄像头的指向变化或拍摄时间间隔的变化中的任一者再次满足条件时,移动设备的摄像头可以再次拍摄一张图像。所以,循环拍摄的过程可以一直持续到满足拍摄停止条件为止。

还应当了解,这里所提及的第一图像、第二图像仅用于标记连续拍摄的相邻两幅图像,而非被限定为总是所拍摄的第一幅图像和第二幅图像。事实上,其可以是所拍摄的第一幅图像和第二幅图像,也可以是所拍摄的第二幅图像和第三幅图像,还可以是所拍摄的第n幅图像和第n+1幅图像,其中n为大于或等于1的整数。

该移动设备500可以是智能电话、平板电脑、相机等支持拍照的设备。

在本公开的实施例中,传感器520,例如,可以是方位传感器,其可以由磁场传感器和加速度传感器组合而成,或者也可以是能够感测方位的其它传感器或传感器的组合。

移动设备还可以存储该第一图像和该第一指向向量、以及该第二图像和拍摄该第二图像时由摄像头感测到的第二指向向量。

作为示例,第二指向向量相对于第一指向向量的变化量可以是如图2所示{pitch,roll,yaw}向量中的任一分量的角度变化,或者也可以是{pitch,roll,yaw}向量中的变化最快的分量的角度变化。

作为示例,第一触发拍摄阈值可以是2°,并且第二触发拍摄阈值可以是50ms。当摄像头的指向方向变化大于或等于2°、或者拍摄的时间间隔大于或等于50ms时,便拍摄下一幅图像。应当了解,第一触发拍摄阈值和第二触发拍摄阈值可以是固定的,或者也可以根据用户需要和实际拍摄情况而被更改为其它适当的值。

作为示例,满足拍摄停止条件的情况可以包括以下情况中的任意一种:用户按下拍摄停止键、已拍摄了预定数目的图像、已进行了一段预定时长的拍摄、以及移动设备内的另一应用的运行而导致拍摄的中断。应当了解,上述情况仅作为拍摄停止条件的示例,而不作为对其的限制。

如上所述,本公开的实施例提供了一种用于拍摄全景图像的移动设备,该移动设备可以在由其中配备的传感器感测到的摄像头的指向变化或拍摄的时间间隔中的任一者满足预定条件的情况下,触发摄像头自动连续拍摄图像。该移动设备,可以在摄像头指向方向变化较快时,以摄像头指向的变化量达到第一触发拍摄阈值作为触发拍摄下一幅图像的条件,而当摄像头指向变化较慢时,以拍摄的时间间隔达到第二触发拍摄阈值作为触发拍摄下一幅图像的条件,使得移动设备可以敏锐地捕捉到处于适当间距的多幅图像,这样拍摄的图像的距离不会过远或过近。并且由于用户用手对于摄像头的指向的调整是不规律的,因而采取双触发拍摄条件可以有效避免上述问题,以便生成理想的全景图像。

在本公开的实施例中,该移动设备500的处理器530还可以被配置为将该第一指向向量标记为该第一图像的方向矢量,并且将该第二指向向量标记为该第二图像的方向矢量。处理器530可以在每当拍摄一幅图像时执行该步骤,意在向所拍摄的图像中添加方位信息,该方位信息用于对拍摄的多幅图像的后续处理,例如对各幅图像的相对位置的确定,以便生成全景图像。

在本公开的实施例中,该移动设备500还可以包括:显示屏540,被配置为在不满足该拍摄停止条件的情况下,将当前已拍摄的各幅图像显示在显示屏540内,具体地,显示在显示屏540上的取景标示框内。例如,当拍摄了第一幅图像时,移动设备将该第一幅图像全屏显示在显示屏540上的取景标示框内。随着用户不断调整摄像头的指向,如前所述每当摄像头指向的变化量大于或等于第一触发拍摄阈值、或者拍摄的时间间隔大于或等于第二触发拍摄阈值时,移动设备可以自动拍摄下一幅图像。每拍摄一幅图像,可以在移动设备的显示屏540的取景标示框内实时地显示当前所拍摄的各幅图像。通常,取景标示框可以是显示屏540的全屏有效显示区域。

在本公开的实施例中,该移动设备的处理器530还可以被配置为确定该第二图像相对于该第一图像的像素偏移;根据该第二图像相对于该第一图像的像素偏移,确定该第一图像和该第二图像的相对位置。

根据本公开的实施例,处理器530可以在后台对已拍摄的各幅图像的相对位置进行确定,并且移动设备500也可以根据所确定的各幅图像的相对位置而在显示屏540的取景标示框内实时显示已拍摄的各幅图像。如前所述,在拍摄了第一图像和第二图像后,处理器530可以确定该第二图像相对于该第一图像的像素偏移;并且根据该第二图像相对于该第一图像的像素偏移,确定该第一图像和该第二图像的相对位置。

在确定第二图像相对于第一图像的像素偏移时,可以视情况选择以下两种方案中的一种。将在下文详细描述这两种方案。

第一种情况,当第一图像和第二图像是初始拍摄到的两幅图像时,处理器530可以被配置为:确定该第一图像和该第二图像的图像重叠区域;并且根据该图像重叠区域确定该第二图像相对于该第一图像的像素偏移。例如,对于图像重叠区域的确定,可以根据图像检测方法来检测第一图像和第二图像的图像重叠区域。再例如,移动设备可以根据该第一图像的方向矢量和该第二图像的方向矢量来判断第二图像相对于第一图像的移动方向,进而在该移动方向上选定第一图像上有可能与第二图像重叠的一块区域,该区域可以是4*4像素、8*8像素或16*16像素等任一适当大小的区域。在选定了第一图像上的一块区域后,在第二图像上找到与该区域或其部分内的图像相同的部分,进而基于两图像上的相同的图像所在的位置,进而可以将该两块相同图像进行重叠,这样也就确定了该第二图像相对于该第一图像的像素偏移。

第二种情况,当第一图像和第二图像不是初始拍摄到的两幅图像而是随后拍摄到的两幅图像(例如,第三幅图像和第四幅图像)时,处理器530还可以被配置为:获取像素偏移与方向矢量变化量的参考比值;并且根据该参考比值和该第二图像的方向矢量相对于该第一图像的方向矢量的变化量,确定该第二图像相对于该第一图像的像素偏移。该参考比值是基于所述多个图像中初始拍摄到的两幅图像之间的像素偏移和方向矢量的变化量得到的。具体地,选取初始拍摄到的两幅图像,以绝对值最大的角度变化量δθ为参考,进一步检测出两幅图像在xy轴两个方向上的相对像素偏移量δp。由于在该场景中δp/δθ的比值相对接近于一个固定值,因而可以用于快速确定后一拍摄的图像相对于前一拍摄的图像的像素偏移量,这样便可以在确定相邻图像的相对像素偏移时节省大部分运算时间。

在通过上述参考比值确定了已拍摄的各幅图像的相对位置后,由于这种推算的方式可能会使各幅图像的位置存在微小的像素偏差,因而还可以对该各幅图像的相对位置进行矫正,用于更精确地生成全景图像。

在本公开的实施例中,处理器530还可以被配置为:确定每相邻两图像的图像重叠区域的边缘区域,并且根据该边缘区域,矫正该相邻两图像的相对位置。具体地,处理器530可以对相邻两图像的图像重叠区域的边缘1-2像素行进行检测,进而在小范围内调整相邻两图像的相对位置。

在将已拍摄的各幅图像实时显示在显示屏540的取景标示框内时,随着拍摄的图像数目增多,可以将确定了相对位置的各幅图像进行等比例放缩,以将其显示在显示屏540的取景标示框内。例如,拍摄第一幅图像时,该第一幅图像可以全屏显示在该取景标示框内。当摄像头移动而拍摄了第二幅图像时,显示第一幅图像的区域缩小以留出空间显示第二幅图像,并且根据所判断出的第一幅图像和第二幅图像的相对位置来在对应位置处显示该第二幅图像。当摄像头继续移动而拍摄了第三幅图像时,根据第二幅图像和第三幅图像的相对位置来调整第一、第二幅图像的显示位置和大小,以留出适当的空间在相应位置处显示第三幅图像。当继续拍摄第四、第五、…、第n幅图像时,步骤以此类推,直至拍摄完毕。通过将所拍摄的各幅图像实时显示在取景标示框内,可以在向用户展示取景区域的同时,提示用户已拍摄的图像的移动轨迹和所示取景区域中尚未被拍摄的区域,用户进而可以据此调整摄像头的指向,以便尽可能地遍历该取景区域,拍摄覆盖面最全的多幅图像。

在本公开的实施例中,该处理器530还可以被配置为:根据该多个图像之间的相对位置,对该多个图像进行拼接;并且选取最大化的有效矩形区域内的图像作为全景图像。具体地,在达到用户期望的拍摄目的而中止拍摄时,处理器530可以对所选取的覆盖有图像的最大化的有效矩形区域进行裁剪,将裁剪区域内的多幅图像进行平滑拼接为全景图像,最后将该全景图像呈现在显示屏540上。

如上所述,在本公开的实施例中,提供了一种用于拍摄全景图像的移动设备。该移动设备可以根据对拍摄的图像添加的方向矢量来判断各幅图像的相对位置,使得在向用户展示取景区域的同时,提示用户已拍摄的图像的移动轨迹和所示取景区域中尚未被拍摄的区域,用户进而可以据此调整摄像头的指向,以便尽可能地遍历该取景区域,拍摄覆盖面最全的多幅图像,并且基于所确定的各幅图像的相对位置,选取最大化的有效矩形区域内的图像进行裁剪和平滑拼接,最后作为全景图像显示在显示屏上。

在本公开的实施例中,还提供了一种用于执行上述方法的移动设备,该移动设备可以包括:图像捕捉单元、感测单元、控制单元、以及位置确定单元。

在本公开的实施例中,还提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行上述方法的步骤的指令。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。

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