CN114827439A - 一种全景图像的拍摄方法及电子设备 - Google Patents
一种全景图像的拍摄方法及电子设备 Download PDFInfo
- Publication number
- CN114827439A CN114827439A CN202110127000.8A CN202110127000A CN114827439A CN 114827439 A CN114827439 A CN 114827439A CN 202110127000 A CN202110127000 A CN 202110127000A CN 114827439 A CN114827439 A CN 114827439A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- images
- image
- preview
- panoramic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
一种全景图像的拍摄方法及电子设备。其中方法包括:第一电子设备检测到用于拍摄全景图像的第一操作,响应于第一操作,可以获取m个第一图像,以及向第二电子设备发送至少一次拍摄命令,以使得第二电子设备可以根据至少一次拍摄命令获取m个第二图像;进而接收来自于第二电子设备的所述m个第二图像,根据m个第一图像和m个第二图像,拼接得到m个全景图像,并从m个全景图像中选择目标全景图像。如此,可以由第一电子设备控制第二电子设备拍摄,使得第一电子设备和第二电子设备能够在同一时间进行拍摄,从而可以适用拍摄静止画面的场景和拍摄非静止画面的场景。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种全景图像的拍摄方法及电子设备。
背景技术
随着技术的进步,电子设备的各种功能不断完善。以手机为例,图像拍摄功能是用户使用频率较高的功能之一。
由于全景图像可以通过广角的表现手段,尽可能多地表现出周围的环境,比如全景图像可以在一个固定的观察点、提供水平方向上90度到360度、垂直方向上180度的自由浏览,因此,越来越多的用户有拍摄全景图像的需求。
发明内容
本申请实施例的目的在于提供一种全景图像的拍摄方法及电子设备,实现由第一电子设备控制至少一个第二电子设备拍摄,使得多个电子设备可以在同一时间进行拍摄,从而适用于拍摄静止画面或非静止画面的全景图像。
第一方面,本申请实施例提供一种全景图像的拍摄方法,该方法可以适用于第一电子设备,在该方法中,第一电子设备检测到用于拍摄全景图像的第一操作,响应于第一操作,获取m个第一图像,以及向第二电子设备发送至少一次拍摄命令,以使第二电子设备根据至少一次拍摄命令获取m个第二图像;接收来自于所述第二电子设备的所述m个第二图像;根据m个第一图像和m个第二图像,拼接得到m个全景图像;从m个全景图像中,选择一个目标全景图像;其中,m个第一图像包括第一目标图像,m个第二图像包括第二目标图像,目标全景图像是根据第一目标图像和第二目标图像拼接得到的,m为不大于1的整数。
采用上述方法,由于第一电子设备可以向第二电子设备发送拍摄命令,因此第一电子设备可以控制第二电子设备拍摄,使得第一电子设备和第二电子设备能够在同一时间进行分布式拍摄,从而可以适用拍摄静止画面的全景图像和拍摄非静止画面的全景图像。
在一种可能的实现方式中,第一目标图像和第二目标图像的特征匹配值大于或等于第一阈值。
采用上述方法,由于第一电子设备可以向第二电子设备发送至少一次拍摄命令,从而使得后续可以拼接得到m个全景图像,并可以根据特征匹配值从m个全景图像中选择拼接效果较好的目标全景图像,提高用户体验。
在一种可能的实现方式中,该方法还包括:在第一窗口显示目标全景图像。
在一种可能的实现方式中,该方法还包括:在第二窗口显示第一目标图像,以及在第三窗口显示第二目标图像;其中,第一窗口、第二窗口和第三窗口位于同一显示界面。
采用上述方法,由于可以在同一显示界面上显示目标全景图像、第一目标图像和第二目标图像,从而便于用户进行同时查看,提高用户体验。
在一种可能的实现方式中,向第二电子设备发送至少一次拍摄命令,包括:通过第一电子设备与第二电子设备之间的连接向第二电子设备发送至少一次拍摄命令;或者,通过云服务器向第二电子设备发送至少一次拍摄命令。
在一种可能的实现方式中,根据m个第一图像和m个第二图像,拼接得到m个全景图像之前,该方法还包括:对m个第一图像和m个第二图像进行帧同步;其中,第一目标图像和第二目标图像为帧同步的两个图像。
在一种可能的实现方式中,检测到用于拍摄全景图像的第一操作之前,该方法还包括:进入全景模式;获取第一预览图像,以及向第二电子设备发送预览命令,以使第二电子设备根据预览命令获取第二预览图像;接收来自于第二电子设备的第二预览图像;根据第一预览图像和第二预览图像,拼接得到预览全景图像;在第一窗口显示预览全景图像。
采用上述方法,第一电子设备可以向第二电子设备发送预览命令,从而可以通过多个电子设备来分别获取预览图像数据流,以及在第一电子设备的取景界面显示预览全景图像,使得用户可以通过观看预览全景图像,确定合适的拍摄时机。
在一种可能的实现方式中,该方法还包括:在第二窗口显示第一预览图像,以及在第三窗口显示第二预览图像;其中,第一窗口、第二窗口和第三窗口位于同一显示界面。
在一种可能的实现方式中,该方法还包括:获取第一预览图像和第二预览图像的特征匹配值;若特征匹配值小于第二阈值,则显示提示信息,提示信息用于提示用户调整第一电子设备和/或第二电子设备的拍摄角度和/或位置。
在一种可能的实现方式中,进入全景模式,包括:检测到用于进入全景模式的第二操作,响应于第二操作,进入全景模式;或者,检测到用于启动第一电子设备的相机应用的第三操作,若确定与第二电子设备建立有连接,则进入全景模式。
第二方面,本申请实施例提供一种全景图像的拍摄方法(或者也可以称为全景录像方法),该方法可以适用于第一电子设备,在该方法中,第一电子设备检测到用于全景录像的第一操作;响应于第一操作,获取第一录像数据流,以及向第二电子设备发送录像命令,以使第二电子设备根据录像命令获取第二录像数据流;接收来自于第二电子设备的第二录像数据流;根据第一录像数据流和第二录像数据流,拼接得到全景录像数据流。
在一种可能的实现方式中,该方法还包括:根据全景录像数据流,在第一窗口进行播放。
在一种可能的实现方式中,该方法还包括:根据第一录像数据流,在第二窗口进行播放;以及根据第二录像数据流,在第三窗口进行播放;其中,第一窗口、第二窗口和第三窗口位于同一显示界面。
在一种可能的实现方式中,向第二电子设备发送录像命令,包括:通过第一电子设备与第二电子设备之间的连接向第二电子设备发送录像命令。
在一种可能的实现方式中,检测到用于全景录像的第一操作之前,该方法还包括:进入全景模式;获取第一预览图像,以及向第二电子设备发送预览命令,以使第二电子设备根据预览命令获取第二预览图像;接收来自于第二电子设备的第二预览图像;根据第一预览图像和第二预览图像,拼接得到预览全景图像;在第一窗口显示预览全景图像。
在一种可能的实现方式中,该方法还包括:在第二窗口显示第一预览图像,以及在第三窗口显示第二预览图像;其中,第一窗口、第二窗口和第三窗口位于同一显示界面。
在一种可能的实现方式中,该方法还包括:获取第一预览图像和第二预览图像的特征匹配值;若特征匹配值小于第二阈值,则显示提示信息,提示信息用于提示用户调整第一电子设备和/或第二电子设备的拍摄角度和/或位置。
在一种可能的实现方式中,进入全景模式,包括:检测到用于进入全景模式的第二操作,响应于第二操作,进入全景模式;或者,检测到用于启动第一电子设备的相机应用的第三操作,若确定与第二电子设备建立有连接,则进入全景模式。
需要说明的是,上述第二方面所提供的全景录像方法与上述第一方面所提供的全景图像的拍摄方法是基于同一发明思路的,二者的区别在于:第一方面中,第一电子设备可以向第二电子设备发送至少一次拍摄命令,进而第二电子设备可以根据至少一次拍摄命令执行拍摄操作;此外,第一电子设备获得的为一个目标全景图像;而第二方面中,第一电子设备可以向第二电子设备发送录像命令,进而第二电子设备可以根据录像命令执行录像操作;此外,第一电子设备获得为全景图像数据流(可以理解为全景视频)。因此,第二方面相关技术特征的有益效果可以参照第一方面,不再赘述。
第三方面,本申请实施例提供一种全景图像的拍摄方法,该方法可以适用于第一电子设备,在该方法中,第一电子设备检测到用于拍摄全景图像的第一操作;响应于第一操作,获取m个第一图像,并向云服务器发送m个第一图像;以及,向第二电子设备发送至少一次拍摄命令,以使第二电子设备根据至少一次拍摄命令获取m个第二图像并发送给云服务器;接收云服务器发送的一个目标全景图像;其中,目标全景图像是从m个全景图像中选择出的,m个全景图像是根据m个第一图像和m个第二图像拼接得到的;其中,m个第一图像包括第一目标图像,m个第二图像包括第二目标图像,目标全景图像是根据第一目标图像和第二目标图像拼接得到的,m为不小于1的整数。
采用上述方法,可以由云服务器根据m个第一图像和m个第二图像进行拼接得到m个全景图像,并选择一个目标全景图像发送给第一电子设备,而无需第一电子设备执行拼接和选择目标全景图像的操作,从而能够有效降低第一电子设备的处理负担。
在一种可能的实现方式中,第一目标图像和第二目标图像的特征匹配值大于或等于第一阈值。
在一种可能的实现方式中,该方法还包括:显示目标全景图像;或者,保存目标全景图像。
在一种可能的实现方式中,向第二电子设备发送至少一次拍摄命令,包括:通过云服务器向第二电子设备发送至少一次拍摄命令。
在一种可能的实现方式中,检测到用于拍摄全景图像的第一操作之前,该方法还包括:进入全景模式;获取第一预览图像,并向云服务器发送第一预览图像,以及向第二电子设备发送预览命令,以使第二电子设备根据预览命令获取第二预览图像并发送给云服务器;接收云服务器发送的预览全景图像,预览全景图像是根据第一预览图像和第二预览图像拼接得到的;以及,显示预览全景图像。
在一种可能的实现方式中,该方法还包括:接收云服务器发送的指示信息,指示信息用于指示第一预览图像和第二预览图像的特征匹配值小于第二阈值;根据指示信息,显示提示信息,提示信息用于提示用户调整第一电子设备和/或第二电子设备的拍摄角度和/或位置。
在一种可能的实现方式中,进入全景模式,包括:检测到用于进入全景模式的第二操作,响应于第二操作,进入全景模式。
第四方面,本申请实施例提供一种全景图像的拍摄方法,该方法可以适用于第一电子设备,在该方法中,第一电子设备检测到用于拍摄全景图像的第一操作;响应于第一操作,获取m个第一图像,并向云服务器发送m个第一图像;以及,向第二电子设备发送至少一次拍摄命令,以使第二电子设备根据至少一次拍摄命令获取m个第二图像并发送给云服务器;接收云服务器发送的m个全景图像,m个全景图像是根据m个第一图像和m个第二图像拼接得到的;从m个全景图像中,选择一个目标全景图像;其中,m个第一图像包括第一目标图像,m个第二图像包括第二目标图像,目标全景图像是根据第一目标图像和第二目标图像拼接得到的,m为不小于1的整数。
采用上述方法,可以由云服务器根据m个第一图像和m个第二图像进行拼接得到m个全景图像,并发送给第一电子设备,而无需第一电子设备执行拼接操作,从而能够有效降低第一电子设备的处理负担。
在一种可能的实现方式中,第一目标图像和第二目标图像的特征匹配值大于或等于第一阈值。
在一种可能的实现方式中,该方法还包括:显示目标全景图像;或者,保存目标全景图像。
在一种可能的实现方式中,向第二电子设备发送至少一次拍摄命令,包括:通过云服务器向第二电子设备发送至少一次拍摄命令。
在一种可能的实现方式中,检测到用于拍摄全景图像的第一操作之前,该方法还包括:进入全景模式;获取第一预览图像,并向云服务器发送第一预览图像,以及向第二电子设备发送预览命令,以使第二电子设备根据预览命令获取第二预览图像并发送给云服务器;接收云服务器发送的预览全景图像,预览全景图像是根据第一预览图像和第二预览图像拼接得到的;显示预览全景图像。
在一种可能的实现方式中,该方法还包括:接收云服务器发送的指示信息,指示信息用于指示第一预览图像和第二预览图像的特征匹配值小于第二阈值;根据指示信息,显示提示信息,提示信息用于提示用户调整第一电子设备和/或第二电子设备的拍摄角度和/或位置。
在一种可能的实现方式中,进入全景模式,包括:检测到用于进入全景模式的第二操作,响应于第二操作,进入全景模式。
第五方面,本申请实施例提供一种全景图像的拍摄方法,该方法可以适用于第二电子设备,在该方法中,第二电子设备接收来自第一电子设备的至少一次拍摄命令;根据至少一次拍摄命令获取m个第二图像,m个第二图像用于拼接得到m个全景图像。
在一种可能的实现方式中,接收来自第一电子设备的至少一次拍摄命令,包括:通过第一电子设备与第二电子设备之间的连接接收来自第一电子设备的至少一次拍摄命令。
在一种可能的实现方式中,接收来自第一电子设备的至少一次拍摄命令,包括:接收云服务器发送的来自第一电子设备的至少一次拍摄命令。
在一种可能的实现方式中,该方法还包括:向第一电子设备发送m个第二图像。
在一种可能的实现方式中,该方法还包括:向云服务器发送m个第二图像。
在一种可能的实现方式中,该方法还包括:接收来自第一电子设备的预览命令;根据预览命令获取第二预览图像,第二预览图像用于拼接得到预览全景图像。
在一种可能的实现方式中,该方法还包括:向第一电子设备发送第二预览图像。
在一种可能的实现方式中,该方法还包括:向云服务器发送第二预览图像。
第六方面,本申请实施例提供一种全景图像的拍摄方法,该方法可以适用于云服务器,在该方法中,云服务器接收到第一电子设备发送的至少一次拍摄命令后,向第二电子设备发送至少一次拍摄命令,以使第二电子设备根据至少一次拍摄命令获取m个第二图像;接收第一电子设备发送的m个第一图像,以及接收第二电子设备发送的m个第二图像;根据m个第一图像和m个第二图像,拼接得到m个全景图像;向第一电子设备发送m个全景图像;或者,从m个全景图像中,选择一个目标全景图像,并向第一电子设备发送该目标全景图像。
需要说明的是,上述第五方面和第六方面中相关技术特征的有益效果可以参照前述第一方面、第三方面和第四方面中的描述,不再赘述。
第七方面,本申请提供一种电子设备(例如上述第一电子设备),包括:显示屏、通信模块、一个或多个处理器、一个或多个存储器、一个或多个摄像头以及一个或多个计算机程序;其中,处理器与通信模块、显示屏、摄像头以及存储器均耦合,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使第一电子设备执行上述第一方面至第四方面中任一方面所述的方法。
第八方面,本申请提供一种电子设备(例如上述第二电子设备),包括:通信模块、一个或多个处理器、一个或多个存储器、一个或多个摄像头以及一个或多个计算机程序;其中,处理器与通信模块、存储器均耦合,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第五方面中所述的拍摄方法。
第九方面,本申请提供一种云服务器,包括通信接口、一个或多个处理器、一个或多个存储器以及一个或多个计算机程序;其中,处理器与通信接口、存储器均耦合,上述一个或多个计算机程序被存储在存储器中,当云服务器运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使云服务器执行上述第六方面中所述的拍摄方法。
第十方面,本申请提供一种拍摄系统,该拍摄系统可以包括上述第一电子设备和第二电子设备,第一电子设备和第二电子设备通过交互可执行上述所述的方法。或者,该拍摄系统可以包括上述第一电子设备、第二电子设备和云服务器,第一电子设备、第二电子设备和云服务器通过交互可执行上述所述的方法。
第十一方面,本申请提供一种计算机可读存储介质,包括计算机指令,当计算机指令在上述第一电子设备(或第二电子设备或云服务器)上运行时,使得第一电子设备(或第二电子设备或云服务器)执行上述所述的方法。
第十二方面,本申请提供一种计算机程序产品,当计算机程序产品在第一电子设备(或第二电子设备或云服务器)上运行时,使得第一电子设备(或第二电子设备或云服务器)执行上述所述的方法。
可以理解地,上述各个方面所提供的电子设备、拍摄系统、计算机可读存储介质以及计算机程序产品均应用于上文所提供的对应方法,因此,其所能达到的有益效果可参考上文所提供的对应方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的单设备拍摄全景图像示意图;
图2为本申请实施例提供的多设备拍摄全景图像示意图;
图3为本申请实施例提供的电子设备的一种可能的硬件结构示意图;
图4本申请实施例提供的电子设备的软件结构框图;
图5A为本申请实施例提供的一种应用场景的示意图;
图5B为图5A所示意的应用场景中电子设备的软件结构框图;
图6为本申请实施例提供的又一种应用场景的示意图;
图7为本申请实施例一提供的全景图像的拍摄方法所对应的流程示意图;
图8为本申请实施例提供的第一电子设备显示的界面示例图;
图9为本申请实施例提供的预览命令和预览图像数据流的一种传输示意图;
图10为本申请实施例提供的拍摄命令和图像的一种传输示意图;
图11为本申请实施例二提供的全景图像的拍摄方法所对应的流程示意图;
图12为本申请实施例提供的预览命令和预览图像数据流的又一种传输示意图;
图13为本申请实施例提供的拍摄命令和图像的又一种传输示意图;
图14为本申请实施例提供的电子设备的一种结构示意图;
图15为本申请实施例提供的电子设备的又一种结构示意图;
图16为本申请实施例提供的云服务器的结构示意图。
具体实施方式
首先,对本申请实施例涉及的部分用语进行解释说明。
(1)电子设备:可以是包含至少一个摄像头(或者说具有拍摄功能)的便携式电子设备,诸如手机、平板电脑、车载设备,可穿戴设备等。上述便携式电子设备也可以是其它便携式电子设备,例如数码相机、膝上型计算机(laptop)。还应当理解的是,在其它一些可能的实施例中,上述电子设备也可以不是便携式电子设备,而是具有一个摄像头的台式计算机等,本申请实施例对电子设备的具体类型不作任何限制。
通常情况下,电子设备可以支持多种应用。比如以下应用中的一个或多个:相机应用、即时消息收发应用等。其中,即时消息收发应用可以有多种,比如微信、Welink等。用户通过即时消息收发应用,可以将文字、语音、图片、视频文件以及其他各种文件等信息发送给其他联系人;或者用户可以通过即时消息收发应用与其他联系人实现语音、视频通话等。应用可以是电子设备出厂时自带的应用,也可以是电子设备从网络侧下载并安装的应用,或者是电子设备接收其它电子设备发送的应用,本申请实施例不作限定。
(2)操作系统(operating system,OS):是运行在电子设备上的最基本的系统软件,例如以手机为例,操作系统可以是或或或或本申请实施例主要以为例进行介绍。本领域技术人员可以理解,其它操作系统中,也可以采用类似的算法实现。
(3)预览图像:是指电子设备的取景界面中显示的图像。比如,电子设备是手机时,手机启动相机应用,打开摄像头,显示取景界面,该取景界面中显示预览图像。继续以手机为例,手机启动视频通话功能时,打开摄像头,显示取景界面,该取景界面中显示预览图像。本申请实施例中,预览图像可以为全景图像(此种情形下,预览图像可以称为预览全景图像),或,预览图像包括全景图像。
以上内容是与本申请相关的名称解释。下面结合附图介绍本申请实施例提供的技术方案。
如背景技术所述,越来越多的用户有拍摄全景图像的需求,因此,为满足用户拍摄全景图像的需求,目前提供有两种拍摄全景图像的方式。其中,方式一为:通过特殊的设备进行全景拍摄得到全景图像,该种方法操作简单,但是由于需要特殊的设备,从而导致成本较高。方式二为:先拍摄得到多个图像,然后将多个图像通过拼接来获得全景图像;进一步地,方式二又可以细分为单设备拍摄(或者说单机拍摄)和多设备拍摄。
其中,单设备拍摄是指,使用单设备的图像拍摄功能先后进行多次拍摄得到多个图像,然后将多个图像进行拼接得到全景图像。此种情形下,一次完整的全景拍摄可以包含多次普通拍摄,每一次拍摄之后会将图像数据进行算法合成,完成拼接,最后合成一个完整的全景图像。参见图1所示,为单设备拍摄全景图像示意图,如图1所示,在拍摄过程中,用户需要根据中心水平线进行对齐拍摄。采用该种方式,需要用户不断地对齐中心水平线,若用户未准确对齐中心水平线,则会导致拍摄的图像不在同一水平线,从而使得全景图像出现断层;而且,由于需要不断地拍摄并且裁剪图像,导致耗时较长、资源消耗较大;此外,由于多个图像是单设备在不同时刻拍摄得到的,比如多个图像包括图像1至图像3,图像1是在时刻t1拍摄得到的,图像2是在时刻t2拍摄得到的,图像3是在时刻t3拍摄得到的,因此,该方式适用于拍摄在时刻t1至时刻t3处于静止状态的画面,若画面在时刻t1至时刻t3发生了变化,则会导致合成得到的全景图像与实际画面不符,因此该方式无法拍摄非静止画面。
多设备拍摄是指,通过多个设备分别独立拍摄得到多个图像,然后将多个图像收集起来用拼接算法进行拼接得到全景图像。如图2所示,用户通过设备1拍摄得到一个图像,该图像中包括人物1和人物2,以及通过设备2拍摄得到一个图像,该图像中包括人物3和人物4,然后收集拷贝到设备3(一般是台式计算机等设备),用拼接算法或图片处理软件处理拼接成全景图像,该全景图像中包括人物1、人物2、人物3和人物4。采用该种方式,由于拍摄完成后需要后期处理,从而导致耗时较长;而且,拍摄非静止画面难度较大,需严格控制两个设备(比如设备1和设备2)在同一时间进行拍摄。
本申请实施例提供一种全景图像的拍摄方法,在该方法中,第一电子设备检测到用于拍摄全景图像的第一操作,响应于第一操作,可以获取m个第一图像,以及向第二电子设备发送至少一次拍摄命令,以使得第二电子设备可以根据至少一次拍摄命令获取m个第二图像;进而接收来自于第二电子设备的所述m个第二图像,根据m个第一图像和m个第二图像,拼接得到m个全景图像,并从m个全景图像中选择目标全景图像。如此,可以由第一电子设备控制至少一个第二电子设备拍摄,使得第一电子设备和至少一个第二电子设备能够在同一时间进行拍摄,从而可以适用拍摄静止画面的场景和拍摄非静止画面的场景。
需要说明的是,上述第一电子设备可以称为主控电子设备(或主设备),第二电子设备可以称为从电子设备(或从设备);或者,第一电子设备可以称为本端电子设备,第二电子设备可以称为对端电子设备或远端电子设备,具体不做限定。示例性地,第一电子设备和第二电子设备可以为相同设备类型的电子设备,比如第一电子设备和第二电子设备均为手机,或者均为平板电脑。或者,第一电子设备和第二电子设备也可以为不同设备类型的电子设备,比如第一电子设备为手机,第二电子设备为平板电脑。此外,当至少一个第二电子设备包括多个第二电子设备(比如第二电子设备1、第二电子设备2)时,多个第二电子设备可以为相同类型的电子设备,比如多个第二电子设备均为手机,或者均为平板电脑。或者,多个第二电子设备也可以为不同设备类型的电子设备,比如第二电子设备1为手机,第二电子设备2为平板电脑。
下面对本申请实施例所涉及的电子设备的硬件结构进行描述。
图3为本申请实施例提供的电子设备的一种可能的硬件结构示意图。该电子设备可以为第一电子设备,或者也可以为第二电子设备。如图3所示,电子设备可以包括处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serial bus,USB)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、传感器模块180、按键190、马达191、指示器192、摄像头193、显示屏194、以及用户标识模块(subscriber identification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processingunit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,或者,两个或更多个不同的处理单元也可以集成在一个器件中。控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口、集成电路内置音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general-purposeinput/output,GPIO)接口、用户标识模块(subscriber identity module,SIM)接口、和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口、Micro USB接口、USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。USB接口130还可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142、充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、外部存储器、显示屏194、摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数、电池健康状态(漏电、阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波、放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络)、蓝牙(bluetooth,BT)、全球导航卫星系统(global navigation satellite system,GNSS)、调频(frequency modulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频、放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、时分码分多址(time-division code division multiple access,TD-SCDMA)、长期演进(long term evolution,LTE)、5G以及后续标准、BT、GNSS、WLAN、NFC、FM和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS)、全球导航卫星系统(global navigation satellite system,GLONASS)、北斗卫星导航系统(beidounavigation satellite system,BDS)、准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备通过GPU、显示屏194以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像、视频等。显示屏194包括显示面板,显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed、量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能,比如拍摄全景图像。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB、YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3、MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、视频等文件保存在外部存储卡中。应理解,用户可以指定将图像(比如拍摄得到的全景图像)存储在内部存储器121还是外部存储器中。比如,电子设备当前与外部存储器连接时,若电子设备拍摄得到一个全景图像时,可以弹出提示信息,以提示用户将全景图像存储在外部存储器还是内部存储器121;当然,还有其它的指定方式,本申请实施例不作限定;或者,电子设备检测到内部存储器121的内存量小于预设量时,可以自动将全景图像存储在外部存储器中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据、电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universal flash storage,UFS)等。
传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
另外,电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能,例如音乐播放,录音等。按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。电子设备可以接收按键190输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。电子设备可以利用马达191产生振动提示(比如来电振动提示)。电子设备中的指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。电子设备中的SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。
可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面对本申请实施例所涉及的电子设备的软件结构进行描述。
本申请实施例中电子设备的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构、或云架构。本申请实施例以分层架构的Android操作系统为例,示例性说明电子设备的软件结构。当然,在其他操作系统中(例如鸿蒙系统、Linux系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
具体的,图4示出了本申请实施例的电子设备的一种软件结构框图,该电子设备可以为第一电子设备,或者也可以为第二电子设备。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层、应用程序框架(framework,FWK)层、安卓运行时(android runtime)和系统库、硬件抽象层(hardware abstract layer,HAL)以及内核层。下面分别对各层进行详细描述。
(1)应用程序层可以包括一系列应用程序包。如图4所示,应用程序层中可以安装通话、备忘录、浏览器、联系人、图库、日历、地图、蓝牙、音乐、视频、短信息等应用(application,APP)。
在本申请实施例中,应用程序层中可以安装具有拍摄功能的应用,例如相机(camera)应用。相机应用处于整个相机系统框架的顶端,承担着与用户直接进行交互的责任,承接来自用户直接或者间接的比如预览/拍摄/录像等一系列具体的控制指令(或者说控制命令)。当接收到用户相关用户界面(user interface,UI)的操作后,便会通过应用编程接口(application programming interface,API)(比如camera API v2)将控制指令发送至相机框架(camera framework),并且等待相机框架的回传处理结果,其中包括图像数据,之后相机应用可以将结果以一定方式反馈给用户,比如在显示屏上显示图像。当然,其他应用需要使用拍摄功能时,也可以调用相机应用实现拍摄功能。
(2)应用程序框架层为应用程序层的应用提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。如图4所示,应用程序框架层可以包括窗口管理器、内容提供器、视图系统、资源管理器、通知管理器等,本申请实施例对此不做限制。其中,上述窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。上述内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。上述视图系统可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件组成。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微件(Widget)等界面元素。上述资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。上述通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
在本申请实施例中,应用程序框架层可以包括相机框架。相机框架封装了cameraAPI v2的实现细节,提供给相机应用进行调用,进而接收来自相机应用的控制指令,同时维护着该控制指令在内部流转的业务逻辑,最终通过调用接口(比如camera Android接口定义语言(Android interface definition language,AIDL)接口)将控制指令发送至相机服务(camera service)进行处理,并等待相机服务的回传处理结果,进而将最终结果发送至相机应用。
(3)Android runtime包括核心库和虚拟机,Android runtime负责安卓系统的调度和管理。其中,核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块,例如:表面管理器(surface manager),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
在本申请实施例中,系统库中可以包括相机服务。相机服务封装了camera AIDL接口的实现细节,提供给相机框架进行调用,进而接收来自相机框架的控制指令,同时内部维护着该控制指令在该层的处理逻辑,最终通过调用接口(比如camera HAL3)将控制指令下发到相机HAL中,并且等待结果的回传,进而将结果上传至相机框架中。
(4)硬件抽象层是硬件和软件之间的一个过渡层,它的作用是硬件变更带来的改动都在此过渡层中来适配,以达到上层业务软件对于硬件变更无感知或只需少量改动即可在新的硬件平台上运行的目的。
在本申请实施例中,硬件抽象层可以包括相机HAL,相机HAL封装了camera HAL3接口的实现细节,提供给相机服务进行调用,接收来自相机服务的控制指令。进一步地,相机HAL接收到来自相机服务的控制指令后,可以将控制指令下发至相机驱动,并且等待相机驱动的结果回传,进而上报给相机服务。
(5)内核层至少包含显示驱动,音频驱动,传感器驱动。
在本申请实施例中,内核层可以包括相机驱动。相机驱动接收到来自相机HAL的控制指令后,可驱动摄像头等硬件设备来采集图像数据,并将采集到的图像数据上报给相机HAL。例如,摄像头可按照一定的帧率,将采集到的每一帧图像数据通过相机驱动传递给相机HAL。
针对于相机应用来说,以上所描述的控制指令在操作系统内部的传递过程可参见图4中控制流的具体传递过程,以及,以上所描述的图像数据在操作系统内部的传递过程可参见图4中数据流的具体传递过程。
下面对本申请实施例适用的应用场景进行描述。
图5A为本申请实施例适用的一种可能的应用场景的示意图,该应用场景中包括第一电子设备、至少一个第二电子设备(比如第二电子设备1、第二电子设备2),应理解:为了描述方便,本申请实施例中在第一电子设备与其他具有摄像头的电子设备连接并拍摄全景图像的时候,其他具有摄像头的电子设备都可以称为第二电子设备。
在该应用场景中,如图5B所示,可在第一电子设备的应用程序层中预先安装用于实现分布式拍摄功能的设备虚拟化(device virtualization,DV)应用。DV应用可作为系统应用常驻在第一电子设备中运行,或者,也可将DV应用实现的功能以系统服务的形式常驻在第一电子设备中运行。以及,可在第二电子设备的应用程序层预先安装用于实现分布式拍摄功能的代理应用。
当第一电子设备需要使用其他电子设备(比如至少一个第二电子设备,此处以一个第二电子设备为例进行描述)的摄像头实现分布式拍摄功能时,第一电子设备的DV应用可将第二电子设备作为第一电子设备的从设备与第一电子设备建立连接。如图5B所示,当第一电子设备与第二电子设备建立连接时,可以触发第二电子设备启动代理应用。进一步地,第一电子设备的DV应用可基于该连接获取第二电子设备的拍摄能力参数,该拍摄能力参数用于指示第二电子设备的拍摄能力。例如,该拍摄能力参数中可以包括第二电子设备支持的具体图像处理算法、第二电子设备中摄像头的相关硬件参数等。进而,第一电子设备的DV应用可调用HAL的预设接口,向预设接口中输入获取到的拍摄能力参数,从而在HAL中创建与第二电子设备对应的HAL。
本申请实施例中可将第一电子设备的DV应用按照第二电子设备的拍摄能力参数创建的HAL称为DMSDP(distributed mobile sensing development platform,分布式移动传感开发平台)HAL,也可称为虚拟相机HAL。与第一电子设备中传统的相机HAL不同的是,虚拟相机HAL并不与第一电子设备实际的硬件设备相对应,而是与第一电子设备当前连接的第二电子设备对应。第一电子设备可作为主设备通过虚拟相机HAL与第二电子设备的代理应用进行控制指令(或图像数据)的传输,从而将第二电子设备作为第一电子设备的一个虚拟设备,与第二电子设备协同完成分布式拍摄场景中的各项业务。
此外,第一电子设备的DV应用除了在HAL中为第二电子设备创建对应的虚拟相机HAL之外,还可以将第二电子设备的拍摄能力参数发送至第一电子设备的相机服务进行保存,也即在相机服务中注册当前第二电子设备的拍摄能力。后续,当第一电子设备运行相机应用时,相机服务能够根据相机应用下发的控制指令(例如预览/拍摄/录像等控制指令),结合第二电子设备的拍摄能力实时确定拍摄过程中的拍摄策略。进而,相机服务可通过虚拟相机HAL向第二电子设备发送与拍摄策略对应的控制指令。
图6为本申请实施例适用的又一种可能的应用场景的示意图,该应用场景中包括第一电子设备、至少一个第二电子设备(比如第二电子设备1、第二电子设备2)和云服务器。其中,云服务器200可以包括一台或多台台式计算机,具体不做限定。
第一电子设备可以和云服务器进行通信,第二电子设备也可以和云服务器进行通信。示例性地,第一电子设备(或第二电子设备)可以通过移动通信网络和云服务器进行通信。移动通信网络可以为2G,3G,4G,5G或后续标准协议所定义的移动通信网络,具体不做限定。此外,第一电子设备可以通过云服务器与第二电子设备进行通信,比如第一电子设备通过云服务器向第二电子设备发送控制命令(如预览命令、拍摄命令等),具体来说,第一电子设备将控制命令发送给云服务器,云服务器接收到控制命令后,可以将控制命令发送给第二电子设备。
针对于该应用场景,在一种可能的实现方式中,多个电子设备(比如第一电子设备、至少一个第二电子设备)可以向云服务器进行注册,以第二电子设备1的注册过程为例,第二电子设备1可以向云服务器发送第二电子设备1的注册信息,注册信息包括第二电子设备1的能力信息(比如是否具有拍摄功能)、第二电子设备1的标识,第二电子设备1的标识可以为第二电子设备1的设备序列号,具体不做限定。如此,云服务器接收到第二电子设备1的注册信息后,可以存储第二电子设备1的注册信息。当第一电子设备需要使用其他电子设备的摄像头实现分布式拍摄功能(比如第一电子设备进入了全景模式)时,第一电子设备可以向云服务器发送查询请求,查询请求用于查询具有拍摄功能的电子设备,进而云服务器可以将具有拍摄功能的电子设备(这些电子设备可以理解为候选电子设备)的标识反馈给第一电子设备;进而,第一电子设备可以从候选电子设备中选择至少一个第二电子设备,或者,也可以由用户手动从候选电子设备中选择至少一个第二电子设备,具体不做限定。此种情形下,第一电子设备通过云服务器向第二电子设备发送控制命令,具体可以为:第一电子设备向云服务器发送控制命令和第二电子设备的标识,进而云服务器可以根据第二电子设备的标识,将控制命令发送给第二电子设备。
在又一种可能的实现方式中,云服务器中可以记录电子设备登录的账号以及电子设备是否具有拍摄功能。此种情形下,第一电子设备通过云服务器向第二电子设备发送控制命令,具体可以为:第一电子设备向云服务器发送控制命令,云服务器接收到控制命令后,可以查询与第一电子设备登录同一账号,且具有拍摄功能的第二电子设备,进而向第二电子设备发送控制命令。
需要说明的是,在图6所示意的应用场景中,由于第一电子设备与第二电子设备不是直接通信,而是通过云服务器进行通信,因此,第一电子设备的应用程序层中可以不安装DV应用,当然也可以安装DV应用,第二电子设备的应用程序层中可以不安装代理应用,当然也可以安装代理应用,本申请实施例具体不做限定。
基于上述描述,下面结合实施例一和实施例二对本申请实施例提供的全景图像的拍摄方法进行详细描述。
实施例一
在实施例一中,将基于图5A所示意的应用场景,描述一种可能的实现流程。
图7为本申请实施例一提供的全景图像的拍摄方法所对应的流程示意图。为便于描述,图7中将以第一电子设备与一个第二电子设备之间的交互为例进行描述,该流程也可以扩展到第一电子设备与多个第二电子设备之间的交互。如图7所示,该流程可以包括:
S701,第一电子设备检测到用于启动相机应用的操作(称为操作1)。
示例性地,第一电子设备的显示屏194显示主界面,主界面中包括各个应用程序的图标(比如相机应用图标)。第一电子设备通过设置于显示屏194上的触摸传感器180K检测用户在显示屏194上的操作,操作1可以是点击主界面中的相机应用图标的操作,参见图8中的(a)所示。当然,操作1还可以是其它可能的操作,比如在锁屏界面上滑的操作或者长按音量键的操作等,只要是能够启动相机应用的操作即可,本申请实施例不作限定。
S702,响应于操作1,第一电子设备启动相机应用,进入普通拍摄模式,并在取景界面显示预览图像,参见图8中的(b)所示。
此处,由于是普通拍摄模式,因此取景界面中显示的预览图像可以如图8中的(b)所示,此种情形下,预览图像不是全景图像。
S703,第一电子设备检测到用于进入全景模式的操作(称为操作2)。
示例性地,第一电子设备通过设置于显示屏194上的触摸传感器180K检测用户在显示屏194上的操作,操作2可以是点击“全景”的操作,参见图8中的(b)所示。可选的,操作2也包括语音指令或悬浮操作。
S704,响应于操作2,第一电子设备与第二电子设备建立连接。
作为一种可能的实现,响应于操作2,第一电子设备可以在显示屏上可以显示如图8中的(c)所示意的界面,该界面中可以包括一个或多个选项(比如“是否搜索其它设备”选项)。若用户触发“是”,则第一电子设备的DV应用可以触发第一电子设备搜索其他电子设备,并在搜索完毕后,显示如图8中的(d)所示意的界面,该界面中可以包括搜索到的其他电子设备(这些电子设备可以称为候选电子设备)的标识,比如第二电子设备的标识。示例性地,第二电子设备的标识可以包括第二电子设备的品牌信息、系列信息,或者也可以包括其它用于标识第二电子设备的信息,具体不做限定。若用户触发“第二电子设备的标识”,即用户从一个或多个候选电子设备中选择了第二电子设备,则第一电子设备可以与第二电子设备建立连接。
(1)针对上述搜索过程,第一电子设备可以通过蓝牙(或其他可能的方式,比如Wi-Fi,移动通信网络(例如2G,3G,4G,5G或后续标准协议所定义的移动通信网络),近距离通信协议(例如NFC)连接,红外线连接,超宽带(ultra wideband,UWB)连接,ZigBee(紫峰协议)来搜索其他电子设备,若第一电子设备通过蓝牙发现第二电子设备,则第一电子设备可以将第二电子设备作为候选电子设备。
或者,第一电子设备可以搜索与第一电子设备位于同一Wi-Fi网络中的电子设备。比如,第一电子设备可向同一Wi-Fi网络中的各个电子设备发送查询请求,触发接收到查询请求的电子设备向第一电子设备发送响应消息,响应消息中可以指示自身是否具有拍摄功能。那么,第一电子设备可以根据接收到的响应消息确定出当前Wi-Fi网络中具有拍摄功能的电子设备。进而,第一电子设备可将具有拍摄功能的电子设备作为候选电子设备。
又或者,可以在服务器中记录每个电子设备登录的账号以及每个电子设备是否具有拍摄功能。如此,第一电子设备可以在服务器中查询与第一电子设备登录同一账号(例如华为账号)的具有拍摄功能的电子设备。进而,第一电子设备可将查询到的电子设备作为候选电子设备。
又或者,第一电子设备中可安装用于管理家庭内智能家居设备(例如电视等)的应用。以智能家居应用举例,用户可以在智能家居应用中添加一个或多个智能家居设备,使得用户添加的智能家居设备与第一电子设备建立关联。例如,智能家居设备上可以设置包含设备标识等设备信息的二维码,用户使用第一电子设备的智能家居应用扫描该二维码后,可将对应的智能家居设备添加至智能家居应用中,从而建立智能家居设备与第一电子设备的关联关系。在本申请实施例中,当智能家居应用中添加的一个或多个智能家居设备上线时,例如,当第一电子设备检测到已添加智能家居设备发送的Wi-Fi信号时,第一电子设备可将该智能家居设备作为候选电子设备,并提示用户选择使用相应的智能家居设备与第一电子设备来拍摄全景图像。
可以理解地,第一电子设备也可以通过其他可能的方式来搜索其他电子设备,本申请实施例对第一电子设备搜索其他电子设备的具体实现可以不做限定。
(2)针对于上述连接建立过程,第一电子设备可以通过蓝牙与第二电子设备建立连接,或者,也可以通过Wi-Fi与第二电子设备建立连接。考虑到蓝牙的传输能力有限,为更好地实现第一电子设备和第二电子设备之间的通信,本申请实施例中将以第一电子设备通过Wi-Fi与第二电子设备建立连接为例进行描述。应理解,第一电子设备与第二电子设备之间建立的连接还可包括但不限于短距离无线连接(该短距离无线连接包括但不限于NFC连接,红外线连接,超宽带连接等)和移动通信网络连接(该移动通信网络包括但不限于支持2G,3G,4G,5G以及后续标准协议的移动通信网络)。
需要说明的是,上述S701至S704为一种可能的实现流程,在其它可能的实施例中,第一电子设备检测到用户触发图8中的(c)中所示意的功能按钮“是”后,第一电子设备可按照上述方法搜索具有拍摄功能的一个或多个电子设备。进而,手机可自动与搜索到的各个候选电子设备建立连接,并执行下述方法流程。此时,无需用户手动选择与第一电子设备建立连接的具体设备,第一电子设备也无需显示图8中的(d)所示意的界面。
或者,在用户触发搜索具有拍摄功能的电子设备之前,第一电子设备可能已经与一个或多个具有拍摄功能的电子设备建立了连接。例如,在用户点击图8中的(c)所示意的功能按钮“是”之前,第一电子设备已经与第二电子设备建立了蓝牙连接。后续,第一电子设备如果检测到用户点击功能按钮“是”,则第一电子设备可以不再执行搜索具有拍摄功能的电子设备以及与搜索到的电子设备建立连接的流程,而是执行下述方法流程。此时,无需用户手动选择与第一电子设备建立连接的具体设备,第一电子设备也无需显示图8中的(d)所示意的界面。
又或者,在用户打开相机应用的全景模式(即执行操作2)之前,第一电子设备可能已经与一个或多个具有拍摄功能的电子设备建立了连接。例如,在用户打开第一电子设备的相机应用的全景模式之前,第一电子设备已经与第二电子设备建立了蓝牙连接。进而,第一电子设备在检测到用户打开相机应用后,可自动进入相机应用的全景模式,并执行下述方法流程。此时,无需用户手动开启全景模式,也无需用户手动选择与第一电子设备建立连接的具体设备,第一电子设备也无需显示图8中的(c)和(d)所示意的界面。
进一步地,第一电子设备和第二电子设备可以执行S705,其中,S705可以包括S705a、S705b、S705c、S705d和S705e。
S705a,第一电子设备获取预览图像数据流1,预览图像数据流1中包括k个第一预览图像,k为不小于1的整数。
S705b,第一电子设备向第二电子设备发送预览命令,相应地,第二电子设备接收到预览命令后,可以获取预览图像数据流2,预览图像数据流2中包括k个第二预览图像。
S705c,第二电子设备向第一电子设备发送预览图像数据流2,相应地,第一电子设备可以接收预览图像数据流2。
需要说明的是,上述S705a中第一电子设备获取的预览图像数据流1中的每个第一预览图像可以携带有时间信息(或时间戳),该时间信息用于指示第一预览图像的拍摄时间或采集时间。以及,上述S705c中第二电子设备发送给第一电子设备的预览图像数据流2中的每个第二预览图像也可以携带有时间信息,该时间信息用于指示第二预览图像的拍摄时间或采集时间。
S705d,第一电子设备对预览图像数据流1和预览图像数据流2中的图像进行帧同步,并对帧同步后的两个预览图像进行拼接,得到n个预览全景图像。
比如,预览图像数据流1包括第一预览图像1、第一预览图像2、第一预览图像3,预览图像数据流2包括第二预览图像1、第二预览图像2、第二预览图像3;其中,第一预览图像1的拍摄时间为t1,第一预览图像2的拍摄时间为t2,第一预览图像3的拍摄时间为t3;第二预览图像1的拍摄时间为t1,第二预览图像2的拍摄时间为t2,第二预览图像3的拍摄时间为t3。由于第一预览图像1的拍摄时间和第二预览图像1的拍摄时间相同(应理解,此处的拍摄时间相同并非是绝对相同,比如当二者的拍摄时间的差异在一定的范围之内时,均可以理解为拍摄时间相同),因此,第一电子设备可以认为第一预览图像1和第二预览图像1为帧同步的两个预览图像,进而针对第一预览图像1和第二预览图像1建立关联关系,以及可以针对第一预览图像2和第二预览图像2建立关联关系,针对第一预览图像3和第二预览图像3建立关联关系。进一步地,第一电子设备可以对第一预览图像1和第二预览图像1进行拼接,得到预览全景图像1;对第一预览图像2和第二预览图像2进行拼接,得到预览全景图像2;以及,对第一预览图像3和第二预览图像3进行拼接,得到预览全景图像3。
S705e,第一电子设备进入全景模式,并在取景界面显示n个预览全景图像。示例性地,第一电子设备可以在取景界面上实时显示n个预览全景图像,应理解n小于或等于k,且n为大于或等于1的整数。
需要说明的是,上述图8中的(b)和(e)所示意的预览图像仅为简单示例,具体实施中,预览图像可以填满整个取景界面,或者也可以占用取景界面中的一部分界面,具体不做限定。
S706,第一电子设备检测到用于拍摄全景图像的操作(称为操作3)。
示例性地,第一电子设备通过设置于显示屏194上的触摸传感器180K检测用户在显示屏194上的操作,操作3可以是点击快门图标的操作,参见图8中的(f)所示。
响应于操作3,第一电子设备和第二电子设备可以执行S707,其中,S707可以包括S707a、S707b、S707c、S707d和S707e。
S707a,第一电子设备获取m个第一图像,m为不小于1的整数。
此处,第一电子设备检测到用户执行了一次操作3后,第一电子设备的相机应用可以下发至少一次拍摄命令,进而第一电子设备可以获取m个第一图像,比如至少一次拍摄命令包括拍摄命令1、拍摄命令2、……、拍摄命令m,m个第一图像包括第一图像1、第一图像2、……、第一图像m。其中,一次拍摄命令可以对应一个第二图像。
S707b,第一电子设备向第二电子设备发送至少一次拍摄命令,相应地,第二电子设备根据至少一次拍摄命令获取m个第二图像。
此处,第一电子设备检测到用户执行了一次操作3后,第一电子设备的相机应用可以下发至少一次拍摄命令,如此,第一电子设备可以向第二电子设备发送至少一次拍摄命令,至少一次拍摄命令可以包括拍摄命令1、拍摄命令2、……、拍摄命令m。第二电子设备接收到至少一次拍摄命令后,可以获取m个第二图像,第二图像可以包括第二图像1、第二图像2、……、第二图像m。其中,一次拍摄命令可以对应一个第二图像。
S707c,第二电子设备向第一电子设备发送m个第二图像,相应地,第一电子设备可以接收m个第二图像。
需要说明的是,上述S707a中第一电子设备获取的每个第一图像可以携带有时间信息,该时间信息用于指示第一图像的拍摄时间。以及,上述S707c中第二电子设备发送给第一电子设备的每个第二图像也可以携带有时间信息,该时间信息用于指示第二图像的拍摄时间。
S707d,第一电子设备对m个第一图像和m个第二图像进行帧同步,并对帧同步的两个图像进行拼接,得到m个全景图像。进一步地,第一电子设备可以根据拼接全景图像时获取的两个图像的特征匹配值,从m个全景图像中选择一个目标全景图像。
应理解,此处第一电子设备获取到的第一图像和第二图像的个数是相同的,可选的,也可能不相同(比如第二电子设备在向第一电子设备传输m个第二图像时,可能出现某一个或某几个第二图像传输失败的情形,进而导致第二电子设备拍摄了m个第二图像,但传输给第一电子设备的第二图像少于m个)。
以第一电子设备获取到m个第一图像和m个第二图像为例,比如,m个第一图像包括第一图像1、第一图像2、第一图像3,m个第二图像包括第二图像1、第二图像2、第二图像3;其中,第一图像1的拍摄时间为t1,第一图像2的拍摄时间为t2,第一图像3的拍摄时间为t3;第二图像1的拍摄时间为t1,第二图像2的拍摄时间为t2,第二图像3的拍摄时间为t3。由于第一图像1的拍摄时间和第二图像1的拍摄时间相同(应理解,此处的拍摄时间相同并非是绝对相同,比如当二者的拍摄时间的差异在一定的范围之内时,均可以理解为拍摄时间相同),因此,第一电子设备可以认为第一图像1和第二图像1为帧同步的两个图像,进而针对第一图像1和第二图像1建立关联关系,以及可以针对第一图像2和第二图像2建立关联关系,针对第一图像3和第二图像3建立关联关系。进一步地,第一电子设备可以对第一图像1和第二图像1进行拼接,得到全景图像1;对第一图像2和第二图像2进行拼接,得到全景图像2;以及,对第一图像3和第二图像3进行拼接,得到全景图像3。
进一步地,在第一电子设备对帧同步的两个图像进行拼接时,可以根据预设算法计算得到两个图像的特征匹配值,特征匹配值可以表征两个图像的拼接效果,比如特征匹配值越高说明两个图像的拼接效果越好。比如,在对第一图像1和第二图像1进行拼接时,可以得到第一图像1和第二图像1的特征匹配值(或者说全景图像1对应的特征匹配值)。如此,第一电子设备可以根据全景图像1、全景图像2和全景图像3对应的特征匹配值,选择特征匹配值最高的全景图像作为目标全景图像。或者,第一电子设备也可以从特征匹配值大于或等于第一阈值的全景图像中选择一个全景图像作为目标全景图像。其中,第一阈值可以根据实际需要进行设置。
上述是以第一电子设备根据全景图像对应的特征匹配值来确定目标全景图像为例进行描述的,在其它可能的实施例中,第一电子设备也可以依据其它参数来确定目标全景图像,本申请实施例对此不做限定。
需要说明的是,若第一电子设备获取到m个第一图像和f个第二图像的个数,比如m个第一图像包括第一图像1、第一图像2、第一图像3,f个第二图像包括第二图像1、第二图像2;其中,第一图像1和第二图像1为帧同步的两个图像,第一图像2和第二图像2为帧同步的两个图像,第一图像3没有帧同步的第二图像,则第一电子设备可以丢弃第一图像3,并对第一图像1和第二图像1进行拼接,得到全景图像1;以及对第一图像2和第二图像2进行拼接,得到全景图像2。进而,可以根据全景图像1和全景图像2对应的特征匹配值选择目标全景图像。
S707e,第一电子设备显示目标全景图像,参见图8中的(g)所示。
示例性地,第一电子设备可以在检测到用户点击功能按钮“保存”后,将目标全景图像保存到第一电子设备的存储器中。
在其它可能的实施例中,第一电子设备在获得目标全景图像后,也可以自动保存,而无需用户手动执行保存操作;可选地,在用户执行查看操作后,第一电子设备显示目标全景图像。
需要说明的是:(1)S707中拍摄得到全景图像与S705中的预览全景图像可能是相同,或者可能是不相同的,具体不做限定。
(2)本申请实施例对显示目标全景图像的方式不做限定,比如在其它可能的实施例中,参见图8中的(h)所示,显示界面上可以包括多个窗口,比如显示界面上包括三个窗口,分别为窗口1、窗口2和窗口3,其中,窗口1用于显示第一电子设备拍摄得到的第一图像,窗口2用于显示第二电子设备拍摄得到的第二图像,窗口3用于显示拼接得到的目标全景图像。或者,显示界面所包括的窗口个数可以与参与分布式拍摄的设备的个数相同,比如参与分布式拍摄的设备包括第一电子设备和第二电子设备,则显示界面可以显示两个窗口,其中一个窗口用于显示第一电子设备拍摄得到的第一图像,另一个窗口用于显示第二电子设备拍摄得到的第二图像,而目标全景图像可以显示在另一界面上,用户可以通过滑动屏幕来查看显示在另一界面上的目标全景图像。或者,显示界面所包括的窗口个数可以大于参与分布式拍摄的设备的个数,例如,参与分布式拍摄的设备包括第一电子设备和第二电子设备,则显示界面可以显示三个窗口(参见图8中的(h)),其中一个窗口用于显示第一电子设备拍摄得到的第一图像,另一个窗口用于显示第二电子设备拍摄得到的第二图像,再一个窗口显示目标全景图像。
可以理解地,本申请实施例对上述显示预览图像的方式也可以不做限定,比如也可以采用类似图8中的(h)所示意的方式,即取景界面可以包括三个窗口,分别为窗口1、窗口2和窗口3,在窗口1显示第一电子设备拍摄得到的第一预览图像,在窗口2显示第二电子设备拍摄得到的第二预览图像,以及在窗口3显示拼接得到的预览全景图像。
(3)本申请实施例中的目标全景图像是针对某一场景来说的,该场景中的画面可以是静止画面,或者也可以是非静止画面。比如目标全景图像是根据至少一个第一图像中的第一目标图像和至少一个第二图像中的第二目标图像拼接得到的,则第一目标图像可以是针对目标场景的一部分画面(称为第一画面)进行拍摄得到的,第二目标图像是针对目标场景的另一部分画面(称为第二画面)进行拍摄得到的。其中,第一画面和第二画面可以存在部分重叠(比如第一画面包括人物1、人物2和人物3,第二画面包括人物2、人物3和人物4),或者第一画面和第二画面是相邻且不重叠的(比如第一画面包括人物1和人物2,第二画面包括人物3和人物4),具体不做限定。
采用上述方法,可以使用多个电子设备(比如上述第一电子设备和第二电子设备)来分别拍摄多个图像,进而拼接得到全景图像。其中一个电子设备为主控电子设备,其它电子设备为从电子设备,由主控电子设备控制从电子设备执行拍摄操作,使得多个设备可以在同一时间进行拍摄,从而可以适用拍摄静止画面的场景和拍摄非静止画面的场景。此外,一方面,用户执行一次操作(比如上述操作3),即可获取到全景图像,相比于上述单设备拍摄需要用户进行多次拍摄来获得全景图像的方式来说,能够有效提高用户体验。又一方面,由于可以使用多个电子设备来拍摄多个图像,从而能够拍摄角度更大的全景图像,充分满足用户的需求。又一方面,由于还可以使用多个电子设备来分别获取预览图像数据流,以及在主控电子设备的取景界面显示预览全景图像,从而使得用户可以通过观看预览全景图像,确定合适的拍摄时机。又一方面,由于可以通过主控电子设备的相机应用来对多个图像进行拼接得到全景图像,从而使得耗时较短,响应较快。
基于图4和图5B所示意的软件结构,下面结合图9对上述S705的实现进行描述。如图9所示,S705的实现可以包括两个阶段,分别为阶段一和阶段二,阶段一为预览命令传输阶段;阶段二为预览图像数据流传输阶段。
(1)阶段一
针对于第一电子设备:第一电子设备中的相机应用可以向相机框架发送预览命令,比如相机应用通过调用camera API v2向相机框架发送预览命令。相机框架接收到预览命令后,可以向相机服务发送预览命令,比如相机框架通过调用camera AIDL接口向相机服务发送预览命令。相机服务接收到预览命令后,可以向相机HAL发送预览命令,以及向虚拟相机HAL发送预览命令。相机HAL接收到预览命令后,可以向相机驱动发送预览命令,进而相机驱动接收到预览命令后,可以调用摄像头采集预览图像数据流(称为预览图像数据流1)。虚拟相机HAL接收到预览命令后,可以向第二电子设备的代理应用发送预览命令。
针对于第二电子设备:第二电子设备的代理应用接收到预览命令后,可以向第二电子设备的相机框架发送预览命令。第二电子设备的相机框架接收到预览命令后,可以向相机服务发送预览命令。相机服务接收到预览命令后,可以向相机HAL发送预览命令。相机HAL接收到预览命令后,可以向相机驱动发送预览命令,进而相机驱动接收到预览命令后,可以调用摄像头采集预览图像数据流(称为预览图像数据流2)。
(2)阶段二
针对于第二电子设备:第二电子设备中的相机HAL获取预览图像数据流2,并将预览图像数据流2发送给相机服务。相机服务接收到预览图像数据流2后,将预览图像数据流2发送给相机框架。相机框架接收到预览图像数据流2后,可以向第二电子设备的代理应用发送预览图像数据流2。第二电子设备的代理应用接收到预览图像数据流2后,可以向第一电子设备的虚拟相机HAL发送预览图像数据流2。
针对于第一电子设备:第一电子设备的相机HAL获取预览图像数据流1,并将预览图像数据流1发送给相机服务。第一电子设备的虚拟相机HAL接收到预览图像数据流2后,可以将预览图像数据流2发送给相机服务。相机服务接收到预览图像数据流1和预览图像数据流2后,可以将预览图像数据流1和预览图像数据流2发送给相机框架。相机框架接收到预览图像数据流1和预览图像数据流2后,可以根据预览图像数据流1中每个预览图像(一个预览图像可以理解为一个帧)的时间信息以及预览图像数据流2中每个预览图像的时间信息进行帧同步。相机框架将帧同步后的预览图像数据流1和预览图像数据流2发送给相机应用。相机应用接收到帧同步后的预览图像数据流1和预览图像数据流2后,针对帧同步的两个预览图像(比如第一预览图像1和第二预览图像1),可以采用全景图像拼接算法进行拼接得到预览全景图像(比如预览全景图像1),进而在取景界面显示预览全景图像1。
作为一种可能的实现,相机应用在采用全景图像拼接算法对第一预览图像1和第二预览图像1进行拼接时,可以计算得到第一预览图像1和第二预览图像1的特征匹配值,若确定第一预览图像1和第二预览图像1的特征匹配值小于第二阈值,则可以显示提示信息,该提示信息可以用于提示用户调整第一电子设备和/或第二电子设备的拍摄角度和/或位置。其中,第二阈值可以根据实际需要进行设置。
需要说明的是:上述是以相机框架执行帧同步为例进行描述的,在其它可能的实施例中,也可以由其它模块执行帧同步。比如,可以由相机服务执行帧同步,或者也可以由相机应用执行帧同步,本申请实施例中对执行帧同步的模块可以不做限定。
基于图4和图5B所示意的软件结构,下面结合图10对上述S707的实现进行描述。如图9所示,S707的实现可以包括两个阶段,分别为阶段一和阶段二,阶段一为拍摄命令传输阶段;阶段二为图像传输阶段。
(1)阶段一
针对于第一电子设备:第一电子设备中的相机应用可以向相机框架发送至少一次拍摄命令,比如拍摄命令1、拍摄命令2、……、拍摄命令n,此处以拍摄命令1为例进行描述。相机框架接收到拍摄命令1后,可以向相机服务发送拍摄命令1。相机服务接收到拍摄命令1后,可以向相机HAL发送拍摄命令1,以及向虚拟相机HAL发送拍摄命令1。相机HAL接收到拍摄命令1后,可以向相机驱动发送拍摄命令1,进而相机驱动接收到拍摄命令1后,可以调用摄像头采集第一图像1(对应拍摄命令1)。虚拟相机HAL接收到拍摄命令1后,可以向第二电子设备的代理应用发送拍摄命令1。
针对于第二电子设备:第二电子设备的代理应用接收到拍摄命令1后,可以向第二电子设备的相机框架发送拍摄命令1。第二电子设备的相机框架接收到拍摄命令1后,可以向相机服务发送拍摄命令1。相机服务接收到拍摄命令1后,可以向相机HAL发送拍摄命令1。相机HAL接收到拍摄命令1后,可以向相机驱动发送拍摄命令1,进而相机驱动接收到拍摄命令1后,可以调用摄像头采集第二图像1(对应拍摄命令1)。
(2)阶段二
针对于第二电子设备:第二电子设备中的相机HAL获取m个第二图像(比如拍摄命令1对应的第二图像1、拍摄命令2对应的第二图像2、……、拍摄命令m对应的第二图像m,图10中是以第二图像1为例进行示意的),并将m个第二图像发送给相机服务;相机服务接收到m个第二图像后,将m个第二图像发送给相机框架;相机框架接收到m个第二图像后,可以向第二电子设备的代理应用发送m个第二图像,第二电子设备的代理应用接收到m个第二图像后,可以向第一电子设备的虚拟相机HAL发送m个第二图像。
针对于第一电子设备:第一电子设备中的相机HAL获取m个第一图像(比如拍摄命令1对应的第一图像1、拍摄命令2对应的第一图像2、……、拍摄命令m对应的第一图像m,图10中是以第一图像1为例进行示意的),并将m个第一图像发送给相机服务;相机服务接收到m个第一图像后,将m个第一图像发送给相机框架;相机框架接收到m个第一图像后可以将m个第一图像放入缓存队列。以及,第一电子设备中的虚拟相机HAL接收m个第二图像后,可以将m个第二图像发送给相机服务。相机服务接收到m个第二图像后,将m个第二图像发送给相机框架。进一步地,相机框架对m个第一图像和m个第二图像进行帧同步。相机框架将帧同步的m个第一图像和m个第二图像发送给相机应用。相机应用可以对帧同步的两个图像进行拼接得到全景图像。进一步地,相机应用在对两个图像进行拼接时,可以得到两个图像的特征匹配值,并根据特征匹配值确定目标全景图像,进而显示目标全景图像。
实施例二
在实施例二中,将基于上述图6所示意的应用场景,描述一种可能的实现流程。
图11为本申请实施例二提供的全景图像的拍摄方法所对应的流程示意图。为便于描述,图11中将以第一电子设备与一个第二电子设备之间的交互为例进行描述,该流程也可以扩展到第一电子设备与多个第二电子设备之间的交互。如图11所示,该流程可以包括:
S1101,第一电子设备检测到用于启动相机应用的操作(称为操作1),参见图8中的(a)所示。
S1102,响应于操作1,第一电子设备启动相机应用,进入普通拍摄模式,并在取景界面显示预览图像,参见图8中的(b)所示。
S1103,第一电子设备检测到用于进入全景模式的操作(称为操作2)。
响应于操作2,第一电子设备、第二电子设备和云服务器可以执行S1104,其中,S1104可以包括S1104a至S1104g。
S1104a,第一电子设备获取预览图像数据流1,预览图像数据流1中包括k个第一预览图像。
S1104b,第一电子设备向云服务器发送预览命令;相应地,云服务器接收到预览命令后,将预览命令发送给第二电子设备。
S1104c,第二电子设备从云服务器接收到预览命令后,可以获取预览图像数据流2,预览图像数据流2中包括k个第二预览图像。
S1104d,第一电子设备向云服务器发送预览图像数据流1,相应地,云服务器可以接收预览图像数据流1。
S1104e,第二电子设备向云服务器发送预览图像数据流2,相应地,云服务器可以接收预览图像数据流2。
S1104f,云服务器对预览图像数据流1和预览图像数据流2中的图像进行帧同步,并对帧同步后的两个图像(比如第一预览图像1和第二预览图像1)进行拼接得到预览全景图像,并将预览全景图像发送给第一电子设备。
示例性地,云服务器可以获取第一预览图像1和第二预览图像1的特征匹配值,若确定第一预览图像1和第二预览图像1的特征匹配值小于第二阈值,则还可以向第一电子设备发送指示信息,指示信息用于指示第一预览图像1和第二预览图像1的特征匹配值小于第二阈值;进而,第一电子设备可以根据指示信息,显示提示信息,提示信息用于提示用户调整所述第一电子设备和/或所述第二电子设备的拍摄角度和/或位置。或者,云服务器也可以将第一预览图像1和第二预览图像1的特征匹配值发送给第一电子设备,进而,第一电子设备确定特征匹配值小于第二阈值后,可以显示提示信息。
S1104g,第一电子设备接收预览全景图像,进入全景模式,并在取景界面显示预览全景图像,参见图8中的(e)所示。
S1105,第一电子设备检测到用于拍摄全景图像的操作(称为操作3)。
响应于操作3,第一电子设备、第二电子设备和云服务器可以执行S1106,其中,S1106可以包括S1106a至S1106f。
S1106a,第一电子设备获取m个第一图像。
S1106b,第一电子设备向云服务器发送至少一次拍摄命令;相应地,云服务器接收到至少一次拍摄命令后,将至少一次拍摄命令发送给第二电子设备。
S1106c,第二电子设备可以接收至少一次拍摄命令,并根据至少一次拍摄命令获取m个第二图像。
S1106d,第一电子设备向云服务器发送m个第一图像,相应地,云服务器可以接收m个第一图像。
S1106e,第二电子设备向云服务器发送m个第二图像,相应地,云服务器可以接收m个第二图像。
S1106f,云服务器对m个第一图像和m个第二图像进行帧同步,并对帧同步的两个图像进行拼接,得到m个全景图像。进一步地,云服务器可以从m个全景图像中选择一个目标全景图像,并将目标全景图像发送给第一电子设备。
S1106g,第一电子设备显示目标全景图像,参见图8中的(g)所示。
需要说明的是,上文中是以云服务器从m个全景图像中选择一个目标全景图像并发送给第一电子设备为例进行描述,在其它可能的实施例中,云服务器也可以将m个全景图像(以及对应的特征匹配值)发送给第一电子设备,由第一电子设备从m个全景图像中选择一个目标全景图像。或者,上文中是以云服务器根据m个第一图像和m个第二图像拼接得到m个全景图像为例进行描述的,在其它可能的实施例中,云服务器接收到第二电子设备发送的m个第二图像后,可以将m个第二图像发送给第一电子设备,进而由第一电子设备根据m个第一图像和m个第二图像拼接得到m个全景图像,并从m个全景图像中选择一个目标全景图像(此种情形下,第一电子设备获取m个第一图像后,可以不发送给云服务器)。类似地,也可以由第一电子设备对预览图像数据流1和预览图像数据流2中的图像进行拼接。
采用上述方法,可以使用多个电子设备(比如上述第一电子设备和第二电子设备)来拍摄多个图像,多个图像可以拼接得到全景图像。其中一个电子设备为主控电子设备,其它电子设备为从电子设备,由主控电子设备控制从电子设备执行拍摄操作,使得多个设备可以在同一时间进行拍摄,从而可以适用拍摄静止画面的场景和拍摄非静止画面的场景;此外,由于可以通过云服务器对多个图像进行拼接得到全景图像,从而能够有效降低主控电子设备的处理负担。
基于图4所示意的软件结构,下面结合图12对上述S1104的实现进行描述。如图12所示,S1104的实现可以包括两个阶段,分别为阶段一和阶段二,阶段一为预览命令传输阶段;阶段二为预览图像数据流传输阶段。
(1)阶段一
针对于第一电子设备:第一电子设备中的相机应用可以向相机框架发送预览命令。相机框架接收到预览命令后,可以向相机服务发送预览命令。相机服务接收到预览命令后,可以向相机HAL发送预览命令。相机HAL接收到预览命令后,可以向相机驱动发送预览命令,进而相机驱动接收到预览命令后,可以调用摄像头采集预览图像数据流(称为预览图像数据流1)。以及,第一电子设备中的相机应用还可以向云服务器发送预览命令。
针对于云服务器:云服务器接收到第一电子设备中的相机应用发送的预览命令后,可以向第二电子设备中的相机应用发送预览命令。
针对于第二电子设备:第二电子设备的相机应用接收到云服务器发送的预览命令后,可以向第二电子设备的相机框架发送预览命令。第二电子设备的相机框架接收到预览命令后,可以向相机服务发送预览命令。相机服务接收到预览命令后,可以向相机HAL发送预览命令。相机HAL接收到预览命令后,可以向相机驱动发送预览命令,进而相机驱动接收到预览命令后,可以调用摄像头采集预览图像数据流(称为预览图像数据流2)。
(2)阶段二
针对于第一电子设备:第一电子设备的相机HAL获取预览图像数据流1,并将预览图像数据流1发送给相机服务。相机服务接收到预览图像数据流1后,将预览图像数据流1发送给相机框架。相机框架接收到预览图像数据流1后,将预览图像数据流1发送给相机应用。相机应用接收到预览图像数据流1后,可以将预览图像数据流1发送给云服务器。
针对于第二电子设备:第二电子设备中的相机HAL获取预览图像数据流2,并将预览图像数据流2发送给相机服务。相机服务接收到预览图像数据流2后,将预览图像数据流2发送给相机框架。相机框架接收到预览图像数据流2后,可以向相机应用发送预览图像数据流2。相机应用接收到预览图像数据流2后,可以向云服务器发送预览图像数据流2。
针对于云服务器:云服务器接收到预览图像数据流1和预览图像数据流2后,可以对预览图像数据流1和预览图像数据流1中的图像进行帧同步。针对帧同步的两个图像(比如第一预览图像1和第二预览图像1),可以采用全景图像拼接算法进行拼接得到预览全景图像,并将预览全景图像发送给第一电子设备,进而第一电子设备可以在显示屏的取景界面显示预览全景图像。
基于图4所示意的软件结构,下面结合图13对上述S1106的实现进行描述。如图13所示,S1106的实现可以包括两个阶段,分别为阶段一和阶段二,阶段一为拍摄命令传输阶段;阶段二为图像传输阶段。
(1)阶段一
针对于第一电子设备:第一电子设备中的相机应用可以向相机框架发送至少一次拍摄命令,比如拍摄命令1、拍摄命令2、……、拍摄命令m,此处以拍摄命令1为例进行描述。相机框架接收到拍摄命令1后,可以向相机服务发送拍摄命令1。相机服务接收到拍摄命令1后,可以向相机HAL发送拍摄命令1。相机HAL接收到拍摄命令1后,可以向相机驱动发送拍摄命令1,进而相机驱动接收到拍摄命令1后,可以调用摄像头采集第一图像1(对应拍摄命令1)。以及,第一电子设备中的相机应用还可以向云服务器发送至少一次拍摄命令,比如拍摄命令1、拍摄命令2、……、拍摄命令m,此处以拍摄命令1为例进行描述。
针对于云服务器:云服务器接收到第一电子设备中的相机应用发送的拍摄命令1后,可以向第二电子设备中的相机应用发送拍摄命令1。
针对于第二电子设备:第二电子设备的相机应用接收到云服务器发送的拍摄命令1后,可以向第二电子设备的相机框架发送拍摄命令1。第二电子设备的相机框架接收到拍摄命令1后,可以向相机服务发送拍摄命令1。相机服务接收到拍摄命令1后,可以向相机HAL发送拍摄命令1。相机HAL接收到拍摄命令1后,可以向相机驱动发送拍摄命令1,进而相机驱动接收到拍摄命令1后,可以调用摄像头采集第二图像1(对应拍摄命令1)。
(2)阶段二
针对于第一电子设备:第一电子设备的相机HAL获取第一图像1,并将第一图像1发送给相机服务。相机服务接收到第一图像1后,将第一图像1发送给相机框架。相机框架接收到第一图像1后,将第一图像1发送给相机应用。相机应用接收到第一图像1后,可以向云服务器发送第一图像1。此外,第一电子设备还可以获取其它第一图像(比如第一图像2、第一图像3、……、第一图像m),并向云服务器发送第一图像2、第一图像3、……、第一图像m。
针对于第二电子设备:第二电子设备中的相机HAL获取第二图像1,并将第二图像1发送给相机服务。相机服务接收到第二图像1后,将第二图像1发送给相机框架。相机框架接收到第二图像1后,可以向相机应用发送第二图像1。相机应用接收到第二图像1后,可以向云服务器发送第二图像1。此外,第二电子设备还可以获取其它第二图像(比如第二图像2、第二图像3、……、第二图像m),并向云服务器发送第二图像2、第二图像3、……、第二图像m。
针对于云服务器:云服务器接收到第一电子设备的相机应用发送的m个第一图像和第二电子设备的相机应用发送的m个第二图像后,可以对m个第一图像和m个第二图像进行帧同步,比如第一图像1和第二图像1帧同步,第一图像2和第二图像2帧同步,以此类推。云服务器可以对帧同步的两个图像进行拼接得到全景图像,比如对第一图像1和第二图像1进行拼接得到全景图像1,对第一图像2和第二图像2进行拼接得到全景图像2,以此类推;如此,云服务器可以得到全景图像1、全景图像2、……全景图像m。进一步地,云服务器在对两个图像进行拼接时,可以得到两个图像的特征匹配值,若确定全景图像1对应的特征匹配值(即第一图像1和第二图像1的特征匹配值)大于或等于其它全景图像(比如全景图像2、……全景图像m)对应的特征匹配值,则可以将全景图像1作为目标全景图像,并发送给第一电子设备。
针对上述实施例一和实施例二,需要说明的是:
(1)上述实施例一和实施例二中是以拍摄全景图像为例进行描述的,本申请实施例中的方法也可以扩展到全景录像的场景,比如第一电子设备检测到用户可以点击全景录像的图标后,第一电子设备的相机应用可以下发录像命令,进而第一电子设备可以拍摄得到数据流1(包括多个图像),以及第二电子设备可以拍摄得到数据流2(包括多个图像),数据流1和数据流2可以拼接得到全景录像数据流(或全景视频流),进而第一电子设备可以播放全景视频。如此,用户在观看演唱会或者足球比赛的时候,可以使用多台设备组成的分布式相机进行录像,进而可以将更宽阔的场景录制进来,进行直播或者记录下来以后观看。
(2)实施例一和实施例二所描述的各个流程图的步骤编号仅为执行流程的一种示例,并不构成对步骤执行的先后顺序的限制,本申请实施例中相互之间没有时序依赖关系的步骤之间没有严格的执行顺序。此外,各个流程图中所示意的步骤并非全部是必须执行的步骤,可以根据实际需要在各个流程图的基础上增添或者删除部分步骤。
(3)上述侧重描述了实施例一和实施例二中不同实施例之间的差异之处,除差异之处的其它内容,实施例一和实施例二之间可以相互参照。
(4)上述实施例一中,第一电子设备与第二电子设备可以通过第一电子设备与第二电子设备之间的连接进行通信,上述实施例二中,第一电子设备与第二电子设备之间通过可以云服务器进行通信。此外,本领域技术人员也可以基于上述实施例一和实施例二进行适应性变形,比如在控制命令(比如预览命令、拍摄命令)传输阶段,第一电子设备和第二电子设备可以通过第一电子设备与第二电子设备之间的连接传输控制命令,而在数据(比如预览图像数据流、拍摄得到的图像)传输阶段,第一电子设备可以将预览图像数据流1(或第一图像1)发送给云服务器,第二电子设备可以将预览图像数据流2(或第二图像1)发送给云服务器,具体不做限定。
(5)上述实施例中是以Android系统为例阐述的各个功能模块之间实现分布式拍摄功能的具体方法,可以理解的是,也可以在其他操作系统(例如鸿蒙系统等)中设置相应的功能模块实现上述方法。只要各个设备和功能模块实现的功能和本申请的实施例类似,即属于本申请权利要求及其等同技术的范围之内。
如图14所示,本申请实施例公开了一种电子设备,该电子设备可以为上述第一电子设备或主电子设备(例如手机)。该电子设备具体可以包括:触摸屏1401,所述触摸屏1401包括触摸传感器1406和显示屏1407;一个或多个处理器1402;存储器1403;通信模块1408;一个或多个摄像头1409;一个或多个应用程序(未示出);以及一个或多个计算机程序1404,上述各器件可以通过一个或多个通信总线1405连接。其中,上述一个或多个计算机程序1404被存储在上述存储器1403中并被配置为被该一个或多个处理器1402执行,该一个或多个计算机程序1404包括指令,该指令可以用于执行上述实施例中第一电子设备执行的相关步骤。
如图15所示,本申请实施例公开了一种电子设备,该电子设备可以为上述第二电子设备或从电子设备(例如手机、智慧大屏、平板电脑、车载设备)。该电子设备具体可以包括:一个或多个处理器1502;存储器1503;通信模块1506;一个或多个应用程序(未示出);一个或多个摄像头1501;以及一个或多个计算机程序1504,上述各器件可以通过一个或多个通信总线1505连接。当然,从设备中也可以设置触摸屏等器件,本申请实施例对此不做任何限制。其中,上述一个或多个计算机程序1504被存储在上述存储器1503中并被配置为被该一个或多个处理器1502执行,该一个或多个计算机程序1504包括指令,该指令可以用于执行上述实施例中从设备执行的相关步骤。
如图16所示,本申请实施例公开了一种云服务器。该云服务器可以包括通信接口1601、处理器1602和存储器1603。进一步地,该云服务器还可以进一步包括总线系统,其中,处理器1602、存储器1603、通信接口1601可以通过总线系统相连。
处理器1602可以是一个芯片。例如,该处理器1602可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specificintegrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是DSP,还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。存储器1603可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。通信接口1601,可以用于输入和/或输出信息。一种可选地实施方案中,当云服务器包括有收发器,则通信接口1601所执行的方法步骤也可以由收发器来执行。
其中,存储器1603用于存储执行本申请实施例的指令。处理器1602用于执行存储器1603中存储的指令,从而实现本申请实施例中提供的方法。或者,可选地,本申请实施例中,也可以是处理器1602执行本申请实施例提供的方法中的处理相关的功能,通信接口1601负责与其他设备或通信网络通信,本申请实施例对此不做具体限定。可选地,本申请实施例中的指令也可以称之为应用程序代码或计算机程序,本申请实施例对此不做具体限定。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。在不冲突的情况下,以上各实施例的方案都可以组合使用。
Claims (12)
1.一种全景图像的拍摄方法,其特征在于,所述方法适用于第一电子设备,所述方法包括:
检测到用于拍摄全景图像的第一操作;
响应于所述第一操作,获取m个第一图像,以及向第二电子设备发送至少一次拍摄命令,以使所述第二电子设备根据所述至少一次拍摄命令获取m个第二图像,m为不小于1的整数;
接收来自于所述第二电子设备的所述m个第二图像;
根据所述m个第一图像和所述m个第二图像,拼接得到m个全景图像;
从所述m个全景图像中,选择一个目标全景图像;其中,所述m个第一图像包括第一目标图像,所述m个第二图像包括第二目标图像,所述目标全景图像是根据所述第一目标图像和所述第二目标图像拼接得到的。
2.根据权利要求1所述的方法,其特征在于,所述第一目标图像和所述第二目标图像的特征匹配值大于或等于第一阈值。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在第一窗口显示所述目标全景图像。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在第二窗口显示所述第一目标图像,以及在第三窗口显示所述第二目标图像;
其中,所述第一窗口、所述第二窗口和所述第三窗口位于同一显示界面。
5.根据权利要求1至4中任一项所述的方法,其特征在于,向第二电子设备发送至少一次拍摄命令,包括:
通过所述第一电子设备与所述第二电子设备之间的连接向所述第二电子设备发送所述至少一次拍摄命令。
6.根据权利要求1至5中任一项所述的方法,其特征在于,根据所述m个第一图像和所述m个第二图像,拼接得到m个全景图像之前,所述方法还包括:
对所述m个第一图像和所述m个第二图像进行帧同步;其中,所述第一目标图像和所述第二目标图像为帧同步的两个图像。
7.根据权利要求1至6中任一项所述的方法,其特征在于,检测到用于拍摄全景图像的第一操作之前,所述方法还包括:
进入全景模式;
获取第一预览图像,以及向所述第二电子设备发送预览命令,以使所述第二电子设备根据所述预览命令获取第二预览图像;
接收来自于所述第二电子设备的所述第二预览图像;
根据所述第一预览图像和所述第二预览图像,拼接得到预览全景图像;
在第一窗口显示所述预览全景图像。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在第二窗口显示所述第一预览图像,以及在第三窗口显示所述第二预览图像;
其中,所述第一窗口、所述第二窗口和所述第三窗口位于同一显示界面。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
获取所述第一预览图像和所述第二预览图像的特征匹配值;
若所述特征匹配值小于第二阈值,则显示提示信息,所述提示信息用于提示用户调整所述第一电子设备和/或所述第二电子设备的拍摄角度和/或位置。
10.根据权利要求7至9中任一项所述的方法,其特征在于,所述进入全景模式,包括:
检测到用于进入所述全景模式的第二操作,响应于所述第二操作,进入所述全景模式;或者,
检测到用于启动所述第一电子设备的相机应用的第三操作,若确定与所述第二电子设备建立有连接,则进入所述全景模式。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个摄像头;
一个或多个处理器;
存储器;
通信模块;
其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110127000.8A CN114827439A (zh) | 2021-01-29 | 2021-01-29 | 一种全景图像的拍摄方法及电子设备 |
PCT/CN2021/141343 WO2022161058A1 (zh) | 2021-01-29 | 2021-12-24 | 一种全景图像的拍摄方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110127000.8A CN114827439A (zh) | 2021-01-29 | 2021-01-29 | 一种全景图像的拍摄方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114827439A true CN114827439A (zh) | 2022-07-29 |
Family
ID=82525760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110127000.8A Pending CN114827439A (zh) | 2021-01-29 | 2021-01-29 | 一种全景图像的拍摄方法及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114827439A (zh) |
WO (1) | WO2022161058A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104427228A (zh) * | 2013-08-22 | 2015-03-18 | 展讯通信(上海)有限公司 | 协作拍摄系统及其拍摄方法 |
US20160077422A1 (en) * | 2014-09-12 | 2016-03-17 | Adobe Systems Incorporated | Collaborative synchronized multi-device photography |
CN105979148A (zh) * | 2016-06-23 | 2016-09-28 | 努比亚技术有限公司 | 全景拍照设备、系统及方法 |
CN107395989A (zh) * | 2017-08-31 | 2017-11-24 | 广东欧珀移动通信有限公司 | 图像拼接方法、用于图像拼接的移动终端和系统 |
CN108900764A (zh) * | 2018-06-06 | 2018-11-27 | 三星电子(中国)研发中心 | 拍摄方法和电子装置以及拍摄控制方法和服务器 |
CN109639969A (zh) * | 2018-12-12 | 2019-04-16 | 维沃移动通信(杭州)有限公司 | 一种图像处理方法、终端及服务器 |
-
2021
- 2021-01-29 CN CN202110127000.8A patent/CN114827439A/zh active Pending
- 2021-12-24 WO PCT/CN2021/141343 patent/WO2022161058A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104427228A (zh) * | 2013-08-22 | 2015-03-18 | 展讯通信(上海)有限公司 | 协作拍摄系统及其拍摄方法 |
US20160077422A1 (en) * | 2014-09-12 | 2016-03-17 | Adobe Systems Incorporated | Collaborative synchronized multi-device photography |
CN105979148A (zh) * | 2016-06-23 | 2016-09-28 | 努比亚技术有限公司 | 全景拍照设备、系统及方法 |
CN107395989A (zh) * | 2017-08-31 | 2017-11-24 | 广东欧珀移动通信有限公司 | 图像拼接方法、用于图像拼接的移动终端和系统 |
CN108900764A (zh) * | 2018-06-06 | 2018-11-27 | 三星电子(中国)研发中心 | 拍摄方法和电子装置以及拍摄控制方法和服务器 |
CN109639969A (zh) * | 2018-12-12 | 2019-04-16 | 维沃移动通信(杭州)有限公司 | 一种图像处理方法、终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2022161058A1 (zh) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233553A1 (zh) | 一种拍摄方法及终端 | |
CN113885759B (zh) | 通知消息处理方法、设备、系统及计算机可读存储介质 | |
WO2022257977A1 (zh) | 电子设备的投屏方法和电子设备 | |
CN111526314B (zh) | 视频拍摄方法及电子设备 | |
WO2021159746A1 (zh) | 文件共享方法、系统及相关设备 | |
CN113961157B (zh) | 显示交互系统、显示方法及设备 | |
CN112130788A (zh) | 一种内容分享方法及其装置 | |
CN115514882B (zh) | 一种分布式拍摄方法,电子设备及介质 | |
CN113556479A (zh) | 一种多应用共享摄像头的方法与电子设备 | |
CN114554000A (zh) | 摄像头调用方法、系统及电子设备 | |
CN115967851A (zh) | 快速拍照方法、电子设备及计算机可读存储介质 | |
CN113747056A (zh) | 拍照方法、装置及电子设备 | |
CN112532508B (zh) | 一种视频通信方法及视频通信装置 | |
CN114064160A (zh) | 应用图标布局方法及相关装置 | |
CN116723415B (zh) | 缩略图生成的方法及终端设备 | |
CN116389884A (zh) | 缩略图显示方法及终端设备 | |
WO2022143310A1 (zh) | 一种双路投屏的方法及电子设备 | |
CN115686182B (zh) | 增强现实视频的处理方法与电子设备 | |
WO2021204103A1 (zh) | 照片预览方法、电子设备和存储介质 | |
CN115225753A (zh) | 拍摄方法、相关装置及系统 | |
WO2022161058A1 (zh) | 一种全景图像的拍摄方法及电子设备 | |
CN114567871A (zh) | 文件共享的方法、装置、电子设备以及可读存储介质 | |
CN114584817B (zh) | 投屏方法及系统 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
WO2022206769A1 (zh) | 一种拼接内容的方法、电子设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |