CN114979457B - 一种图像处理方法及相关装置 - Google Patents
一种图像处理方法及相关装置 Download PDFInfo
- Publication number
- CN114979457B CN114979457B CN202110217700.6A CN202110217700A CN114979457B CN 114979457 B CN114979457 B CN 114979457B CN 202110217700 A CN202110217700 A CN 202110217700A CN 114979457 B CN114979457 B CN 114979457B
- Authority
- CN
- China
- Prior art keywords
- image
- panorama
- electronic device
- cloud server
- information
- 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.)
- Active
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/62—Control of parameters via user interfaces
-
- 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/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
- H04N23/632—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
-
- 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
-
- 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
Abstract
一种图像处理方法及相关装置。在该方法中,可以结合电子设备和云服务器的处理能力,充分利用云服务器上的高质量的全景图像数据,使得电子设备可以获取到整个场景中的光照信息。云服务器可以通过电子设备上传的图像以及图像的环境信息(例如地理位置信息、天气信息、时间信息、拍摄参数、拍摄姿态信息等等),确定出与该图像匹配的全景图。云服务器将全景图以及全景图中的光照信息发送给电子设备。电子设备可以利用全景图中的光照信息渲染成虚拟物体。实施本申请提供的技术方案,电子设备渲染成的虚拟物体更真实,能够与真实环境更好的融合。
Description
技术领域
本申请涉及计算机视觉领域,尤其涉及一种图像处理的方法及相关装置。
背景技术
增强现实(Augmented Reality,AR)技术可以将虚拟物体显示到真实世界中。随着智能手机、平板电脑、AR头盔、智能眼镜等电子设备的不断发展,AR技术在电子设备中的应用越来越多。电子设备可以估计出真实世界中的光照信息,并根据真实世界的光照信息将虚拟物体进行绘制与渲染。电子设备获取到的光照信息越准确,电子设备绘制与渲染成的虚拟物体越真实。
一般地,电子设备可以先通过摄像头获取真实世界的图像;然后,电子设备从获取到的真实世界的图像中获取到真实世界中的光照信息。由于电子设备自身能力的限制,电子设备一般可以获取到的真实世界中局部区域的图像。电子设备难以获取到真实世界的全景图像。这样,电子设备难以获取到准确地的光照信息。即,电子设备难以获取到与真实世界中的光照信息更接近的光照信息。从而导致电子设备渲染成的虚拟物体不够真实。
由此,电子设备如何获取到更准确的光照信息是亟待解决的问题。
发明内容
本申请提供了一种图像处理方法及相关装置,实现了通过云端服务器和电子设备结合,充分利用云服务器上的高质量的全景图像数据,使得电子设备可以获取到整个场景中的光照信息。这样,电子设备渲染成的虚拟物体更真实,能够与真实环境更好的融合。
第一方面,本申请提供了一种图像处理方法,应用于图像处理系统,该图像处理系统可以包括电子设备和云服务器。该方法可以包括:该电子设备接收用户的第一操作;响应于该第一操作,该电子设备获取第一图像以及拍摄该第一图像时的第一环境信息;该电子设备发送该第一图像和该第一环境信息给该云服务器;该云服务器根据该第一图像和该第一环境信息,从全景图库中查找出与该第一图像匹配的第一全景图;该云服务器发送该第一全景图的第一光照信息给该电子设备;该电子设备可以根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体。
通过本申请提供一种图像处理方法,可以结合电子设备和云服务器的处理能力,充分利用云服务器上的高质量的全景图像数据,使得电子设备可以获取到整个场景中的光照信息。云服务器可以通过电子设备上传的图像以及图像的环境信息(例如地理位置信息、天气信息、时间信息、拍摄参数、拍摄姿态信息等等),确定出与该图像匹配的全景图。云服务器将全景图以及全景图中的光照信息发送给电子设备。电子设备可以利用全景图中的光照信息渲染成虚拟物体。这样,电子设备渲染成的虚拟物体更真实,能够与真实环境更好的融合。
在一种可能的实现方式中,该全景图库中可以存储有第一全景图和第一全景图对应的第一光照信息;第一光照信息包括第一全景图的亮度、光照方向、漫反射信息中的一项或多项。这样,云服务器确定全景图后,就可以找到全景图对应的光照信息。
在一种可能的实现方式中,第一环境信息可以包括该第一图像的拍摄地点,该云服务器可以根据该第一图像和该第一环境信息,从全景图库中查找出与该第一图像匹配的第一全景图,可以具体包括:该云服务器从该全景图库中查找出与该第一图像的拍摄地点相同的P张全景图,该P为整数;该云服务器从该P张全景图中确定与该第一图像的特征的相似度大于预设阈值的T张全景图,该T小于或等于该P;该云服务器从该T张全景图中确定出拍摄地点与该第一图像的拍摄地点的距离最小的全景图,作为该第一全景图。
这样,云服务器先通过第一环境信息筛选出云服务器中存储的第一环境信息对应的全景图,再根据第一图像的特征和第一环境信息对应的全景图的特征筛选与第一图像匹配的一张或多张全景图,最后再根据具体拍摄地点确定第一全景图。这样可以更为方便、准确地找到与第一图像匹配的第一全景图。
在一种可能的实现方式中,该云服务器根据该第一图像和该第一环境信息,从全景图库中查找出与该第一图像匹配的第一全景图之后,该方法还可以包括:该云服务器根据该第一图像调整该第一全景图,得到第二全景图;该云服务器获取该第二全景图的第二光照信息;该云服务器发送该第一全景图的第一光照信息给该电子设备,可以具体包括:该云服务器发送该第二光照信息给该电子设备;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体。
其中,在一种可能的实现方式中,云服务器根据该第一图像调整第一全景图,得到第二全景图,具体包括:该云服务器获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该云服务器将该第一全景图旋转该第一角度差,得到所述第二全景图。
可选地,在另一种可能的实现方式中,云服务器根据该第一图像调整该第一全景图,得到第二全景图,具体包括:该云服务器获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该云服务器将该第一全景图旋转该第一角度差,得到第三全景图;该云服务器将该第一图像的拍摄地点与该第一全景图的拍摄之间的第一距离,作为第一缩放系数;该云服务器按照该第一缩放系数缩放该第三全景图,得到第四全景图;该云服务器将该第一图像叠加到该第四全景图中,得到该第二全景图。
其中,云服务器获取该第二全景图的第二光照信息具体可以包括:云服务器根据第二全景图的像素值计算出光照方向和亮度,云服务器通过球谐函数计算出第二全景图中的漫反射信息;
或云服务器根据第一全景图变换到第二全景图的变换系数,将第一光照信息按照该变换系数进行变换后,得到第二光照信息。
第一图像的拍摄姿态和第一全景图的拍摄姿态可能不一样。这样,第一图像所对应真实场景中的光照方向可能会和第一全景图的光照方向、亮度、以及漫反射信息等光照信息不一样。通过第一图像对第一全景图进行调整,可以使得调整后的第一全景图,即第二全景图中的光照信息和第一图像所对应真实场景的光照信息更接近。
在一种可能的实现方式中,该云服务器发送所述第二光照信息给该电子设备,具体包括:该云服务器发送该第二全景图和该第二光照信息给该电子设备;该电子设备根据该第二光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息和该第二全景图,将第一三维模型数据在该第一图像中渲染成第一虚拟物体。
这样,其一,电子设备在渲染第一虚拟物体,若光照信息中包含的光照信息不够完整时,可以直接从全景图中获取出完整的光照信息,能够渲染出更真实的虚拟物体。其二,若虚拟物体的材质为镜面材质时,全景图可以作为虚拟物体镜面反射出的图像。
在一种可能的实现方式中,该云服务器发送该第二全景图和该第二光照信息给该电子设备之后,该方法还包括:电子设备将该第二全景图和该第一图像进行图像融合,得到第二图像,该第二图像的清晰度高于该第一图像的清晰度;该电子设备根据该第二光照信息和该第二全景图,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息和该第二全景图,将获取到的三维模型数据在该第二图像中渲染成第一虚拟物体,得到第三图像;该电子设备显示该第三图像。
全景图一般为专业相机拍摄的图像,其清晰度远远高于电子设备,例如手机拍摄的图像。这样,电子设备可以将全景图和第一图像融合,可以利用全景图提高第一图像的清晰度。
在一种可能的实现方式中,该云服务器获取该第二全景图的第二光照信息之后,该方法还包括:该云服务器将该第二全景图和该第一图像进行图像融合,得到第二图像,该第二图像的清晰度高于该第一图像的清晰度;该云服务器发送该第一全景图和该第一全景图的第一光照信息给该电子设备,具体包括:该云服务器发送该第二全景图和该第二光照信,以及该第二图像发送给该电子设备;该电子设备根据该第二光照信息,将获取到的三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息,将获取到的三维模型数据在该第二图像中渲染成第一虚拟物体,得到第三图像;该电子设备显示该第三图像。
这样,云服务器可以将全景图和第一图像融合,可以利用全景图提高第一图像的清晰度。相比于电子设备,云服务器有更强大的处理能力和更快的计算能力。
在一种可能的实现方式中,该云服务器发送该第一全景图和第一全景图的第一光照信息给该电子设备之后,该方法还包括:该电子设备根据该第一图像调整该第一全景图,得到第二全景图;该电子设备获取该第二全景图的第二光照信息;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,得到第四图像;该电子设备显示该第四图像。
其中,在一种可能的实现方式中,电子设备根据该第一图像调整该第一全景图,得到第二全景图,具体包括:该电子设备获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该电子设备将该第一全景图旋转该第一角度差,得到该第二全景图。
可选地,在一种可能的实现方式中,该电子设备根据该第一图像调整该第一全景图,得到第二全景图,具体包括:该电子设备获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该电子设备将该第一全景图旋转该第一角度差,得到第三全景图;该电子设备将该第一图像的拍摄地点与该第一全景图的拍摄之间的第一距离,作为第一缩放系数;该电子设备按照该第一缩放系数缩放该第三全景图,得到第四全景图;该电子设备将该第一图像叠加到该第四全景图中,得到第二全景图。
第一图像的拍摄姿态和第一全景图的拍摄姿态可能不一样。这样,第一图像所对应真实场景中的光照方向可能会和第一全景图的光照方向、亮度、以及漫反射信息等光照信息不一样。通过第一图像对第一全景图进行调整,可以使得调整后的第一全景图,即第二全景图中的光照信息和第一图像所对应真实场景的光照信息更接近。
在一种可能的实现方式中,该电子设备获取该第二全景图的第二光照信息之后,该方法还包括:该电子设备将该第二全景图和该第一图像进行图像融合,得到第二图像,该第二图像的清晰度高于该第一图像的清晰度;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息,将第一三维模型数据在该第二图像中渲染成第一虚拟物体,得到第三图像;该电子设备显示该第三图像。
全景图一般为专业相机拍摄的图像,其清晰度远远高于电子设备,例如手机拍摄的图像。这样,电子设备可以将全景图和第一图像融合,可以利用全景图提高第一图像的清晰度。
在一种可能的实现方式中,电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体之前,该方法还包括:该云服务器从存储三维模型数据的数据库中查找与该第一环境信息对应的该第一三维模型数据;该云服务器发送该第一三维模型数据给该电子设备。
在一种可能的实现方式中,响应于该第一操作,该电子设备获取第一图像以及拍摄该第一图像时的第一环境信息,具体包括:该电子设备从本地存储中获取该第一图像;该电子设备从该第一图像的可交换图像文件格式Exif数据中获取到该第一环境信息;其中,该第一环境信息包括地理位置信息。
在一种可能的实现方式中,该第一环境信息还可以包括天气信息、季节信息、时间信息、拍摄姿态信息、拍摄参数等等中的一项或多项。
第二方面,提供一种图像处理系统,应用于电子设备,该方法可以包括:电子设备接收用户的第一操作;响应于该第一操作,该电子设备获取第一图像以及拍摄该第一图像时的第一环境信息;该电子设备发送该第一图像和该第一环境信息给云服务器;该电子设备获取该云服务器发送的第一全景图的第一光照信息,该第一全景图与该第一图像匹配;该第一全景图为该云服务器的全景图库中的全景图;该全景图库中存储有该第一全景图和该第一全景图对应的该第一光照信息;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体。
通过本申请提供一种图像处理方法,可以结合电子设备和云服务器的处理能力,充分利用云服务器上的高质量的全景图像数据,使得电子设备可以获取到整个场景中的光照信息。云服务器可以通过电子设备上传的图像以及图像的环境信息(例如地理位置信息、天气信息、时间信息、拍摄参数、拍摄姿态信息等等),确定出与该图像匹配的全景图。云服务器将全景图以及全景图中的光照信息发送给电子设备。电子设备可以利用全景图中的光照信息渲染成虚拟物体。这样,电子设备渲染成的虚拟物体更真实,能够与真实环境更好的融合。
在一种可能的实现方式中,该全景图库中可以存储有第一全景图和第一全景图对应的第一光照信息;第一光照信息包括第一全景图的亮度、光照方向、漫反射信息中的一项或多项。这样,云服务器确定全景图后,就可以找到全景图对应的光照信息。
在一种可能的实现方式中,该第一全景图与该第一图像匹配包括:该第一全景图的拍摄地点与该第一图像的拍摄地点相同,和该第一全景图的特征与该第一图像的相似度大于预设阈值。
在一种可能的实现方式中,电子设备获取该云服务器发送的第一全景图的第一光照信息,具体包括:该电子设备获取该云服务器发送的第一全景图的第一光照信息和该第一全景图;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第一光照信息和该第一全景图,将一三维模型数据在该第一图像中渲染成第一虚拟物体。
在一种可能的实现方式中,该电子设备获取该云服务器发送的第一全景图的第一光照信息和该第一全景图之后,该方法还包括:该电子设备根据该第一图像调整该第一全景图,得到第二全景图;该电子设备获取所述第二全景图的第二光照信息;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,得到第四图像;该电子设备显示该第四图像。
其中,在一种可能的实现方式中,电子设备根据该第一图像调整该第一全景图,得到第二全景图,具体包括:该电子设备获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该电子设备将该第一全景图旋转该第一角度差,得到该第二全景图。
可选地,在一种可能的实现方式中,该电子设备根据该第一图像调整该第一全景图,得到第二全景图,具体包括:该电子设备获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该电子设备将该第一全景图旋转该第一角度差,得到第三全景图;该电子设备将该第一图像的拍摄地点与该第一全景图的拍摄之间的第一距离,作为第一缩放系数;该电子设备按照该第一缩放系数缩放该第三全景图,得到第四全景图;该电子设备将该第一图像叠加到该第四全景图中,得到第二全景图。
其中,电子设备获取该第二全景图的第二光照信息具体可以包括:电子设备根据第二全景图的像素值计算出光照方向和亮度,电子设备通过球谐函数计算出第二全景图中的漫反射信息;
或电子设备根据第一全景图变换到第二全景图的变换系数,将第一光照信息按照该变换系数进行变换后,得到第二光照信息。
第一图像的拍摄姿态和第一全景图的拍摄姿态可能不一样。这样,第一图像所对应真实场景中的光照方向可能会和第一全景图的光照方向、亮度、以及漫反射信息等光照信息不一样。通过第一图像对第一全景图进行调整,可以使得调整后的第一全景图,即第二全景图中的光照信息和第一图像所对应真实场景的光照信息更接近。
在一种可能的实现方式中,该电子设备获取该第二全景图的第二光照信息之后,该方法还包括:该电子设备将该第二全景图和该第一图像进行图像融合,得到第二图像,该第二图像的清晰度高于该第一图像的清晰度;该电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体,具体包括:该电子设备根据该第二光照信息,将第一三维模型数据在该第二图像中渲染成第一虚拟物体,得到第三图像;该电子设备显示该第三图像。
全景图一般为专业相机拍摄的图像,其清晰度远远高于电子设备,例如手机拍摄的图像。这样,电子设备可以将全景图和第一图像融合,可以利用全景图提高第一图像的清晰度。
在一种可能的实现方式中,电子设备根据该第一光照信息,将第一三维模型数据在该第一图像中渲染成第一虚拟物体之前,该方法还包括:该云服务器从存储三维模型数据的数据库中查找与该第一环境信息对应的该第一三维模型数据;该云服务器发送该第一三维模型数据给该电子设备。
在一种可能的实现方式中,响应于该第一操作,该电子设备获取第一图像以及拍摄该第一图像时的第一环境信息,具体包括:该电子设备从本地存储中获取该第一图像;该电子设备从该第一图像的可交换图像文件格式Exif数据中获取到该第一环境信息;其中,该第一环境信息包括地理位置信息。
在一种可能的实现方式中,该第一环境信息还可以包括天气信息、季节信息、时间信息、拍摄姿态信息、拍摄参数等等中的一项或多项。
第三方面,本申请提供了一种电子设备,包括:摄像头、收发器、一个或多个处理器和一个或多个存储器。该一个或多个处理器与该摄像头、该一个或多个存储器以及该收发器耦合,该一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当该一个或多个处理器执行该计算机指令时,使得该终端执行上述任一方面任一项可能的实现方式中的图像处理方法。
第四方面,本申请提供了一种云服务器,收发器、一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当该一个或多个处理器执行该计算机指令时,使得该云服务器执行上述第一方面任一项可能的实现方式中的图像处理方法。
第五方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在终端上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的图像处理方法。
第六方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在云服务器上运行时,使得云服务器执行上述任一方面任一项可能的实现方式中的图像处理方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的图像处理方法。
第八方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在云服务器上运行时,使得云服务器执行上述第一方面任一项可能的实现方式中的图像处理方法。
附图说明
图1A是本申请实施例提供的拍摄环境示意图;
图1B是本申请实施例提供的用户界面示意图;
图2是本申请实施例提供的通信系统示意图;
图3是本申请实施例提供的电子设备的结构示意图;
图4是本申请实施例提供的电子设备的软件架构示意图;
图5是本申请实施例提供的图像处理方法流程示意图;
图6A是本申请实施例提供的电子设备主屏幕用户界面示意图;
图6B是本申请实施例提供的电子设备的预览图像示意图;
图7是本申请实施例提供的全景图示意图;
图8是本申请实施例提供的全景图处理流程示意图;
图9A是本申请实施例提供的第一图像示意图;
图9B是本申请实施例提供的第一全景图示意图;
图9C是本申请实施例提供的旋转处理后的全景图示意图;
图9D是本申请实施例提供的缩放处理后的全景图示意图;
图9E是本申请实施例提供的叠加第一图像后的全景图示意图;
图10A是本申请实施例提供的全景图亮度调整示意图;
图10B是本申请实施例提供的图像风格迁移示意图;
图11A是本申请实施例提供的全景图示意图;
图11B是本申请实施例提供的放大后的全景图示意图;
图11C是本申请实施例提供的全景图划分图像块示意图;
图12A是本申请实施例提供的一种镜面材质虚拟物体示意图;
图12B是本申请实施例提供的一种非镜面材质虚拟物体示意图;
图13是本申请实施例提供的又一种图像处理方法流程示意图;
图14是本申请实施例提供的一种图像处理系统的架构示意图;
图15是本申请实施例提供的又一种图像处理系统的架构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
由于本申请实施例涉及一种图像处理方法的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及概念进行介绍。
1、虚拟物体
本申请实施例中,虚拟物体可以是电子设备根据三维模型信息绘制,再根据电子设备获取的光照信息渲染成,最后可以呈现在电子设备的显示屏中的物体,称为虚拟物体。即电子设备无法通过摄像头在真实世界中获取到的物体。例如,图1A示出了真实世界的场景,图 1B中示出的电子设备通过AR技术将虚拟物体与真实世界融合。图1B中示出的金鱼101即为本申请实施例中的虚拟物体。
2、全景图像
本申请实施例将可以记录以拍摄者为中心的周围环境全部视角的图像,称为全景图像。全景图像的视角可以涵盖地平线+/-各180°,垂直+/-各90°。即全景图像包含以拍摄者为中心的周围环境的上下前后左右六个面。本申请实施例中的全景图的类型可以是等距长方投影图,其长宽比例固定为2:1。全景图像也可以简称为“全景图”。全景图像中可以包含该图像对应的真实场景中的光照信息,例如光照方向、光照亮度、漫反射信息等等。
下面介绍本申请实施例涉及的一种通信系统10。
请参照图2,图2示出了申请实施例涉及的一种通信系统10的架构示意图。该通信系统 10可以包括电子设备100和云服务器200。其中,电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personaldigital assistant, PDA)、增强现实(augmented reality,AR)\虚拟现实(virtualreality,VR)设备等。本申请实施例对该电子设备100的具体类型不作特殊限制。
电子设备100可以通过2G网络、3G网络、4G网络、5G网络、无线局域网(wirelesslocal area network,WLAN)等连接上云服务器200。其中,电子设备100可以向云服务器200发送图像数据、图像数据的环境信息(例如地理位置信息、拍摄设备拍摄姿态信息、拍摄时间信息、天气信息等等)。云服务器可以根据电子设备100发送的图像数据以及图像数据的环境信息确定出与电子设备100发送的图像数据匹配的全景图。云服务器200可以向电子设备100 发送全景图和该全景图中的光照信息等等。
云服务器200可以与多个电子设备100建立连接,可以独立处理多个电子设备100请求的处理任务。其中,云服务器200可以通过电子设备上用户登录的账户(例如,华为账户) 对电子设备进行区分。
图3示出了本申请实施例提供的电子设备100的结构示意图。
下面以电子设备100为例对实施例进行具体说明。应该理解的是,电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器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等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器 180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器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)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface, DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100 的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S 接口,UART接口,MIPI接口等。
SIM接口可以被用于与SIM卡接口195通信,实现传送数据到SIM卡或读取SIM卡中数据的功能。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块 141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,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转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),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)。
电子设备100通过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)等。在一些实施例中,电子设备 100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过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等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组 (moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM) 和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM 一般称为DDR5 SDRAM)等;
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universalflash storage, UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110 中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备 100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm 的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100 抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C 测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D 检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100 使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器 180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J 检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备 100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142 的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。 SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。
图4是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为四层,从上至下分别为应用程序层,应用程序框架层,运行时(Runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序(也可以称为应用)。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
运行时(Runtime)包括核心库和虚拟机。Runtime负责系统的调度和管理。
核心库包含两部分:一部分是编程语言(例如,jave语言)需要调用的功能函数,另一部分是系统的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,jave文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维 (2-Dimensional,2D)和三维(3-Dimensional,3D)图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现3D图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,虚拟卡驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头 193捕获静态图像或视频。
本申请提供一种图像处理方法,可以结合电子设备和云服务器的处理能力,充分利用云服务器上的高质量的全景图像数据,使得电子设备可以获取到整个场景中的光照信息。云服务器可以通过电子设备上传的图像以及图像的环境信息(例如地理位置信息、天气信息、时间信息、拍摄参数、拍摄姿态信息等等),确定出与该图像匹配的全景图。云服务器将全景图以及全景图中的光照信息发送给电子设备。电子设备可以利用全景图中的光照信息渲染成虚拟物体。这样,电子设备渲染成的虚拟物体更真实,能够与真实环境更好的融合。
下面介绍本申请实施例中电子设备如何借助云服务器获取当前场景中的完整的光照信息。
图5是本申请实施例提供的一种图像处理方法的流程示意图。如图5所示,该图像处理方法可以包括如下步骤:
S501、电子设备100接收用户的第一操作。
电子设备100可以接收到用户的第一操作,第一操作可以是用户打开电子设备中的AR 应用。例如,如图6A所示,电子设备可以显示主屏幕的界面601。用户可以点击界面601中 AR应用图标603。响应于该用户操作,电子设备执行步骤S502。
可选地,第一操作可以用户打开AR应用并点击AR应用中的用于拍照或摄像的控件,例如,如图6B所示,电子设备可以显示AR应用的用户界面604。用户可以点击用户界面604 中的控件606。响应于该用户操作,电子设备执行步骤S502。
S502、电子设备100获取第一图像和第一环境信息。
响应于第一操作,电子设备100可以获取第一图像和第一环境信息。第一图像可以电子设备100中的拍摄界面中的预览图像。例如,图6B中示出拍摄界面604中的预览图像607。第一环境信息可以包括电子设备100获取第一图像时(或接收第一操作时)的第一位置信息和电子设备的拍摄姿态信息、天气信息、季节信息、时间信息等等中的一个或多个。
第一环境信息可以是电子设备100在接收到第一操作时的位置信息。示例性地,当第一环境信息为GPS位置信息时,电子设备100可以通过GPS定位模块获取到电子设备在获取第一操作时的GPS位置信息。当第一环境信息为地理名称时,电子设备100可以通过GPS定位模块获取到电子设备在获取第一操作时的GPS位置信息后,可以通过离线地图或者网络在线地图,查询到该GPS位置信息对应的地理名称。电子设备100还可以从网络上,结合拍摄时间和地理位置信息获取到该电子设备100拍摄第一图像时的天气信息、以及季节信息等。
电子设备100还可以获取电子设备在接收到第一操作时电子设备的拍摄姿态信息。拍摄姿态信息可以包括拍摄设备的拍摄镜头在拍摄图像时的朝向信息。例如,拍摄镜头的俯仰角以及方向角度等等,或者自然坐标下的三轴旋转角等等。电子设备100可以通过陀螺仪和加速度传感器等传感器,获取到该电子设备接收到第一操作时的拍摄姿态信息。
在一种可能的实现方式中,电子设备可以从该第一图像的可交换图像文件格式Exif数据中获取到第一环境信息。
S503、电子设备100将第一图像和第一环境信息发送给云服务器200。
其中,在电子设备100获取到第一图像和第一环境信息是,电子设备可以检测当前的网络状态,若网络断开,无法连接到云服务器200时,电子设备100可以输出提示,以提示用户在连接网络后才能借助云服务器200查找到与第一图像匹配的全景图。当电子设备100连接网络时,电子设备100可以将第一图像和第一环境信息发送给云服务器200。
在一种可能的实现方式中,在电子设备100执行步骤S503之前,电子设备100可以判断电子设备100中是否存在满足第一条件的全景图;若存在,则电子设备不执行步骤S503-步骤 S510;若不存在,电子设备100执行步骤S503-步骤S510。
进一步地,第一条件是可以是电子设备100中存在与第一图像匹配的第一全景图。在本申请实施例中,第一全景图与第一图像匹配可以指,第一全景图中的拍摄内容与第一图像的拍摄内容的相似度在第一预设范围内。可选地,第一全景图与第一图像匹配可以是指,第一全景图可以是指第一全景图的拍摄地点与第一图像的拍摄地点相同。例如,第一全景图的拍摄地点为“上海·外滩”,第一图像的拍摄地点也是“上海·外滩”。
可选地,第一条件可以是电子设备100存在与第一图像匹配的第一全景图,且第一图像的拍摄具体位置与第一全景图的拍摄具体位置的距离小于第一预设阈值。例如,第一图像的拍摄地点为“上海·外滩”,第一全景图的拍摄地点为“上海·外滩”,第一全景图与第一图像匹配。第一图像的拍摄具体地点为“上海·外滩”的地点A,第一全景图得到拍摄具体地点为“上海·外滩”的地点B。地点A与地点B的距离小于第一预设阈值。第一预设阈值可以是20米、10米、 5米等等,本申请实施例对第一预设阈值的具体取值不作限定。但是,可以理解的是,第一全景图的拍摄具体地点与第一图像的具体地点越近,第一全景图的光照环境和第一图像的光照环境越相似。这样,电子设备从第一全景图获取的光照信息能够更准确表示出第一图像的拍摄场景中的光照环境。
S504、云服务器200接收第一图像和第一环境信息。
云服务器200可以接收电子设备200发送的第一图像和第一环境信息。
S505、云服务器200根据第一图像和第一环境信息,从全景图库中查找到与第一图像匹配的第一全景图。
云服务器200的全景图库中可以存储有多个地点的全景图。云服务器200可以按照拍摄环境来对全景图库中的全景图分类。该拍摄环境可以通过地理位置信息、天气信息、季节信息、时间信息等等中的一种或多种进行区分。
示例性的,全景图库中的全景图可以按照拍摄地点和拍摄时间进行分类。该全景图库中分类存储的多种拍摄环境中拍摄的全景图可以如下表1所示:
表1
由表1可以看出,全景图库中的全景图可以按照拍摄地点将全景图划分为“上海·外滩”、“北京·故宫”等等拍摄地点对应的全景图。然后,全景图库中同一个拍摄地点的全景图可以按照拍摄时间划分为“白天”和“晚上”等等时间的全景图。表1中示出的全景图库中还可以保存每个全景图的具体拍摄地点,即拍摄坐标。拍摄坐标可以为6自由度的位姿。全景图库中保存的全景图的拍摄坐标可以包括该全景图的拍摄空间坐标(x,y,z)以及拍摄该全景图时拍摄装置的拍摄姿态,即翻滚角度(roll)、偏航角度(yaw)、俯仰角度(pitch)。全景图库中还可以保存每个全景图的特征以及关照信息。光照信息可以保存在二进制的文件中,例如,外滩11.bin。保存全景图光照信息的二进制文件的命名可以和该全景图的命名相同。例如,全景图库中“外滩11.JPG”这张全景图的命名可以是“外滩11”。该全景图的光照信息保存在二进制文件“外滩11.bin”中。二进制文件的命名也可以是“外滩11”。可以理解的是,表1示出的全景图库仅为示例。本申请实施例中的全景图库还可以保存更多的信息,例如全景图的具体拍摄时间以及拍摄天气等等,例如,全景图“外滩11.JPG”的具体拍摄时间为“2020/10/11 20:00”,拍摄天气为“晴”。
可以理解的是,全景图拍摄者可以用专业拍摄设备(例如,全景相机(例如,insta360 系列的全景相机))拍摄各个地点的全景图。然后,拍摄者可以将拍摄的全景图和全景图的拍摄环境信息上传到云服务器200中,云服务器200可以对拍摄者上传的全景图进行特征提取以及光照信息后按照如表1的形式存储在全景图库中。
全景图的光照信息可以包括光照方向、亮度以及漫反射信息。全景图中像素点的像素值越大,表明像素点的亮度越高。云服务器200可以用像素值来表示全景图中各个像素点的亮度。全景图中亮度最高的区域中的中心像素点的坐标即为该全景图的光照方向。云服务器200 可以将全景图的球谐函数中的球谐系数来表示该全景图的漫反射信息。
如图7示出的全景图701,全景图701中区域702中存在光源。可以理解的是,全景图701中存在光源区域的亮度高于无光源区域的亮度。云服务器200可以获取到全景图701中各个像素点的像素值,可以确定出全景图701中存在光源区域的像素值大于无光源区域的像素值。区域702中光源的光照方向可以是该区域中心点的坐标。云服务器200可以获取到区域702中心点的像素坐标。然后,云服务器200可以将该中心点的像素坐标(例如(320,20)) 转换为球坐标(例如,(15.62°,136.93°))。该中心点的球坐标即是区域702的光照方向。
云服务器200可以根据全景图得到球谐函数,并得到该球谐函数的球谐系数。全景图A 的球谐函数可以如下所示:
其中,f(x)为全景图A,是一个阶数(l,m)和角度(法线n)相关的定量,称作球谐基。是对应球谐基方向上的系数,称为球谐系数。由于球谐基函数阶数是无限的,所以只能取前面几组基来近似,一般在光照中大都取3阶,也即9个球谐系数。全景图中RGB三个通道各9个球谐系数,一共27个球谐系数。
云服务器200获取到的全景图的光照信息可以存储在二进制文件中(例如二进制文件“外滩11.bin”)。该文件中得到光照信息可以以二进制的格式存储。每一个全景图对应一个存储该全景图光照信息的二进制文件。二进制文件中可以存储有球谐系数、全景图中亮度最高区域的像素点的像素值、以及全景图中亮度最高区域的像素点的像素坐标和球坐标(即光照方向)等等。
云服务器200根据第一图像和第一环境信息可以从全景图库中找到与第一图像匹配的全景图。
在一种可能的实现方式中,第一环境信息可以包括该第一图像的拍摄地点,该云服务器可以根据该第一图像和该第一环境信息,从全景图库中查找出与该第一图像匹配的第一全景图,可以具体包括:该云服务器从该全景图库中查找出与该第一图像的拍摄地点相同的P张全景图,该P为整数;该云服务器从该P张全景图中确定与该第一图像的特征的相似度大于预设阈值的T张全景图,该T小于或等于该P;该云服务器从该T张全景图中确定出拍摄地点与该第一图像的拍摄地点的距离最小的全景图,作为该第一全景图。
在一种可能的实现方式中,云服务器200可以根据第一图像的拍摄地点,在全景图库中查找与第一图像的拍摄地点相同的全景图。例如,若第一图像的拍摄地点为“上海·外滩”,云服务器200就从拍摄地点为“上海·外滩”的全景图中查找与第一图像匹配的全景图。云服务器 200可以提取出第一图像的特征F0,云服务器200可以将特征F0与全景图库中拍摄地点为“上海·外滩”对应全景图的特征(例如,特征F11、特征F12、特征F13)进行特征匹配。云服务器200可以确定出与第一图像的特征F0匹配的备选全景图(例如,全景图“外滩11.JPG”、“外滩12.JPG”、“外滩13.JPG”)。然后云服务器200根据全景图库中保存的备选全景图的拍摄坐标计算出备选全景图的具体拍摄地点与第一图像的拍摄地点之间的距离。备选全景图中拍摄地点(例如、拍摄地点(x12,y12,z12,roll12,yaw12,pitch12))与第一图像的拍摄地点最近的全景图(即“外滩12.JPG”)即为本申请实施例中第一全景图。即云服务器200 确定出的与第一图像匹配的第一全景图。
进一步地,备选全景图中拍摄坐标(例如、拍摄坐标(x12,y12,z12,roll12,yaw12,pitch12)) 与第一图像的拍摄坐标距离最近的全景图有多个,则云服务器200将拍摄时间与第一图像的拍摄时间最接近的全景图作为与第一图像匹配的第一全景图。例如,若拍摄地点(x12,y12,z12, roll12,yaw12,pitch12)有三张全景图,一张拍摄时间为“10:00”的全景图,一张拍摄时间为“12:00”的全景图,一张拍摄时间为“18:00”的全景图。第一图像的拍摄时间为“14:00”,云服务器200根据拍摄时间将拍摄时间为“12:00”的全景图作为与第一图像匹配的第一全景图。
这里第一图像的特征F0可以包括第一图像的颜色特征、纹理特征、形状特征等等。与第一全图特征匹配的全景图是指,该全景图中的特征与第一图像的特征的相似度在预设阈值内。
由于云服务器200中存储的全景图的拍摄时间、拍摄风格、拍摄姿态可能不是和第一图像完全一致。这样,第一图像的拍摄场景中的真实光照信息可能与全景图中的光照信息不完全一致。为了使第一全景图中的光照信息和第一图像的拍摄场景的真实光照信息更接近,云服务器200可以基于第一图像来调整第一全景图。
可选地,云服务器200可以执行步骤S506调整第一全景图。可以理解的是,云服务器 200也可以不执行步骤S506-步骤S508。即云服务器200可以将第一全景图和第一全景图的光照信息发送给电子设备100。电子设备100可以根据第一全景图和第一全景图的光照信息渲染成第一虚拟物体。
S506、云服务器200根据第一图像调整第一全景图,得到第二全景图。
云服务器200可以根据第一图像以及第一环境信息调整第一全景图,调整后的第一全景图,即称为第二全景图。
其中,在一种可能的实现方式中,云服务器根据该第一图像调整第一全景图,得到第二全景图,具体包括:该云服务器获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该云服务器将该第一全景图旋转该第一角度差,得到所述第二全景图。
可选地,在另一种可能的实现方式中,云服务器根据该第一图像调整该第一全景图,得到第二全景图,具体包括:该云服务器获取该第一图像的拍摄姿态与该第一全景图的拍摄姿态的第一角度差;该云服务器将该第一全景图旋转该第一角度差,得到第三全景图;该云服务器将该第一图像的拍摄地点与该第一全景图的拍摄之间的第一距离,作为第一缩放系数;该云服务器按照该第一缩放系数缩放该第三全景图,得到第四全景图;该云服务器将该第一图像叠加到该第四全景图中,得到该第二全景图。
在一种可能的实现方式中,如图8所示,云服务器200根据第一图像以及第一环境信息调整第一全景图,得到第二全景图,具体可以包括如下步骤:
S5061、云服务器200将第一全景图的拍摄姿态R1(roll1,yaw1,pitch1)调整到第一图像的拍摄姿态R0(roll0,yaw0,pitch0)相同,得到第三全景图。
第一图像可以图9A中示出的图像900。图像900可以是电子设备100的摄像头获取到的预览图像。第一全景图可以是图9B中的全景图901。即云服务器200在存储的与图像900匹配的全景图为全景图901。图像900的拍摄姿态为R0(roll0,yaw0,pitch0)。全景图901的拍摄姿态为R1(roll1,yaw1,pitch1)。云服务器200可以按照图像900的拍摄姿态R0旋转全景图901,旋转后的全景图,即第三全景图。第三全景图可以是图9C中示出的全景图902。全景图902 的拍摄姿态与图像900相同。
S5062、云服务器200根据第一全景图的拍摄地点B与第一图像的拍摄地点A之间的平移距离L,缩放第三全景图,得到第四全景图。
云服务器200将第三全景图中的第一像素点的坐标为(u,v),该坐标与平移距离有如下关系:
L2=x2+y2 (4)
其中,R表示相机球面半径,f表示相机焦距。
云服务器200可以改变x和y的值来使全景图中的像素点坐标发生变化。云服务器200 根据平移距离L,按照上述公式(2)、公式(3)以及公式(4)对第三全景图进行缩放,得到第四全景图。如图9D所示,第四全景图可以是图9D中示出的全景图903。全景图902经过缩放后可以得到全景图903。
S5063、云服务器200将第一图像叠加到第四全景图中,得到第二全景图。
对于同一个拍摄地点,由于该拍摄地点的全景图的拍摄时间和第一图像的拍摄时间可能隔间较长,该拍摄地点的真实场景可能会发生变化。为了使得全景图更接近第一图像的真实场景更接近,云服务器200可以将第一图像与全景图进行融合。例如,图片900在拍摄时,该拍摄场景中比全景图901的拍摄场景中多一颗植物。图片900中拍摄出了该植物,那么云服务器200可以将图片900叠加到全景图903中,得到全景图904。
进一步地,云服务器200还可以根据第一图像的拍摄风格或者亮度来调整第二全景图。这样,可以使得第二全景图更接近第一图像的拍摄场景。
在一种可能的实现方式中,云服务器200可以获取到第二图像的灰度值G1,第二全景图的灰度值G2。云服务器200将第二全景图乘以G1/G2。这样,亮度调整后的第二全景图的亮度更接近第一图像的亮度。如图10A所示,第一图像可以是图10A中的图像1000,第二全景图可以是图10A中的全景图1001。亮度调整后的第二全景图可以是图10A中的全景图 1002。从图10A中可以看出,相对于全景图1001,全景图1002的亮度和图像1000亮度更接近。进一步地,云服务器200还可以将亮度调整后的第二全景图进行白平衡调整。这样,可以使得调整后的第二全景图更接近第一图像的拍摄场景。例如,云服务器200可以将图10A 中的全景图1002进行白平衡调整,得到全景图1003。
可选地,云服务器200还可以将第一图像和第二全景图输入风格迁移网络,得到与第一图像风格一致的第二全景图。可以理解的是,云服务器200中可以存储有风格迁移网络。风格迁移网络可以将两张输入图像中的一张图像的风格迁移到另一张图像中。如图10B所示,风格迁移网络1006的输入可以是图像1004和图像1005。风格迁移网络可以将图像1005的风格迁移到图像1004中,最终得到风格迁移后的图像1004。图10B中的图像1007即为图像 1004迁移风格后的图像。图像1007的风格与图像1005的风格相同。
可选地,云服务器200可以按照如下步骤调整第一全景图,得到第二全景图:
1、云服务器200将第一全景图扩大。
如图11A所示,第一全景图可以是图11A示出的全景图1101。云服务器200可以将全景图1101扩大成图11B中示出的全景图1102。云服务器200可以将第一全景图在当前视角区域往外扩展一倍面积。当前视角区域可以是第一全景图中与第一图像相同的区域。第一图像的拍摄视角即为当前视角。
2、云服务器200将扩大后的第一全景图划分成多个图像块,计算每个图像块与第一图像的像素值差,将与第一图像的差最小的图像块作为配准区域。
云服务器200可以将扩大后的第一全景图划分成多个图像块,如图11C所示,全景图1102 可以分成多个图像块,多个图像块中可以有重叠区域。例如,全景图1102划分的多个图像块中可以包块图像块11021、图像块11022、图像块11023、图像块11024以及图像11025等等。可以理解的是,全景图1102中还可以包括其他图像块。例如,全景图1102可以被划分为25 个图像块。本申请实施例对全景图1102中包含的图像块数量不作限定。
云服务器200可以计算出第一全景图中每个图像块与第一图像的像素值。例如,云服务器200可以分别计算出第一图像与全景图1102中图像块11021、图像块11022、图像块11023、图像块11024以及图像11025等等图像块的像素值差。然后云服务器200将与第一图像的像素值差最小的图像块作为第一图像的配准区域。
3、云服务器200将第一图像叠加到配准区域,并调整视角,得到第二全景图。
云服务器200可以将第一图像叠加到配准区域,然后云服务器200可以调整第一全景图的视角。即,云服务器200可以根据第一图像的拍摄姿态调整叠加第一图像后的第一全景图,得到第二全景图(例如,图9E中示出的全景图904)。
同一个拍摄地点,拍摄全景图时和拍摄第一图像时,拍摄场景可能发生变化。例如,同一个拍摄地点中,在拍摄第一图像时,该拍摄地点中可能多了一些物体(例如盆栽)、或者少了一些物体。这样,云服务器200按照上述步骤调整全景图,可以使得全景图更接近拍摄第一图像时的拍摄场景。
S507、云服务器200获取第二全景图的光照信息B。
其中,云服务器获取该第二全景图的第二光照信息具体可以包括:云服务器根据第二全景图的像素值计算出光照方向和亮度,云服务器通过球谐函数计算出第二全景图中的漫反射信息;或云服务器根据第一全景图变换到第二全景图的变换系数,将第一光照信息按照该变换系数进行变换后,得到第二光照信息。
举例来说,云服务器200中存储有第一全景图的光照信息A。由于第二全景图是根据第一全景图得到,云服务器200可以根据光照信息A得到光照信息B。若第一全景图的翻滚角度(roll)、偏航角度(yaw)、俯仰角度(pitch)分别向正方向旋转15°后得到第二全景图。那么光照信息A中的翻滚角度(roll)、偏航角度(yaw)、俯仰角度(pitch)分别加15°后,其他信息不变,即可以得到光照信息B。
S508、云服务器200发送第二全景图和第二全景图的光照信息B。
云服务器200可以将第二全景图和第二全景图的光照信息B发送给电子设备100。可以理解的是,电子设备100发送给云服务器200的第一图像和第一环境信息中可以携带电子设备100的标识,例如,用户登录ID(例如华为账号)、或者电子设备的ID。然后,云服务器200向电子设备100发送第二全景图和第二全景图的光照信息时,也可以携带电子设100的标识。这样,云服务器200可以确定将第一图像对应的全景图和该全景图的光照信息返回给哪一个电子设备。
S509、电子设备100接收第二全景图和第二全景图中的光照信息B。
电子设备100可以接收到云服务器200发送的第二全景图和第二全景图的光照信息B。这里,可以理解的是,若云服务器200不执行步骤S506-步骤S508,电子设备100可以接收到云服务器200发送的第一全景图和第一全景图的光照信息A。
S510、电子设备100根据第二全景图调整第一图像,得到第二图像。
电子设备100可以根据第二全景图调整第一图像,得到第二图像。由于全景图一般是由专业相机拍摄的,全景图的清晰度要比电子设备100拍摄的图像的清晰度要高。这样,电子设备100可以将第二全景图中的纹理信息以及颜色信息融合到第一图像中,得到第二图像。这样,电子设备100最终显示的图像可以更加清晰。
电子设备100接收到的第二全景图可以是base64格式的图像。电子设备100可以将base64 格式的第二全景图转成JPG格式的第二全景图。第二全景图经过base64加密,转成base64 格式的图像,提高了图像传输的安全性。
本申请实施例中,步骤S510是可选步骤,即电子设备100也可以不执行步骤S500。即电子设备100可以根据光照信息B和第二全景图,在第一图像中渲染成第一虚拟物体。
S511、电子设备100根据光照信息B和第二全景图,在第二图像中渲染成第一虚拟物体,得到第三图像。
可以理解的是,电子设备在执行步骤S511之前,电子设备100还可以获取第一虚拟物体的AR模型数据。然后,电子设备100可以将第一虚拟物体的AR三维模型数据、以及光照信息B和第二全景图输入到电子设备100的渲染模块中,电子设备可以在第二图像中渲染成第一虚拟物体,得到第三图像(例如图1B中示出的图像102)。第三图像中可以包含第一虚拟物体。第一虚拟物体可以如图1B中示出的虚拟物体101。电子设备100的渲染模块可以根据光照信息B中亮度信息确定第一虚拟物体的亮度,根据光照信息B中的光照方向确定第一虚拟物体阴影的方向。
在一种可能的实现方式中,当电子设备100渲染的第一虚拟物体的材质为镜面材质时,电子设备100可以将第二全景图输入到渲染模块中,该渲染模块将第二全景图作为第一虚拟物体的环境贴图。即,若第一虚拟物体是镜面材质物体,则第一虚拟物体可以具有镜面反射效果,该第一虚拟物体镜面反射的内容可以是第二全景图。例如,图12A中示出的虚拟物体 1202,该虚拟物体1202为镜面材质的虚拟物体。虚拟物体1202可以进行镜面反射,虚拟物体1202镜面反射的内容可以是图像1201对应的全景图。
在一种可能的实现方式中,当电子设备100渲染的第一虚拟物体为非镜面材质时,电子设备100可以将光照信息B和第一虚拟物体的AR模型数据输入到渲染模块,得到第一虚拟物体。例如,电子设备100可以在图像1204中渲染成虚拟物体1205,该虚拟物体1205为非镜面材质的虚拟物体。电子设备可以根据光照信息和虚拟物体1205的AR模型数据渲染成该虚拟物体1205。
可以理解的是,电子设备100在渲染镜面材质的虚拟物体时,需要根据全景图确定出该虚拟物体镜面反射的内容。电子设备100在渲染非镜面材质的虚拟物体时,可以不需要全景图。
进一步地,在一种可能的实现方式中,电子设备100可以在执行步骤S502时,还向云服务器200发送获取第一虚拟物体的AR模型数据的请求。云服务器200可以在向电子设备100 发送第二全景图和光照信息B时,还向电子设备100发送第一虚拟物体的AR模型数据。
进一步地,云服务器200可以根据电子设备100发送的地理位置信息,确定与该地理位置信息所匹配的AR模型数据。也即是说,云服务器200中可以存储有多个AR模型数据,该AR模型数据可以与地理位置一一对应。即一个地理位置对应一个AR模型数据,例如,当云服务器200接收到电子设备100发送的地理位置为敦煌时,云服务器200可以向电子设备100发送虚拟物体九色鹿的AR模型数据。当云服务器200接收到电子设备100发送的地理位置为深圳万象天地时,云服务器200可以向电子设备100发送虚拟物体金鱼的AR模型数据。
可选地,用户可以在电子设备100的AR应用中选择第一虚拟物体,电子设备100可以将用户选择的第一虚拟物体标识发送给云服务200。云服务器200可以根据第一虚拟物体标识确定出AR模型数据,并向该AR模型数据发送给电子设备100。
可选地,在一种可能的实现方式中,电子设备100中可以存储有第一虚拟物体的AR模型数据。可选地,电子设备100还可以向AR应用的服务器获取第一虚拟物体的AR模型数据。
实施本申请实施例提供的图像处理方法,电子设备可以获取到预览图像,以及电子设备获取预览图像的环境信息(例如地理位置信息、拍摄设备拍摄姿态信息、拍摄时间信息、天气信息等等)。电子设备可以将预览图像和环境信息上传到云服务器。云服务器可以根据预览图像和环境信息确定出该预览图像对应的全景图。云服务器可以将全景图和全景图中的光照信息发送给电子设备。电子设备根据全景图和光照信息,在预览图像中渲染成虚拟物体。这样,电子设备可以获取到获取图像的地点真实场景的光照信息。电子设备根据真实场景的光照信息可以渲染成更真实的虚拟物体。例如图12A和图12B所示,图12A中够可以包括虚拟物体1202和真实物体1203。图12B中可以包括虚拟物体1205和真实物体1206。电子设备渲染成的虚拟物体1202的亮度、光照方向、漫反射信息以及镜面反射情况与真实物体1203 相同。电子设备渲染成的虚拟物体1205的亮度、光照方向与真实物体1206相同。
在本申请实施例中,当云服务器200确定与第一图像对应的第一全景图后,云服务器200 可以将该第一全景图与第一全景图中的光照信息发送给电子设备100。然后,电子设备100 可以根据第一图像对第一全景图进行处理,得到与第一图像的真实拍摄环境更接近的第二全景图。电子设备100可以根据第一全景图的光照信息得到第二全景图的光照信息。然后,电子设备100可以根据第二全景图和第二全景图的光照信息渲染成虚拟物体。也即是说,上述步骤S506-步骤S507也可以由电子设备100执行。这里,具体可以如图13所示,图13示出了本申请实施例提供的又一种图像处理方法流程图。该图像处理方法可以包括如下步骤:
S1301、电子设备100接收用户的第一操作。
步骤S1301可以参考步骤501中的描述,此处不再赘述。
S1302、电子设备100获取第一图像和第一环境信息。
步骤S1302可以参考步骤S502中的描述,此处不再赘述。
S1303、电子设备100向云服务器200发送第一图像和第一环境信息。
步骤S1303可以参考步骤S503中的描述,此处不再赘述。
S1304、云服务器200接收第一图像和第一位置信息。
步骤S1304可以参考步骤S504的描述,此处不再赘述。
S1305、云服务器200根据第一图像和第一环境信息,从全景图库中查找到与第一图像匹配的第一全景图。
步骤S1305可以参考步骤S505中的描述,此处不再赘述。
S1306、云服务器200向电子设备100发送第一全景图和第一全景图的光照信息A。
云服务器200可以将第一全景图和第一全景图的光照信息A发送给电子设备100。具体地,云服务器200发送的第一全景图可以是base64格式的图像。云服务器200发送的光照信息A可以是包含二进制格式的亮度信息、光照方向以及漫反射信息等等光照信息的二进制文件。该二进制文件的命名可以与第一全景图的命名相同。
S1307、电子设备100接收第一全景图和光照信息A,根据第一图像的拍摄视角调整第一全景图,得到第二全景图。
步骤S1307可以参考步骤506中的描述,此处不再赘述。
S1308、电子设备100根据光照信息A,获取第二全景图中的光照信息B。
步骤S1308可以参考步骤S507中的描述,此处不再赘述。
S1309、电子设备100根据第二全景图调整第一图像,得到第二图像。
步骤S1309可以参考步骤S510中的描述,此处不再赘述。
S1310、电子设备100根据光照信息B和第二全景图,在第二图像中渲染成第一虚拟物体。
步骤S1310可以参考S511中的描述,此处不再赘述。
可以理解的是,在一种可能的实现方式中,电子设备100可以不执行步骤S1307-步骤 S1309,即电子设备100在接收第一全景图和第一全景图的光照信息A后,电子设备100可以根据第一全景图和第一全景图的光照信息A,在第一图像中渲染成第一虚拟物体。
实施本申请实施例提供的图像处理方法,电子设备可以获取到预览图像,以及电子设备获取预览图像的环境信息(例如地理位置信息、拍摄设备拍摄姿态信息、拍摄时间信息、天气信息等等)。电子设备可以将预览图像和环境信息上传到云服务器。云服务器可以根据预览图像和环境信息确定出该预览图像对应的全景图。云服务器可以将全景图和全景图中的光照信息发送给电子设备。电子设备根据全景图和光照信息,在预览图像中渲染成虚拟物体。这样,电子设备可以获取到获取图像的地点真实场景的光照信息。电子设备根据真实场景的光照信息可以渲染成更真实的虚拟物体。
下面介绍本申请涉及的一种图像处理系统1400。
请参考图14,图14示出了本申请实施例中提供的一种图像处理系统1400的架构示意图。如图14所示,该图像处理系统1400可以包括电子设备100和云服务器200。
其中,该电子设备100可以包括摄像头1411、图像信号处理器1412、图像处理模块1413、渲染模块1414。
该摄像头1411可用于在用户拍照时,捕获光信号,并将光信号转换为电信号,发送给图像信号处理器1412。
该图像信号处理器1412可以将摄像头1411发送的电信号转换成数字图像信号,也称为第一图像,其中,该第一图像的格式可以是Raw图,YUV图或RGB图等等。该图像信号处理器1412还可以从电子设备100的一个或多个传感器(图中未示出)以及电子设备100连接的网络上获取到该第一图像的第一环境信息(包括地理位置信息、天气信息、季节信息、时间信息、拍摄参数、拍摄姿态信息等等中的一种或多种)。
该图像处理模块1413,可用于根据云服务器200发送的第二全景图,对第一图像进行优化处理,得到第二图像。
该渲染模块1414,可用于根据云服务器200发送的第二全景图和第二全景图的光照信息 B,将第一虚拟物体的AR模型数据在第二图像中渲染成第一虚拟物体,得到第三图像。
其中,该云服务器200可以包括全景图库1415、图像匹配模块1416、图像处理模块1417 以及光照信息提取模块1418。
该全景图库1415,可用于存储有根据拍摄环境划分的多张全景图、以及从全景图中提取出的光照信息。
该图像匹配模块1416,可用于根据电子设备100发送的第一图像和第一环境信息中的数据1,从全景图库1415中确定出与第一图像匹配的第一全景图。其中,数据1可以为第一环境信息中的全部或部分信息。例如,当第一环境信息包括有地理位置信息、天气信息、季节信息、时间信息、拍摄参数和拍摄姿态信息时,数据1可以包括有地理位置信息和拍摄姿态信息。
该图像处理模块1417,可用于根据电子设备100发送的第一图像和第一环境信息中的数据2,对第一全景图进行处理,得到第二全景图。其中,数据2可以为第一环境信息中的全部或部分信息。例如,当第一环境信息包括有地理位置信息、天气信息、季节信息、时间信息、拍摄参数和拍摄姿态信息时,数据2可以包括拍摄姿态信息。
该光照信息提取模块1418,可用于提取出第二全景图中的光照信息B。可选地,该光照信息提取模块可以根据第一全景图的光照信息A,以及第一全景图变换成第二全景图的参数,得到第二全景图的光照信息B。
通过本申请实施例提供一种图像处理系统1400,可以结合电子设备和云服务器的处理能力,充分利用云服务器中存储的全景图,获取到电子设备拍摄第一图像的真实环境的光照信息。云服务器可以通过电子设备上传的图像以及图像的环境信息(例如地理位置信息、天气信息、时间信息、拍摄参数、拍摄姿态信息等等),确定出与该图像匹配的全景图,将全景图与全景图的光照信息发送给电子设备。电子设备根据全景图和光照信息,在预览图像中渲染成虚拟物体。并且,电子设备还可以利用云服务器发送的高清的全景图,对电子设备拍摄的第一图像进行优化。这样,电子设备可以获取到获取图像的地点真实场景的光照信息。电子设备根据真实场景的光照信息可以渲染成更真实的虚拟物体。并且,电子设备可以利用云服务器发送的高清全景图,提高电子设备拍摄图像的质量。
下面介绍本申请涉及的一种图像处理系统1500。
请参考图15,图15示出了本申请实施例中提供的一种图像处理系统1500的架构示意图。如图15所示,该图像处理系统1500可以包括电子设备100和云服务器200。
其中,该电子设备100可以包括摄像头1511、图像信号处理器1512、图像处理模块1513、渲染模块1514。
该摄像头1511可用于在用户拍照时,捕获光信号,并将光信号转换为电信号,发送给图像信号处理器1512。
该图像信号处理器1512可以将摄像头1511发送的电信号转换成数字图像信号,也称为第一图像,其中,该第一图像的格式可以是Raw图,YUV图或RGB图等等。该图像信号处理器1512还可以从电子设备100的一个或多个传感器(图中未示出)以及电子设备100连接的网络上获取到该第一图像的第一环境信息(包括地理位置信息、天气信息、季节信息、时间信息、拍摄参数、拍摄姿态信息等等中的一种或多种)。
该图像处理模块1513,可用于根据云服务器200发送的第一全景图,对第一图像进行优化处理,得到第二图像。
该渲染模块1514,可用于根据云服务器200发送的第一全景图和第一全景图的光照信息 A,将第一虚拟物体的AR模型数据在第二图像中渲染成第一虚拟物体,得到第三图像。
其中,该云服务器200可以包括全景图库1515、图像匹配模块1516。
该全景图库1515,可用于存储有根据拍摄环境划分的多张全景图、以及从全景图中提取出的光照信息。
该图像匹配模块1516,可用于根据电子设备100发送的第一图像和第一环境信息中的数据1,从全景图库1515中确定出与第一图像匹配的第一全景图。其中,数据1可以为第一环境信息中的全部或部分信息。例如,当第一环境信息包括有地理位置信息、天气信息、季节信息、时间信息、拍摄参数和拍摄姿态信息时,数据1可以包括有地理位置信息和拍摄姿态信息。
通过本申请实施例提供一种图像处理系统1500,可以结合电子设备和云服务器的处理能力,充分利用云服务器中存储的全景图,获取到电子设备拍摄第一图像的真实环境的光照信息。云服务器可以通过电子设备上传的图像以及图像的环境信息(例如地理位置信息、天气信息、时间信息、拍摄参数、拍摄姿态信息等等),确定出与该图像匹配的全景图,将全景图与全景图的光照信息发送给电子设备。电子设备根据全景图和光照信息,在预览图像中渲染成虚拟物体。这样,电子设备可以获取到获取图像的地点真实场景的光照信息。电子设备根据真实场景的光照信息可以渲染成更真实的虚拟物体。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线) 或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体 RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (27)
1.一种图像处理方法,其特征在于,应用于图像处理系统,所述图像处理系统包括电子设备和云服务器;其中,所述方法包括:
所述电子设备接收用户的第一操作;
响应于所述第一操作,所述电子设备获取第一图像以及拍摄所述第一图像时的第一环境信息;
所述电子设备发送所述第一图像和所述第一环境信息给所述云服务器;
所述云服务器根据所述第一图像和所述第一环境信息,从全景图库中查找出与所述第一图像匹配的第一全景图;
所述云服务器发送所述第一全景图的第一光照信息给所述电子设备;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体。
2.根据权利要求1所述的方法,其特征在于,所述全景图库中存储有所述第一全景图和所述第一全景图对应的第一光照信息;所述第一光照信息包括所述第一全景图的亮度、光照方向、漫反射信息中的一项或多项。
3.根据权利要求1或2任一项所述的方法,其特征在于,所述第一环境信息包括所述第一图像的拍摄地点,所述云服务器根据所述第一图像和所述第一环境信息,从全景图库中查找出与所述第一图像匹配的第一全景图,具体包括:
所述云服务器从所述全景图库中查找出与所述第一图像的拍摄地点相同的P张全景图,所述P为整数;
所述云服务器从所述P张全景图中确定与所述第一图像的特征的相似度大于预设阈值的T张全景图,所述T小于或等于所述P;
所述云服务器从所述T张全景图中确定出拍摄地点与所述第一图像的拍摄地点的距离最小的全景图,作为所述第一全景图。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述云服务器根据所述第一图像和所述第一环境信息,从全景图库中查找出与所述第一图像匹配的第一全景图之后,所述方法还包括:
所述云服务器根据所述第一图像调整所述第一全景图,得到第二全景图;
所述云服务器获取所述第二全景图的第二光照信息;
所述云服务器发送所述第一全景图的第一光照信息给所述电子设备,具体包括:
所述云服务器发送所述第二光照信息给所述电子设备;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第二光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体。
5.根据权利要求4所述的方法,其特征在于,所述云服务器根据所述第一图像调整所述第一全景图,得到第二全景图,具体包括:
所述云服务器获取所述第一图像的拍摄姿态与所述第一全景图的拍摄姿态的第一角度差;
所述云服务器将所述第一全景图旋转所述第一角度差,得到所述第二全景图。
6.根据权利要求4所述的方法,其特征在于,所述云服务器根据所述第一图像调整所述第一全景图,得到第二全景图,具体包括:
所述云服务器获取所述第一图像的拍摄姿态与所述第一全景图的拍摄姿态的第一角度差;
所述云服务器将所述第一全景图旋转所述第一角度差,得到第三全景图;
所述云服务器将所述第一图像的拍摄地点与所述第一全景图的拍摄之间的第一距离,作为第一缩放系数;
所述云服务器按照所述第一缩放系数缩放所述第三全景图,得到第四全景图;
所述云服务器将所述第一图像叠加到所述第四全景图中,得到所述第二全景图。
7.根据权利要求4-6任一项所述的方法,其特征在于,
所述云服务器发送所述第二光照信息给所述电子设备,具体包括:
所述云服务器发送所述第二全景图和所述第二光照信息给所述电子设备;
所述电子设备根据所述第二光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第二光照信息和所述第二全景图,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体。
8.根据权利要求7所述的方法,其特征在于,所述云服务器发送所述第二全景图和所述第二光照信息给所述电子设备之后,所述方法还包括:
所述电子设备将所述第二全景图和所述第一图像进行图像融合,得到第二图像,所述第二图像的清晰度高于所述第一图像的清晰度;
所述电子设备根据所述第二光照信息和所述第二全景图,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第二光照信息和所述第二全景图,将获取到的三维模型数据在所述第二图像中渲染成第一虚拟物体,得到第三图像;
所述电子设备显示所述第三图像。
9.根据权利要求4所述的方法,其特征在于,所述云服务器获取所述第二全景图的第二光照信息之后,所述方法还包括:
所述云服务器将所述第二全景图和所述第一图像进行图像融合,得到第二图像,所述第二图像的清晰度高于所述第一图像的清晰度;
所述云服务器发送所述第一全景图和所述第一全景图的第一光照信息给所述电子设备,具体包括:
所述云服务器发送所述第二全景图和所述第二光照信,以及所述第二图像发送给所述电子设备;
所述电子设备根据所述第二光照信息,将获取到的三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第二光照信息,将获取到的三维模型数据在所述第二图像中渲染成第一虚拟物体,得到第三图像;
所述电子设备显示所述第三图像。
10.根据权利要求1-3任一项所述的方法,其特征在于,所述云服务器发送所述第一全景图和第一全景图的第一光照信息给所述电子设备之后,所述方法还包括:
所述电子设备根据所述第一图像调整所述第一全景图,得到第二全景图;
所述电子设备获取所述第二全景图的第二光照信息;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:所述电子设备根据所述第二光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,得到第四图像;
所述电子设备显示所述第四图像。
11.根据权利要求10所述的方法,其特征在于,所述电子设备根据所述第一图像调整所述第一全景图,得到第二全景图,具体包括:
所述电子设备获取所述第一图像的拍摄姿态与所述第一全景图的拍摄姿态的第一角度差;
所述电子设备将所述第一全景图旋转所述第一角度差,得到所述第二全景图。
12.根据权利要求10所述的方法,其特征在于,所述电子设备根据所述第一图像调整所述第一全景图,得到第二全景图,具体包括:
所述电子设备获取所述第一图像的拍摄姿态与所述第一全景图的拍摄姿态的第一角度差;
所述电子设备将所述第一全景图旋转所述第一角度差,得到第三全景图;
所述电子设备将所述第一图像的拍摄地点与所述第一全景图的拍摄之间的第一距离,作为第一缩放系数;
所述电子设备按照所述第一缩放系数缩放所述第三全景图,得到第四全景图;
所述电子设备将所述第一图像叠加到所述第四全景图中,得到第二全景图。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述电子设备获取所述第二全景图的第二光照信息之后,所述方法还包括:
所述电子设备将所述第二全景图和所述第一图像进行图像融合,得到第二图像,所述第二图像的清晰度高于所述第一图像的清晰度;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第二光照信息,将第一三维模型数据在所述第二图像中渲染成第一虚拟物体,得到第三图像;
所述电子设备显示所述第三图像。
14.根据权利要求1-13任一项所述的方法,其特征在于,所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体之前,所述方法还包括:
所述云服务器从存储三维模型数据的数据库中查找与所述第一环境信息对应的所述第一三维模型数据;
所述云服务器发送所述第一三维模型数据给所述电子设备。
15.根据权利要求1-14任一项所述的方法,其特征在于,响应于所述第一操作,所述电子设备获取第一图像以及拍摄所述第一图像时的第一环境信息,具体包括:
所述电子设备从本地存储中获取所述第一图像;
所述电子设备从所述第一图像的可交换图像文件格式Exif数据中获取到所述第一环境信息;其中,所述第一环境信息包括地理位置信息。
16.一种图像处理方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备接收用户的第一操作;
响应于所述第一操作,所述电子设备获取第一图像以及拍摄所述第一图像时的第一环境信息;
所述电子设备发送所述第一图像和所述第一环境信息给云服务器;
所述电子设备获取所述云服务器发送的第一全景图的第一光照信息,所述第一全景图与所述第一图像匹配;所述第一全景图为所述云服务器的全景图库中的全景图;所述全景图库中存储有所述第一全景图和所述第一全景图对应的所述第一光照信息;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体。
17.根据权利要求16所述的方法,其特征在于,所述第一光照信息包括所述第一全景图的亮度、光照方向、漫反射信息中的一项或多项。
18.根据权利要求16或17任一项所述的方法,其特征在于,所述第一全景图与所述第一图像匹配包括:所述第一全景图的拍摄地点与所述第一图像的拍摄地点相同,和所述第一全景图的特征与所述第一图像的相似度大于预设阈值。
19.根据权利要求16-18任一项所述的方法,其特征在于,所述电子设备获取所述云服务器发送的第一全景图的第一光照信息,具体包括:
所述电子设备获取所述云服务器发送的第一全景图的第一光照信息和所述第一全景图;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第一光照信息和所述第一全景图,将一三维模型数据在所述第一图像中渲染成第一虚拟物体。
20.根据权利要求18所述的方法,其特征在于,所述电子设备获取所述云服务器发送的第一全景图的第一光照信息和所述第一全景图之后,所述方法还包括:
所述电子设备根据所述第一图像调整所述第一全景图,得到第二全景图;
所述电子设备获取所述第二全景图的第二光照信息;
所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:所述电子设备根据所述第二光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,得到第四图像;
所述电子设备显示所述第四图像。
21.根据权利要求20所述的方法,其特征在于,所述电子设备根据所述第一图像调整所述第一全景图,得到第二全景图,具体包括:
所述电子设备获取所述第一图像的拍摄姿态与所述第一全景图的拍摄姿态的第一角度差;
所述电子设备将所述第一全景图旋转所述第一角度差,得到所述第二全景图。
22.根据权利要求20所述的方法,其特征在于,所述电子设备根据所述第一图像调整所述第一全景图,得到第二全景图,具体包括:
所述电子设备获取所述第一图像的拍摄姿态与所述第一全景图的拍摄姿态的第一角度差;
所述电子设备将所述第一全景图旋转所述第一角度差,得到第三全景图;
所述电子设备将所述第一图像的拍摄地点与所述第一全景图的拍摄之间的第一距离,作为第一缩放系数;
所述电子设备按照所述第一缩放系数缩放所述第三全景图,得到第四全景图;
所述电子设备将所述第一图像叠加到所述第四全景图中,得到第二全景图。
23.根据权利要求20-22任一项所述的方法,其特征在于,所述电子设备获取所述第二全景图的第二光照信息之后,所述方法还包括:
所述电子设备将所述第二全景图和所述第一图像进行图像融合,得到第二图像,所述第二图像的清晰度高于所述第一图像的清晰度;
所述电子设备根据所述第二光照信息和所述第二全景图,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体,具体包括:
所述电子设备根据所述第二光照信息和所述第二全景图,将获取到的三维模型数据在所述第二图像中渲染成第一虚拟物体,得到第三图像;
所述电子设备显示所述第三图像。
24.根据权利要求16-23任一项所述的方法,其特征在于,所述电子设备根据所述第一光照信息,将第一三维模型数据在所述第一图像中渲染成第一虚拟物体之前,所述方法还包括:
所述电子设备获取所述云服务器发送的所述第一三维模型数据;所述第一三维模型数据是所述云服务器存储的与所述第一环境信息对应的三维模型数据。
25.根据权利要求16-24任一项所述的方法,其特征在于,响应于所述第一操作,所述电子设备获取第一图像以及拍摄所述第一图像时的第一环境信息,具体包括:
所述电子设备从本地存储中获取所述第一图像;
所述电子设备从所述第一图像的可交换图像文件格式Exif数据中获取到所述第一环境信息;其中,所述第一环境信息包括地理位置信息。
26.一种终端,其特征在于,包括:摄像头、收发器、一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述摄像头、所述一个或多个存储器以及所述收发器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述终端执行上述权利要求1-15、16-25中的任一项所述的图像处理方法。
27.一种云服务器,其特征在于,包括:收发器、一个或多个处理器和一个或多个存储器;所述一个或多个存储器与一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述云服务器执行上述权利要求1-15中的任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217700.6A CN114979457B (zh) | 2021-02-26 | 2021-02-26 | 一种图像处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217700.6A CN114979457B (zh) | 2021-02-26 | 2021-02-26 | 一种图像处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979457A CN114979457A (zh) | 2022-08-30 |
CN114979457B true CN114979457B (zh) | 2023-04-07 |
Family
ID=82973845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110217700.6A Active CN114979457B (zh) | 2021-02-26 | 2021-02-26 | 一种图像处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979457B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623337B (zh) * | 2022-09-20 | 2023-11-17 | 北京城市网邻信息技术有限公司 | 跳转指示信息显示方法、装置、电子设备及存储介质 |
CN115457179A (zh) * | 2022-09-21 | 2022-12-09 | 北京字跳网络技术有限公司 | 用于渲染虚拟对象的方法、装置、设备和介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246600A (zh) * | 2008-03-03 | 2008-08-20 | 北京航空航天大学 | 用球面全景摄像机实时生成增强现实环境光照模型的方法 |
WO2014010909A1 (ko) * | 2012-07-13 | 2014-01-16 | Song Hun Joo | 이동 자유도를 개선한 융합형 가상현실 구현 방법 |
CN104284092A (zh) * | 2014-10-16 | 2015-01-14 | 北京橙鑫数据科技有限公司 | 拍照方法及智能终端、云端服务器 |
CN104952063A (zh) * | 2014-03-25 | 2015-09-30 | Metaio有限公司 | 用于在真实环境的视图中表示虚拟对象的方法和系统 |
CN107909638A (zh) * | 2017-11-15 | 2018-04-13 | 网易(杭州)网络有限公司 | 虚拟物体的渲染方法、介质、系统和电子设备 |
CN108898675A (zh) * | 2018-06-06 | 2018-11-27 | 微幻科技(北京)有限公司 | 一种在虚拟场景中添加3d虚拟对象的方法及装置 |
CN108986199A (zh) * | 2018-06-14 | 2018-12-11 | 北京小米移动软件有限公司 | 虚拟模型处理方法、装置、电子设备及存储介质 |
CN110070621A (zh) * | 2018-01-19 | 2019-07-30 | 宏达国际电子股份有限公司 | 电子装置、显示增强现实场景的方法及电脑可读取媒体 |
CN110458902A (zh) * | 2019-03-26 | 2019-11-15 | 华为技术有限公司 | 3d光照估计方法及电子设备 |
US10573067B1 (en) * | 2018-08-22 | 2020-02-25 | Sony Corporation | Digital 3D model rendering based on actual lighting conditions in a real environment |
WO2020102978A1 (zh) * | 2018-11-20 | 2020-05-28 | 华为技术有限公司 | 图像处理方法及电子设备 |
CN111710049A (zh) * | 2020-06-18 | 2020-09-25 | 三星电子(中国)研发中心 | Ar场景中的环境光照确定方法和装置 |
CN111723902A (zh) * | 2019-03-21 | 2020-09-29 | 奥多比公司 | 使用神经网络动态估计增强现实场景中位置的照明参数 |
CN111833423A (zh) * | 2020-06-30 | 2020-10-27 | 北京市商汤科技开发有限公司 | 展示方法、装置、设备和计算机可读存储介质 |
CN112070906A (zh) * | 2020-08-31 | 2020-12-11 | 北京市商汤科技开发有限公司 | 一种增强现实系统及增强现实数据的生成方法、装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6329343B2 (ja) * | 2013-06-13 | 2018-05-23 | 任天堂株式会社 | 画像処理システム、画像処理装置、画像処理プログラム、および画像処理方法 |
GB2564642A (en) * | 2017-07-10 | 2019-01-23 | Nokia Technologies Oy | Methods and apparatuses for panoramic image processing |
-
2021
- 2021-02-26 CN CN202110217700.6A patent/CN114979457B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246600A (zh) * | 2008-03-03 | 2008-08-20 | 北京航空航天大学 | 用球面全景摄像机实时生成增强现实环境光照模型的方法 |
WO2014010909A1 (ko) * | 2012-07-13 | 2014-01-16 | Song Hun Joo | 이동 자유도를 개선한 융합형 가상현실 구현 방법 |
CN104952063A (zh) * | 2014-03-25 | 2015-09-30 | Metaio有限公司 | 用于在真实环境的视图中表示虚拟对象的方法和系统 |
CN104284092A (zh) * | 2014-10-16 | 2015-01-14 | 北京橙鑫数据科技有限公司 | 拍照方法及智能终端、云端服务器 |
CN107909638A (zh) * | 2017-11-15 | 2018-04-13 | 网易(杭州)网络有限公司 | 虚拟物体的渲染方法、介质、系统和电子设备 |
CN110070621A (zh) * | 2018-01-19 | 2019-07-30 | 宏达国际电子股份有限公司 | 电子装置、显示增强现实场景的方法及电脑可读取媒体 |
CN108898675A (zh) * | 2018-06-06 | 2018-11-27 | 微幻科技(北京)有限公司 | 一种在虚拟场景中添加3d虚拟对象的方法及装置 |
CN108986199A (zh) * | 2018-06-14 | 2018-12-11 | 北京小米移动软件有限公司 | 虚拟模型处理方法、装置、电子设备及存储介质 |
US10573067B1 (en) * | 2018-08-22 | 2020-02-25 | Sony Corporation | Digital 3D model rendering based on actual lighting conditions in a real environment |
WO2020102978A1 (zh) * | 2018-11-20 | 2020-05-28 | 华为技术有限公司 | 图像处理方法及电子设备 |
CN111723902A (zh) * | 2019-03-21 | 2020-09-29 | 奥多比公司 | 使用神经网络动态估计增强现实场景中位置的照明参数 |
CN110458902A (zh) * | 2019-03-26 | 2019-11-15 | 华为技术有限公司 | 3d光照估计方法及电子设备 |
CN111710049A (zh) * | 2020-06-18 | 2020-09-25 | 三星电子(中国)研发中心 | Ar场景中的环境光照确定方法和装置 |
CN111833423A (zh) * | 2020-06-30 | 2020-10-27 | 北京市商汤科技开发有限公司 | 展示方法、装置、设备和计算机可读存储介质 |
CN112070906A (zh) * | 2020-08-31 | 2020-12-11 | 北京市商汤科技开发有限公司 | 一种增强现实系统及增强现实数据的生成方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114979457A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113132620B (zh) | 一种图像拍摄方法及相关装置 | |
CN109951633B (zh) | 一种拍摄月亮的方法和电子设备 | |
CN112887583B (zh) | 一种拍摄方法及电子设备 | |
WO2022017261A1 (zh) | 图像合成方法和电子设备 | |
CN113542580B (zh) | 去除眼镜光斑的方法、装置及电子设备 | |
CN112712470A (zh) | 一种图像增强方法及装置 | |
CN114650363A (zh) | 一种图像显示的方法及电子设备 | |
CN114979457B (zh) | 一种图像处理方法及相关装置 | |
CN113170037A (zh) | 一种拍摄长曝光图像的方法和电子设备 | |
CN111103922A (zh) | 摄像头、电子设备和身份验证方法 | |
CN113556466A (zh) | 一种对焦方法和电子设备 | |
WO2022156473A1 (zh) | 一种播放视频的方法及电子设备 | |
CN110138999B (zh) | 一种用于移动终端的证件扫描方法及装置 | |
CN115115679A (zh) | 一种图像配准方法及相关设备 | |
CN117078509B (zh) | 模型训练方法、照片生成方法及相关设备 | |
WO2021115483A1 (zh) | 一种图像处理方法及相关装置 | |
CN113970888A (zh) | 家居设备控制方法、终端设备及计算机可读存储介质 | |
WO2022267783A1 (zh) | 确定推荐场景的方法及电子设备 | |
CN114338642B (zh) | 一种文件传输方法和电子设备 | |
CN114708289A (zh) | 一种图像帧预测的方法及电子设备 | |
CN112989092A (zh) | 一种图像处理方法及相关装置 | |
CN113542575A (zh) | 设备位姿调整方法和图像拍摄方法及电子设备 | |
CN115002333B (zh) | 一种图像处理方法及相关装置 | |
CN114942741B (zh) | 数据传输方法及电子设备 | |
CN115686182B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |