全景拍摄方法、终端、旋转组件及全景拍摄装置与流程

文档序号:11142954阅读:496来源:国知局
全景拍摄方法、终端、旋转组件及全景拍摄装置与制造工艺

本公开涉及摄像技术领域,特别涉及一种全景拍摄方法、终端、旋转组件及全景拍摄装置。



背景技术:

全景图片是包含360度范围内的完整场景的图片,通常是由多张在不同角度位置拍摄到的的图片拼接而成。

手机和平板电脑等终端设备可以通过前置摄像头和后置摄像头来拍摄全景图片,前置摄像头和后置摄像头的FOV(Field Of View,视场角)需要达到180度。在拍摄全景图片时,终端设备同时打开前置摄像头和后置摄像头进行拍摄,并将通过前置摄像头拍摄到的图片和通过后置摄像头拍摄到的图片进行拼接合成为全景图片,但是终端设备上的前置摄像头的像素通常比较低,会导致得到的全景图片的图像质量较低。



技术实现要素:

为了解决由终端设备的前置摄像头和后置摄像头拍摄到的图片合成的全景图片的图像质量较低的问题,本公开提供了一种全景拍摄方法、终端、旋转组件及全景拍摄装置。所述技术方案如下:

根据本公开的第一方面,提供一种全景拍摄方法,该方法包括:

在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像;

向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转;

在每个旋转指令发送后,通过摄像头组件采集旋转后的图像;

根据采集到的若干个图像生成全景图片。

本公开实施例提供的全景拍摄方法,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;达到了通过旋转组件驱动同一个摄像头组件旋转至多个角度位置采集图像,并根据同一个摄像头组件在不同角度位置采集到的若干个图像生成全景图片,生成的全景图片的图像质量较高的效果。

可选的,该方法还包括:

确定摄像头组件的视场角FOV;

根据FOV确定旋转角度,旋转角度小于或等于FOV。

本公开实施例提供的全景拍摄方法,根据摄像头组件的FOV确定向旋转组件指示的旋转角度,在采集到生成全景图片所需的若干个图像的基础上,减少旋转次数和采集的图像的个数,优化了全景拍摄的流程。

可选的,向旋转组件依次发送至少一个旋转指令,包括:

向旋转组件发送第i个旋转指令,旋转组件用于根据接收到的第i个旋转指令驱动摄像头组件按照旋转方向旋转旋转角度至第i个角度位置,i为正整数;

检测总旋转角度是否达到全景角度,总旋转角度是第i个角度位置相对于起始角度位置所旋转的角度;

在总旋转角度小于全景角度时,则令i=i+1,再次执行向旋转组件发送第i个旋转指令的步骤。

可选的,当包括至少两个摄像头组件时,根据采集到的若干个图像生成全景图片,包括:

对于至少两个摄像头组件中的每个摄像头组件,根据摄像头组件采集到的若干个图像拼接得到与摄像头组件对应的显示图片;

根据每个摄像头组件所对应的显示图片拼接得到全景图片。

本公开实施例提供的全景拍摄方法,包括至少两个摄像头组件,可以通过多个摄像头组件采集更多不同角度位置的图像,达到了生成显示范围更广的全景图片的效果。

可选的,向旋转组件依次发送至少一个旋转指令,包括:

当摄像头组件与旋转组件包括在同一个终端中时,通过内部电路向旋转组件依次发送至少一个旋转指令;

或者,当摄像头组件与旋转组件包括在不同的终端中,且旋转组件中包括有通信组件时,通过通信组件向旋转组件依次发送至少一个旋转指令。

根据本公开的第二方面,提供一种全景拍摄终端,该全景拍摄终端包括:摄像头组件、旋转组件和处理器,处理器分别与摄像头组件和旋转组件电性连接,摄像头组件与旋转组件相连,处理器用于执行如上述权利要求1至5任一的全景拍摄方法。

根据本公开的第三方面,提供一种旋转组件,该旋转组件包括:

底座;

设置在底座上的旋转台,旋转台用于放置控制终端;

通信组件,通信组件用于与放置于旋转台上的控制终端相连;

设置在底座上的旋转台驱动装置,旋转台驱动装置与通信组件电性相连,旋转驱动装置用于驱动旋转台进行旋转;

旋转台驱动装置,还用于通过通信组件依次接收控制终端发送的至少一个旋转指令,根据旋转指令驱动旋转台按照指定的旋转方向和旋转角度进行旋转;

其中,控制终端中包括摄像头组件,控制终端用于执行如上述权利要求1至5任一的全景拍摄方法。

根据本公开的第四方面,提供一种全景拍摄装置,该装置包括:

第一采集模块,被配置为在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像;

发送模块,被配置为向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转;

第二采集模块,被配置为在每个旋转指令发送后,通过摄像头组件采集旋转后的图像;

生成模块,被配置为根据采集到的若干个图像生成全景图片。

本公开实施例提供的全景拍摄装置,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;达到了通过旋转组件驱动同一个摄像头组件旋转至多个角度位置采集图像,并根据同一个摄像头组件在不同角度位置采集到的若干个图像生成全景图片,生成的全景图片的图像质量较高的效果。

可选的,该装置还包括:

第一确定模块,被配置为确定摄像头组件的视场角FOV;

第二确定模块,被配置为根据FOV确定旋转角度,旋转角度小于或等于FOV。

本公开实施例提供的全景拍摄装置,根据摄像头组件的FOV确定向旋转组件指示的旋转角度,在采集到生成全景图片所需的若干个图像的基础上,减少旋转次数和采集的图像的个数,优化了全景拍摄的流程。

可选的,发送模块包括:

发送子模块,被配置为向旋转组件发送第i个旋转指令,旋转组件用于根据接收到的第i个旋转指令驱动摄像头组件按照旋转方向旋转旋转角度至第i个角度位置,i为正整数;

检测子模块,被配置为检测总旋转角度是否达到全景角度,总旋转角度是第i个角度位置相对于起始角度位置所旋转的角度;

发送子模块,还被配置为在总旋转角度小于全景角度时,则令i=i+1,再次执行向旋转组件发送第i个旋转指令的步骤。

可选的,在包括至少两个摄像头组件时,生成模块包括:

第一拼接子模块,被配置为对于至少两个摄像头组件中的每个摄像头组件,根据摄像头组件采集到的若干个图像拼接得到与摄像头组件对应的显示图片;

第二拼接子模块,被配置为根据每个摄像头组件所对应的显示图片拼接得到全景图片。

本公开实施例提供的全景拍摄装置,包括至少两个摄像头组件,可以通过多个摄像头组件采集更多不同角度位置的图像,达到了生成显示范围更广的全景图片的效果。

可选的,发送模块,还被配置为在摄像头组件与旋转组件包括在同一个终端中时,通过内部电路向旋转组件依次发送至少一个旋转指令;

或者,发送模块,还被配置为在摄像头组件与旋转组件包括在不同的终端中,且旋转组件中包括有通信组件时,通过通信组件向旋转组件依次发送至少一个旋转指令。

根据本公开的第五方面,提供一种全景拍摄装置,该装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像;

向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转;

在每个旋转指令发送后,通过摄像头组件采集旋转后的图像;

根据采集到的若干个图像生成全景图片。

本公开实施例提供的全景拍摄装置,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;达到了通过旋转组件驱动同一个摄像头组件旋转至多个角度位置采集图像,并根据同一个摄像头组件在不同角度位置采集到的若干个图像生成全景图片,生成的全景图片的图像质量较高的效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示意性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。

图1A是根据一示例性实施例示出的一种全景拍摄终端的结构示意图;

图1B是根据另一示例性实施例示出的一种全景拍摄终端的结构示意图;

图2是根据一示例性实施例示出的一种旋转组件的结构示意图;

图3是根据一示例性实施例示出的一种全景拍摄系统的结构示意图;

图4是根据一示例性实施例示出的一种全景拍摄方法的流程图;

图5是根据一示例性实施例示出的一种全景拍摄方法的流程图;

图6是根据一示例性实施例示出的一种全景拍摄示意图;

图7是根据另一示例性实施例示出的一种全景拍摄方法的流程图;

图8是根据另一示例性实施例示出的一种全景拍摄方法的流程图;

图9是根据另一示例性实施例示出的一种全景拍摄方法的流程图;

图10是根据一示例性实施例示出的一种全景拍摄装置的框图;

图11是根据另一示例性实施例示出的一种全景拍摄装置的框图;

图12是根据另一示例性实施例示出的一种全景拍摄终端或控制终端的结构示意图。

具体实施方式

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

图1A是根据一示例性实施例示出的一种全景拍摄终端的结构示意图,该全景拍摄终端10包括:摄像头组件110、旋转组件120和处理器130。

可选的,摄像头组件110为鱼眼镜头,鱼眼镜头是一种FOV接近或等于180度的广角镜头,在实际实现时,该全景拍摄终端10中的摄像头组件110也可以是标准镜头、长焦镜头、变焦镜头或其他FOV较小的镜头。本实施例对全景拍摄终端10中的摄像头组件110的镜头类型和摄像头组件110的FOV不作限定。

旋转组件120中包括驱动装置,驱动装置用于驱动旋转组件120进行旋转。可选的,驱动装置是驱动马达。

处理器130分别与摄像头组件110和旋转组件120电性连接。可选的,处理器130与旋转组件120中的驱动装置通过内部电路电性连接,处理器130用于控制摄像头组件110采集图像,以及,用于控制驱动装置驱动该旋转组件120进行旋转。

摄像头组件110与旋转组件120相连,旋转组件120在旋转时,驱动摄像头组件110旋转。

可选的,全景拍摄终端10中包括至少两个摄像头组件,该至少两个摄像头组件分别与处理器130电性连接,且与旋转组件120相连,该至少两个摄像头组件沿与旋转组件120的旋转方向垂直的方向排列。比如,旋转组件120在水平方向上旋转,则摄像头组件沿竖直方向排列。可选的,全景拍摄终端10中的至少两个摄像头组件正对的角度位置相同。可选的,至少两个摄像头组件中的每个摄像头组件的FOV相同。

该全景拍摄终端10可以实现成为手机、平板电脑和笔记本电脑之类的具有可旋转的摄像头组件的电子设备,如上图1A以该全景拍摄终端10实现成为手机为例;或者,该全景拍摄终端10可以实现成为集成有处理器和摄像头组件的可旋转的设备,如图1B所示,图1B以旋转组件120在水平方向上旋转,两个摄像头组件沿垂直方向设置且两个摄像头组件正对的角度位置相同为例,图1B中未示出处理器130。

图2是根据一示例性实施例示出的一种旋转组件的结构示意图,该旋转组件20包括:底座210、旋转台220、通信组件230和旋转台驱动装置240。

旋转台220设置在底座210上。

通信组件230设置在底座210或旋转台220上,通信组件230包括硬件通信接口和无线通信模块中的至少一种,通信组件230具有数据通信能力,当通信组件230是硬件通信接口时,通信组件230还具有供电能力。可选的,当通信组件230是硬件通信接口时,通信组件230直接固定在底座210或旋转台220上,或者,通信组件230与连接线相连,连接线的另一端设置在底座210或旋转台220上。图2以旋转组件20中的通信组件230是通过连接线固定在旋转台220上的硬件通信接口为例。

可选的,硬件通信接口是USB A型接口、USB B型接口、Mini USB A型接口、Mini USB B型接口、Mini USB AB型接口、Micro USB A型接口、Micro USBB型接口、USB Type-C接口和Lightning接口(闪电接口)中的任意一种。

可选的,无线通信模块是WiFi(Wireless-Fidelity,无线保真)模块、蓝牙模块、NFC(Near Field Communication,近距离无线通信技术)模块以及Zigbee(Zigzag Flying of Bees,紫蜂)模块中的任意一种。

旋转台驱动装置240设置在底座210上,旋转台驱动装置240与通信组件230电性相连。可选的,旋转台驱动装置240是驱动马达。

旋转台驱动装置240用于驱动旋转台220进行旋转,可选的,旋转台220与旋转轴相连,旋转台驱动装置240通过驱动旋转轴旋转以驱动旋转台220旋转;或者,旋转台220上带有旋转齿轮或与旋转齿轮相连,旋转台驱动装置240上带有驱动齿轮或与驱动齿轮相连,驱动齿轮与旋转齿轮相啮合,旋转台驱动装置240通过驱动该驱动齿轮旋转以驱动旋转台220旋转。

在实际实现时,旋转组件20通常还包括外壳,旋转台驱动装置240可以设置于外壳内,旋转台220可以外露于外壳之外;当通信组件230是硬件通信接口时,通信组件可以外露于外壳之外,当通信组件230是无线通信模块时,通信组件可以设置于外壳内。

可选的,图2所示的旋转组件20上可以放置有控制终端30,如图3所示,本公开一示例性实施例示出的一种全景拍摄系统的结构示意图,该系统包括:旋转组件20和控制终端30,控制终端30放置于旋转组件20上,且控制终端30通过旋转组件20中的通信组件230与旋转组件20相连。

旋转组件20中的旋转台220用于放置控制终端30,可选的,旋转台220上设置有凹槽,控制终端30可以横置或竖置于旋转台220的凹槽中,保证控制终端在旋转时的稳定性。

控制终端30是诸如手机、平板电脑、笔记本电脑之类的电子设备,控制终端30中包括摄像头组件,控制终端30中的摄像头组件的含义可以结合上述图1A所示的实施例中的摄像头组件的含义,本实施例对此不再赘述,图3中未示出控制终端30中的摄像头组件。

可选的,控制终端30中包括至少两个摄像头组件,该至少两个摄像头组件沿与旋转组件20的旋转方向垂直的方向排列。比如,旋转组件20驱动控制终端30在水平方向上旋转,则摄像头组件沿竖直方向排列。可选的,控制终端30中的至少两个摄像头组件正对的角度位置相同。可选的,至少两个摄像头组件中的每个摄像头组件的FOV相同。

控制终端30中还包括通信组件,控制终端30中的通信组件的类型与旋转组件20中的通信组件230的类型相同;控制终端30中的通信组件的含义可以结合上述图2所示的实施例中的旋转组件20中的通信组件230的含义,本实施例对此不再赘述。

旋转组件20中的通信组件230用于与放置于旋转台220上的控制终端30相连,也即,旋转组件20中的通信组件230与控制终端30中的通信组件相连。可选的,旋转组件20中的硬件通信接口用于与控制终端30中的硬件通信接口电性相连,控制终端30中的硬件通信接口与旋转组件20中的硬件通信接口的接口类型相同,控制终端30在放置于旋转台220上时,控制终端30中的硬件通信接口插入旋转组件20中的硬件通信接口中;和/或,旋转组件20通过无线通信模块与控制终端30中的无线通信模块建立无线通信连接。

旋转组件20通过通信组件与控制终端30相连后可以进行数据通信。旋转台驱动装置240,用于通过通信组件230依次接收控制终端发送的至少一个旋转指令,根据旋转指令驱动旋转台220按照指定的旋转方向和旋转角度进行旋转。可选的,旋转台驱动装置240,还用于在驱动旋转台220进行旋转后,通过通信组件230向控制终端30发送反馈信号。

可选的,当旋转组件20中的硬件通信接口与控制终端30的硬件通信接口电性相连时,旋转组件20中的硬件通信接口还用于为旋转组件20中的旋转台驱动装置240供电。

需要说明的是,在实际实现时,图2和图3中的旋转组件20也可以由外接电源为旋转台驱动装置240供电,或者由干电池为旋转台驱动装置240进行供电,则旋转组件20中还可以包括电池盒和电池连接线等组件。

图4是根据一示例性实施例示出的一种全景拍摄方法的流程图,该方法应用于图1A或图1B所示的全景拍摄终端中,或者,应用于放置在图2所示旋转组件上的控制终端中,该方法包括如下几个步骤:

在步骤401中,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像。

在步骤402中,向旋转组件依次发送至少一个旋转指令。

其中,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转。

可选的,当摄像头组件和旋转组件包括在同一个终端中时,即当该方法用于如图1A或图1B所示的包括摄像头组件和旋转组件的全景拍摄终端中时,全景拍摄终端的处理器通过内部电路向旋转组件依次发送至少一个旋转指令。

可选的,当摄像头组件和旋转组件包括在不同的终端中,且旋转组件中包括有通信组件时,即当该方法用于如图3所示的全景拍摄系统中,旋转组件是如图2所示的包括通信组件的旋转组件,摄像头组件是放置在如图2所示的旋转组件上的控制终端中的摄像头组件时,控制终端通过通信组件向旋转组件依次发送至少一个旋转指令。

在步骤403中,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像。

在步骤404中,根据采集到的若干个图像生成全景图片。

综上所述,本公开实施例提供的全景拍摄方法,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;解决了在同时使用终端设备的前置摄像头和后置摄像头采集图像合成全景图片时,由于前置摄像头的像素较低而造成的全景图片的图像质量较低的问题;由于全景拍摄终端中的处理器是通过指示旋转组件驱动摄像头组件进行旋转并采集图像,根据由同一个摄像头组件在不同的角度位置采集到的若干个图像生成全景图片的,达到了可以仅使用一个像素较高的摄像头组件就能生成图像质量较高的全景图片的效果。

图5是根据一示例性实施例示出的一种全景拍摄方法的流程图,该方法应用于图1A或图1B所示的全景拍摄终端中,该方法可以由图1A或图1B所示的全景拍摄终端中的处理器来实现;或者,该方法应用于如图3所示的全景拍摄系统中,该方法可以由放置在图2所示的旋转组件上的控制终端来实现。该方法包括如下几个步骤:

在步骤501中,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像。

用户可以在全景拍摄终端或控制终端的相机应用中选择进入全景拍摄模式,当处于全景拍摄模式,且处理器检测到存在作用于拍摄按钮的按键操作时,启动全景拍摄。

其中,起始角度位置是终端设备在启动全景拍摄时,摄像头组件正对的角度位置。

在步骤502中,向旋转组件发送第i个旋转指令。

其中,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转,旋转组件用于根据接收到的第i个旋转指令驱动摄像头组件按照旋转方向旋转旋转角度至第i个角度位置,i为正整数,i的起始值为1。

可选的,旋转指令中包括旋转方向字段和旋转角度字段,旋转指令中的旋转方向字段用于指示旋转方向,旋转指令中的旋转角度字段用于指示旋转角度。旋转组件对旋转指令进行解析得到旋转方向字段和旋转角度字段,根据旋转方向字段确定旋转方向,根据旋转角度字段确定旋转角度。比如,旋转组件对旋转指令解析得到旋转方向字段为right,旋转角度字段为30,则表示向右旋转30度。

可选的,旋转指令中包括具有预定格式的旋转角度字段,该具有预定格式的旋转角度字段用于指示旋转方向和旋转角度,预定格式包括符号和数字中的至少一种。旋转组件对旋转指令进行解析得到具有预定格式的旋转角度字段,根据具有预定格式的旋转角度字段确定旋转方向和旋转角度。比如,旋转组件对旋转指令解析得到的具有预定格式的旋转角度字段为+30,则表示向右旋转30度,再比如,旋转组件对旋转指令解析得到的具有预定格式的旋转角度字段为-50,则表示向左旋转50度。

第i个旋转指令用于指示的旋转方向和旋转角度是旋转组件驱动摄像头组件从第i-1个角度位置旋转至第i个角度位置的旋转方向和旋转角度,可选的,不同的旋转指令用于指示的旋转方向和旋转角度相同或者不同,本公开实施例以每个旋转指令指示的旋转方向和旋转角度均相同为例进行说明。需要说明的是,第0个角度位置即为起始角度位置。

在步骤503中,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像。

其中,旋转后的图像是摄像头组件在旋转组件的驱动下进行旋转后所采集的图像。

该步骤可以通过以下两种实现方式中的任意一种实现方式来实现:

在第一种可能的实现方式中,在每个旋转指令发送后,当达到预定时间间隔时,通过摄像头组件采集旋转后的图像。

其中,预定时间间隔为系统预设值或由用户自定义。

在另一种可能的实现方式中,在每个旋转指令发送后,当接收到旋转组件返回的反馈信号时,通过摄像头组件采集旋转后的图像。

当旋转组件根据旋转指令进行旋转后,旋转组件向处理器返回反馈信号,处理器在接收到反馈信号后,确定摄像头组件已经在旋转组件的驱动下旋转至第i个角度位置,则控制摄像头组件采集图像,采集到的图像即为第i个角度位置的图像。

在步骤504中,检测总旋转角度是否达到全景角度。

其中,总旋转角度是第i个角度位置相对于起始角度位置所旋转的角度,全景角度是启动全景拍摄拍摄全景图片时,全景图片所覆盖的角度范围,全景角度为系统预设值或由用户自定义。可选的,全景角度是360度。

在步骤505中,在总旋转角度小于全景角度时,则令i=i+1,再次执行向旋转组件发送第i个旋转指令的步骤。

在步骤506中,若总旋转角度达到全景角度,根据采集到的若干个图像生成全景图片。

当总旋转角度达到全景角度时,处理器结束全景拍摄并根据采集图像的顺序对采集到的若干个图像进行拼接,在对第i-1个图像和第i个图像进行拼接时,包括如下几个步骤:

1、对第i-1个图像和第i个图像进行图像预处理,图像预处理包括图像去噪、图像直方图均衡中的至少一种。可选的,当摄像头组件为鱼眼镜头时,图像预处理还包括畸变校正。

2、提取第i-1个图像和第i个图像的图像特征,图像特征包括特征点、特征轮廓和特征曲线中的至少一种,常见的特征点包括SIFT(Scale-invariant feature transform,尺度不变特征变换)、FAST(Features fromaccelerated segment test)和SURF(Speeded Up Robust Features)中的至少一种。

3、将第i个图像与第i-1个图像进行拼接,并将第i-1个图像中与第i个图像的图像特征相同的图像特征部分丢弃,或者,将第i个图像中与第i-1个图像的图像特征相同的图像特征部分丢弃,直至生成完整的全景图片。

需要说明的是,当全景角度为360度,且总旋转角度达到全景角度时,终端设备的第i个角度位置与起始角度位置是相同的角度位置,终端设备在第i个角度位置采集到的图像与在起始角度位置采集到的图像可能是相同,则为了避免生成的全景图片中存在重复的部分,终端设备可以不使用在起始角度位置采集到的图像,而使用在第1个角度位置、第2个角度位置…第i个角度位置所采集到的i个图像生成全景图片。

需要说明的是,当图1A或图1B所示的全景拍摄终端中包括至少两个摄像头组件时,或者,当放置于图2所示的旋转组件上的控制终端中包括至少两个摄像头组件时,向旋转组件发送每个旋转指令后,可以同时通过每个摄像头组件采集图像,也可以仅通过其中部分摄像头组件采集图像,本公开实施例以同时通过每个摄像头组件采集图像为例进行说明。

则该步骤可以包括如下两个步骤:

1、对于至少两个摄像头组件中的每个摄像头组件,根据摄像头组件采集到的若干个图像拼接得到与摄像头组件对应的显示图片。

使用上述三个步骤示出的方法将根据摄像头组件采集到的若干个图像拼接得到与摄像头组件对应的显示图片。

2、根据每个摄像头组件所对应的显示图片拼接得到全景图片。

对于每两个相邻设置的摄像头组件所对应的显示图片,提取这两个显示图片的图像特征,将这两个显示图片进行拼接。将两个全景图片进行拼接的方法可以结合上述将第i-1个图像和第i个图像进行拼接的方法,本实施例对此不再赘述。

需要说明的是,在实际实现时,也可以是在接收到在检测到结束全景拍摄时,根据采集到的若干个图像生成全景图片。比如,当用户在相机应用中选择结束全景模式时,结束全景拍摄并根据采集到的若干个图像生成全景图片。

综上所述,本公开实施例提供的全景拍摄方法,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;解决了在同时使用终端设备的前置摄像头和后置摄像头采集图像合成全景图片时,由于前置摄像头的像素较低而造成的全景图片的图像质量较低的问题;由于全景拍摄终端中的处理器是通过指示旋转组件驱动摄像头组件进行旋转并采集图像,根据由同一个摄像头组件在不同的角度位置采集到的若干个图像生成全景图片的,达到了可以仅使用一个像素较高的摄像头组件就能生成图像质量较高的全景图片的效果。

本公开实施例提供的全景拍摄方法,摄像头组件在处理器或控制终端的驱动下进行旋转,避免了由用户旋转终端设备中的摄像头组件进行旋转时因抖动、旋转角度太大/太小、位置偏移等导致的生成的全景图片的图片质量较差的问题,达到了提高生成的全景图片的图像质量的效果。

本公开实施例提供的全景拍摄方法,可以仅使用一个摄像头组件,且对于摄像头组件的FOV没有限制,扩大了该全景拍摄方法的适用范围。

本公开实施例提供的全景拍摄方法,全景拍摄终端或控制终端中可以包括至少两个摄像头组件,达到了可以通过多个摄像头组件采集更多不同角度位置的图像,生成显示范围更广的全景图片的效果。

在一个示例性的例子中,以上述全景拍摄方法用于图1A所示的全景拍摄终端10中为例,全景拍摄终端10中的摄像头组件进行全景拍摄时的俯视示意图如图6所示。假设全景拍摄终端10中的处理器向旋转组件依次发送的若干个旋转指令用于指示的旋转方向均为向右旋转,指示的旋转角度均为90度,且全景角度为360度。

处理器启动全景拍摄时,在起始角度位置601采集图像,如图6中的(a)所示,并向旋转组件发送第1个旋转指令,旋转组件根据第1个旋转指令驱动摄像头组件向右旋转90度至第1个角度位置602后向处理器发送反馈信号,处理器在接收到反馈信号后,通过摄像头组件在第1个角度位置602处采集图像,如图6中的(b)所示。

处理器检测总旋转角度为90度小于全景角度,向旋转组件发送第2个旋转指令,旋转组件根据第2个旋转指令驱动摄像头组件向右旋转90度至第2个角度位置603后向处理器发送反馈信号,处理器在接收到反馈信号后,通过摄像头组件在第2个角度位置603处采集图像,如图6中的(c)所示。

处理器检测总旋转角度为180度小于全景角度,向旋转组件发送第3个旋转指令,旋转组件根据第3个旋转指令驱动摄像头组件向右旋转90度至第3个角度位置604后向处理器发送反馈信号,处理器在接收到反馈信号后,通过摄像头组件在第3个角度位置604处采集图像,如图6中的(d)所示。

处理器检测总旋转角度为270度小于全景角度,向旋转组件发送第4个旋转指令,旋转组件根据第4个旋转指令驱动摄像头组件向右旋转90度至第4个角度位置605后向处理器发送反馈信号,处理器在接收到反馈信号后,通过摄像头组件在第4个角度位置605处采集图像,如图6中的(e)所示。此时处理器检测到总旋转角度为360,则结束全景拍摄并将在第1个角度位置602、第2个角度位置603、第3个角度位置604和第4个角度位置605处采集到的4个图像合成为全景图片。

需要说明的是,图6中将摄像头组件在进行全景拍摄时所处的(a)、(b)、(c)、(d)和(e)的五个状态在不同的显示图中进行显示,但是实际实现时,摄像头组件都是绕着同一个旋转轴61进行旋转的。

可选的,基于图5所示的实施例,全景拍摄终端的处理器通过内部电路向旋转组件发送的旋转指令,或者,控制终端向旋转组件发送的旋转指令用于指示的旋转角度是由处理器根据摄像头组件的FOV确定的,则该方法还包括如下几个步骤,如图7所示:

在步骤701中,确定摄像头组件的FOV。

可选的,摄像头组件的FOV包括在全景拍摄终端或控制终端的配置信息中,全景拍摄终端的处理器或者控制终端通过查询配置信息确定摄像头组件的FOV。

在步骤702中,根据FOV确定旋转角度,旋转角度小于或等于FOV。

该步骤至少存在以下两种可能的实现方式:

在第一种可能的实现方式中,将摄像头组件的FOV确定为旋转角度。

在第二种可能的实现方式中,当摄像头组件的FOV不能被全景角度整除时,若将摄像头组件的FOV确定为旋转角度,则在总旋转角度达到全景角度时,旋转组件驱动摄像头组件进行旋转的次数不是整数次。比如,全景角度为360度,摄像头组件的FOV为100度,若确定旋转角度为100度,则旋转组件需要驱动摄像头组件进行3.6次旋转使总旋转角度达到360度,并不合理。此时,可以使用以下几个步骤确定旋转角度:

1、将全景角度和FOV的商确定为旋转次数。

2、对旋转次数执行向上取整得到调整后的旋转次数。

3、将全景角度和调整后的旋转次数的商确定为旋转角度。

在上述示例性的例子中,旋转次数为全景角度和FOV的商,即旋转次数为360/100=3.6次,将旋转次数向上取整得到调整后的旋转次数为4次,确定旋转角度为全景角度和调整后的旋转次数的商,即旋转角度为360/4=90度。

综上所述,本公开实施例提供的全景拍摄方法,根据摄像头组件的FOV确定旋转角度,在采集到生成全景图片所需的若干个图像的基础上,减少旋转次数和采集的图像的个数,优化了全景拍摄的流程。

可选的,在基于上述实施例的其他可选实施例中,上述步骤504-步骤506可被替代实现为如下步骤,如图8所示:

在步骤801中,检测旋转次数是否达到总旋转次数。

其中,总旋转次数是由全景角度与旋转角度的商所确定的次数,或者,总旋转次数是由全景角度与旋转角度的商执行向上取整后所确定的次数。

在步骤802中,若旋转次数小于总旋转次数,则令i=i+1,再次执行向旋转组件发送第i个旋转指令的步骤。

在步骤803中,若总旋转角度达到全景角度,根据采集到的若干个图像生成全景图片。

可选的,在基于上述实施例的其他可选实施例中,上述步骤502-606可被替代实现为如下步骤,如图9所示:

在步骤901中,向旋转组件发送旋转指令。

其中,旋转指令用于指示旋转方向、旋转角度、旋转频率和总旋转次数,旋转指令用于指示旋转组件按照指定的旋转方向、旋转角度和旋转频率旋转指定的总旋转次数,旋转频率用于指示旋转组件进行的每两次旋转之间的时间间隔,总旋转次数的含义可以结合上述图8所示的实施例。

在步骤902中,当接收到旋转组件返回的反馈信号时,通过摄像头组件采集旋转后的图像。

旋转组件在完成每次旋转后,向全景拍摄终端的处理器返回反馈信号,或者,向控制终端返回反馈信号。

在步骤903中,根据采集到的若干个图像生成全景图片。

可选的,检测当前时刻与上一个采集图像的时刻之间的时间间隔是否达到预设时间间隔,当达到预设时间间隔时,结束全景拍摄并根据采集到的若干个图像生成全景图片,预设时间间隔是系统预设值或由用户自定义。

可选的,根据总旋转次数确定采集的总图像个数,总图像个数为总旋转次数加一所确定的个数,检测采集到的图像个数是否达到总图像个数,当达到总图像个数时,结束全景拍摄并根据采集到的若干个图像生成全景图片。

比如,在图6所示的示例性的例子中,全景拍摄终端的处理器向旋转组件发送的旋转指令用于指示的旋转方向为向右旋转,旋转角度为90度,旋转频率为10秒/次,旋转次数为4次,则总图像个数为5个。则旋转组件在驱动摄像头组件旋转至第1个角度位置602后,向处理器发送反馈信号,处理器接收到反馈信号后在第1个角度位置602处采集图像。

旋转组件在驱动摄像头组件旋转至第1个角度位置602后,经过10秒,驱动摄像头组件从第1个角度位置602继续旋转至第2个角度位置603,向处理器发送反馈信号,处理器接收到反馈信号后在第2个角度位置603处采集图像。

同理,旋转组件继续驱动摄像头组件旋转至第3个角度位置604和第4个角度位置605后,也向处理器发送反馈信号,处理器继续在第3个角度位置604和第4个角度位置605处采集图像。当摄像头组件在旋转组件的驱动下旋转至第4个角度位置605处时,处理器检测到采集到的图像个数为6个,达到总图像个数,处理器结束全景拍摄并根据采集到的6个图像生成全景图片。

综上所述,本公开实施例提供的全景拍摄方法,向旋转组件发送一个旋转指令后,旋转组件根据该旋转指令旋转指定的总旋转次数,不需要每次都向旋转组件发送旋转指令,达到了减少与旋转组件之间的通信次数,减少功耗的效果。

下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。

图10是根据一示例性实施例示出的一种全景拍摄装置的框图,该装置可以通过硬件、软件或两者的结合实现成为图1A或图1B所示的全景拍摄装置的部分或者全部;或者,该装置可以通过硬件、软件或两者的结合实现成为放置在如图2所示的旋转组件上的控制终端的部分或者全部,该装置包括但不限于:

第一采集模块1010,被配置为在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像。

发送模块1020,被配置为向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转。

第二采集模块1030,被配置为在每个旋转指令发送后,通过摄像头组件采集旋转后的图像。

生成模块1040,被配置为根据采集到的若干个图像生成全景图片。

综上所述,本公开实施例提供的全景拍摄装置,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;解决了在同时使用终端设备的前置摄像头和后置摄像头采集图像合成全景图片时,由于前置摄像头的像素较低而造成的全景图片的图像质量较低的问题;由于全景拍摄终端中的处理器是通过指示旋转组件驱动摄像头组件进行旋转并采集图像,根据由同一个摄像头组件在不同的角度位置采集到的若干个图像生成全景图片的,达到了可以仅使用一个像素较高的摄像头组件就能生成图像质量较高的全景图片的效果。

图11是根据另一示例性实施例示出的一种全景拍摄装置的框图,该装置可以通过硬件、软件或两者的结合实现成为图1A或图1B所示的全景拍摄装置的部分或者全部;或者,该装置可以通过硬件、软件或两者的结合实现成为放置在如图2所示的旋转组件上的控制终端的部分或者全部,该装置包括但不限于:

第一确定模块1110,被配置为确定摄像头组件的FOV。

第二确定模块1120,被配置为根据FOV确定旋转角度,旋转角度小于或等于FOV。

第一采集模块1130,被配置为在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像。

发送模块1140,被配置为向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转。

可选的,发送模块1140,还被配置为在摄像头组件与旋转组件包括在同一个终端中时,通过内部电路向旋转组件依次发送至少一个旋转指令;

或者,发送模块1140,还被配置为在摄像头组件与旋转组件包括在不同的终端中,且旋转组件中包括有通信组件时,通过通信组件向旋转组件依次发送至少一个旋转指令。

可选的,发送模块1140包括:

发送子模块1141,被配置为向旋转组件发送第i个旋转指令,旋转组件用于根据接收到的第i个旋转指令驱动摄像头组件按照旋转方向旋转旋转角度至第i个角度位置,i为正整数。

检测子模块1142,被配置为检测总旋转角度是否达到全景角度,总旋转角度是第i个角度位置相对于起始角度位置所旋转的角度。

发送子模块1141,还被配置为在总旋转角度小于全景角度时,则令i=i+1,再次执行向旋转组件发送第i个旋转指令的步骤。

第二采集模块1150,被配置为在每个旋转指令发送后,通过摄像头组件采集旋转后的图像。

生成模块1160,被配置为根据采集到的若干个图像生成全景图片。

可选的,全景拍摄终端中包括至少两个摄像头组件,生成模块1160包括:

第一拼接子模块1161,被配置为对于至少两个摄像头组件中的每个摄像头组件,根据摄像头组件采集到的若干个图像拼接得到与摄像头组件对应的显示图片。

第二拼接子模块1162,被配置为根据每个摄像头组件所对应的显示图片拼接得到全景图片。

综上所述,本公开实施例提供的全景拍摄装置,在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像并向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,在每个旋转指令发送后,通过摄像头组件采集旋转后的图像,根据采集到的若干个图像生成全景图片;解决了在同时使用终端设备的前置摄像头和后置摄像头采集图像合成全景图片时,由于前置摄像头的像素较低而造成的全景图片的图像质量较低的问题;由于全景拍摄终端中的处理器是通过指示旋转组件驱动摄像头组件进行旋转并采集图像,根据由同一个摄像头组件在不同的角度位置采集到的若干个图像生成全景图片的,达到了可以仅使用一个像素较高的摄像头组件就能生成图像质量较高的全景图片的效果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开一示例性实施例提供了一种全景拍摄装置,能够实现本公开提供的全景拍摄方法,该装置包括:处理器、用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

在检测到启动全景拍摄时,通过摄像头组件在起始角度位置采集图像;

向旋转组件依次发送至少一个旋转指令,旋转指令用于指示旋转组件按照指定的旋转方向和旋转角度进行旋转,旋转组件用于驱动摄像头组件旋转;

在每个旋转指令发送后,通过摄像头组件采集旋转后的图像;

根据采集到的若干个图像生成全景图片。

图12是根据一示例性实施例示出的一种全景拍摄终端或控制终端的框图。例如,装置1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,个人数字助理等。

参照图12,装置1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电源组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)接口1212,传感器组件1214,以及通信组件1216。

处理组件1202通常控制装置1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1218来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。

存储器1204被配置为存储各种类型的数据以支持在装置1200的操作。这些数据的示例包括用于在装置1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件1206为装置1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为装置1200生成、管理和分配电力相关联的组件。

多媒体组件1208包括在装置1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当装置1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当装置1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。

I/O接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1214包括一个或多个传感器,用于为装置1200提供各个方面的状态评估。例如,传感器组件1214可以检测到装置1200的打开/关闭状态,组件的相对定位,例如组件为装置1200的显示器和小键盘,传感器组件1214还可以检测装置1200或装置1200一个组件的位置改变,用户与装置1200接触的存在或不存在,装置1200方位或加速/减速和装置1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1216被配置为便于装置1200和其他设备之间有线或无线方式的通信。装置1200可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述全景拍摄方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由装置1200的处理器1218执行以完成上述全景拍摄方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示意性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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