一种拍摄方法及电子设备与流程

文档序号:29252510发布日期:2022-03-16 10:10阅读:90来源:国知局
一种拍摄方法及电子设备与流程

1.本技术涉及终端技术领域,尤其涉及一种拍摄方法及电子设备。


背景技术:

2.随着计算机视觉和手机拍照技术的快速发展,很多增强现实(augmented reality,ar)拍照技术也越来越多地被运用在拍照中。例如,超级月亮拍照技术,人工智能(artificial intelligence,ai)技术以及计算机视觉技术等。电子设备采用现有的拍照技术预览和拍摄星空图像时,受到电子设备硬件设备具有局限性(比如,电子设备感光器件的近光量、器件噪声等)、需要辅助摄影设备(比如,三角架,追星仪等)、环境光干扰、天气条件等多种因素的影响,导致无法拍摄得到真实条件下的星空图像。


技术实现要素:

3.本技术实施例提供一种拍摄方法及电子设备,通过电子设备实时确定手机拍摄场景是否为夜晚星空等真实星空环境,避免了相机应用在非星空环境下拍摄星空图像存在的失真问题。而且,电子设备通过将相机的光轴指向的预测拍摄的星轨模板与相机应用实际拍摄的星空图像进行深度融合,并对融合后的星空图像进行亚像素级的校正,然后,电子设备对校正后的星空图像进行处理,并输出处理后的星空图像,从而拍摄得到真实条件下的星空图像,提高了星空图像的拍摄效果,增强了用户体验。
4.为达到上述目的,本技术采用如下技术方案:第一方面,本技术实施例提供一种拍摄方法,应用于具有摄像头的电子设备,包括:响应于摄像类应用程序的启动操作,电子设备显示预览界面,预览界面包括摄像头采集的第一图像,第一图像中包括星空;响应于拍摄操作,电子设备确定摄像头的光轴指向下的星点星图和星轨模板,星点星图中包括摄像头在预设状态下星空中包括的星体,星轨模板包括星点星图中的星体在摄像头的曝光时间内的移动轨迹;对第一图像和星轨模板进行模板匹配,生成星轨簇,星轨簇中包括第一图像中星体的移动轨迹,以及第一图像中的星体在星轨模板中对应的星体的移动轨迹;根据星轨簇和星点星图对第一图像中各星体进行配准,得到目标图像。
5.其中,第一图像为电子设备的预览界面中显示的预览图像。目标图像为对预览图像进行目标处理后的星空图像。星点星图中可以包括摄像类应用程序在理论状态下采集的星体。即预设状态可以为理论状态。
6.可以理解的是,电子设备在预览过程中是基于一定的帧率不断的采集第一图像,并在预览界面上显示采集的第一图像。在电子设备检测到用户的拍摄操作后,电子设备可以基于预览过程中采集的最后一帧第一图像,获得目标图像。
7.在本技术实施例中,电子设备采集得到包括星空的第一图像,从而电子设备确定当前拍摄场景为星空环境下的拍摄场景。电子设备对第一图像中星体的移动轨迹与星轨模
板中对应星体的移动轨迹进行模板匹配,并对匹配得到的星轨簇进行配准,不仅实现了对实际拍摄的星空图像中星体的位置进行还原,还可以拍摄得到真实条件下的星空图像,提高了星空图像的拍摄效果,增强了用户体验。
8.在一种可能的实现方式中,根据星轨簇和星点星图对第一图像中各星体进行配准之后,方法还包括:根据星轨簇和星点星图对第一图像中各星体的配准结果,确定第一图像与星点星图中各星体的对应关系;根据第一图像与星点星图中各星体的对应关系,对第一图像中各星体进行星点还原,得到第二图像,星点还原包括对第一图像中的星体进行亮度和位置进行还原;对第二图像中的至少一个星体的位置进行亚像素校正,得到第三图像;对第三图像进行图像增强处理,得到目标图像。
9.在本技术实施例中,根据星轨簇和星点星图对第一图像中各星体进行配准后,配准后的第一图像中也可能存在星体的亮度和位置与星点星图中对应的星体的亮度和位置不相符的情况,因此,电子设备对第一图像中各星体进行星点还原,然后,对星点还原后的图像进行亚像素校正和图像增强,从而使得拍摄的星空图像更加真实。
10.在另一种可能的实现方式中,上述拍摄方法还包括:获取电子设备显示第一图像时的全球定位系统gps信息和时间同步信息;根据gps信息和时间同步信息,确定电子设备所处的地理位置和当前时间;根据日出日落时间库、电子设备所处的地理位置和当前时间,确定电子设备拍摄场景为夜晚场景。
11.在本技术实施例中,电子设备确定拍摄场景为夜晚场景,从而避免了电子设备在非真实环境下拍摄得到星空图像的问题。
12.在另一种可能的实现方式中,确定电子设备拍摄场景为夜晚场景之后,,该拍摄方法还可以包括:根据摄像头采集第一图像时采用的感光度,曝光时间或根据预先训练的夜晚天空模型中的至少一种方法,确定第一图像中包括星空,其中,夜晚天空模型具有图像信息与对应的图像信息中是否包括星空的映射关系。
13.在本技术实施例中,电子设备确定拍摄场景为夜晚场景后,确定第一图像中包括星空,确定了摄像类应用程序采集的第一图像中包括夜晚的星空,从而避免了电子设备在非星空环境拍摄星空图像出现失真等问题。
14.在另一种可能的实现方式中,上述拍摄方法还可以包括:若电子设备确定第一图像中不包括星空,则电子设备显示提示信息,提示信息用于提示用户当前时间无法拍摄星空图像。
15.在本技术实施例中,电子设备确定第一图像不包括星空,比如,第一图像为摄像类应用程序在室内拍摄场景下采集的图像。这种情况下,电子设备可以通过显示提示信息的方式提示用户当前无法拍摄星空图像。
16.在一些实施例中,电子设备确定当前拍摄场景下采集的图像中不包括星空,电子设备还可以通过语音提示的方式提示用户当前时间无法拍摄星空图像。
17.在另一种可能的实现方式中,电子设备确定摄像头的光轴指向下的星点星图和星轨模板之前,方法还可以包括:电子设备确定摄像头的光轴指向。
18.在本技术实施例中,电子设备确定摄像头的光轴指向后,电子设备可以确定该光轴指向下的星点星图和星轨模板。在另一种可能的实现方式中,电子设备确定摄像头的光轴指向,包括:获取电子设备在世界坐标系下的gps信息、惯性测量单元imu信息以及罗盘信息;将世界坐标系下的gps信息、imu信息以及罗盘信息,转换为相机坐标系下的gps信息、imu信息以及罗盘信息;根据相机坐标系下的gps信息、imu信息以及罗盘信息,确定相机坐标系下的摄像头的光轴指向。
19.在另一种可能的实现方式中,电子设备确定摄像头的光轴指向下的星点星图,包括:根据摄像头的参数,将摄像头的光轴指向转换为天球坐标系下的摄像头的光轴指向;将电子设备显示第一图像的时间,转换目标时间,目标时间为在生成亮星星表的年份中对应的时间;根据天球坐标系下的摄像头的光轴指向以及目标时间,从亮星星表中查询得到摄像类应用程序拍摄到的星体及对应信息;根据摄像类应用程序拍摄到的星体及对应信息,生成摄像头的光轴指向下的星点星图。
20.上述参数可以为电子设备的相机的内参,即相机的内部参数,比如,焦距、像素大小等。
21.在另一种可能的实现方式中,电子设备确定摄像头的光轴指向下的星轨模板,包括:根据星点星图和曝光时间,确定星轨模板。
22.在本技术实施例中,星轨模板为星点星图中各星体在摄像头的曝光时间内的移动轨迹。因此,电子设备可以根据星点星图和摄像头的曝光时间,预测得到该星点星图对应的星轨模板。
23.在另一种可能的实现方式中,第一图像为拍照或录像场景下摄像头采集获得的图像。
24.第二方面,本技术实施例提供一种拍摄方法,应用于具有摄像头的电子设备,包括:响应于摄像类应用程序的启动操作,电子设备显示预览界面,预览界面包括摄像类应用程序采集的第四图像,第四图像中包括星空;电子设备确定摄像头的光轴指向下的星点星图,星点星图中包括摄像头在预设状态下星空中包括的星体;电子设备根据星点星图对第四图像进行星点还原,得到目标图像;电子设备在预览界面中显示目标图像。
25.在本技术实施例中,电子设备采集预览图像后,电子设备可以根据星点星图对预览图像中各星体进行星点还原,并在预览界面中显示星点还原后的目标图像,从而拍摄得到质量较好的图像。电子设备通过对预览图像中星体的亮度等级、位置等进行还原和优化,避免了由于手机硬件、天气、光污染等因素影响,导致相机应用无法拍摄得到真实条件下质量较好的星空图像,提高了用户的拍摄体验。
26.在一种可能的实现方式中,根据星点星图对第四图像进行星点还原之后,方法还包括:对星点还原后的第四图像中的至少一个星体的位置进行亚像素校正,得到第五图像;对第五图像进行图像增强处理,得到目标图像。
27.在本技术实施例中,电子设备对星点还原后的第四图像中各星体进行亚像素校正,和图像增强,从而提高了图像的拍摄质量。
28.在另一种可能的实现方式中,上述拍摄方法还可以包括:获取电子设备显示第四图像时的全球定位系统gps信息和时间同步信息;根据gps信息和时间同步信息,确定电子设备所处的地理位置和当前时间;根据日出日落时间库、电子设备所处的地理位置和当前时间,确定电子设备拍摄场景为夜晚场景。
29.在本技术实施例中,电子设备确定拍摄场景为夜晚场景,从而避免了电子设备在非真实环境下拍摄得到星空图像的问题。
30.在另一种可能的实现方式中,确定电子设备拍摄场景为夜晚场景之后,上述拍摄方法还可以包括:根据摄像头采集第四图像时采用的感光度,曝光时间或根据预先训练的夜晚天空模型中的至少一种方法,确定第四图像中包括星空,其中,夜晚天空模型具有图像信息与对应的图像信息中是否包括星空的映射关系。
31.在本技术实施例中,电子设备确定拍摄场景为夜晚场景后,确定第四图像中包括星空,确定了摄像类应用程序采集的第四图像中包括夜晚的星空,从而避免了电子设备在非星空环境拍摄星空图像出现失真等问题。
32.在另一种可能的实现方式中,上述拍摄方法还可以包括:电子设备确定第四图像中不包括星空,则电子设备显示提示信息,提示信息用于提示用户当前时间无法拍摄星空图像。
33.在另一种可能的实现方式中,确定摄像头的光轴指向下的星点星图之前,方法还包括:电子设备确定摄像头的光轴指向。
34.在另一种可能的实现方式中,电子设备确定摄像头的光轴指向,包括:获取电子设备在世界坐标系下的gps信息、惯性测量单元imu信息以及罗盘信息;将世界坐标系下的gps信息、imu信息以及罗盘信息,转换为相机坐标系下的gps信息、imu信息以及罗盘信息;根据相机坐标系下的gps信息、imu信息以及罗盘信息,确定相机坐标系下的摄像头的光轴指向。
35.在另一种可能的实现方式中,确定摄像头的光轴指向下的星点星图,包括:根据摄像头的参数,将摄像头的光轴指向转换为天球坐标系下的摄像头的光轴指向;将电子设备显示第四图像的时间,转换目标时间,目标时间为在生成亮星星表的年份中对应的时间;根据天球坐标系下的摄像头的光轴指向以及目标时间,从亮星星表中查询得到摄像类应用程序拍摄到的星体及对应信息;根据摄像类应用程序拍摄到的星体及对应信息,生成摄像头的光轴指向下的星点星图。
36.第三方面,本技术提供一种电子设备,包括:一个或多个处理器;存储器;其中,存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令,当指令被电子设备执行时,使得电子设备执行如上述第一方面中任一项所述的拍摄方法,或者,执行如上述第二方面中任一项所述的拍摄方法。
37.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有
指令,当指令在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的拍摄方法,或者,执行如上述第二方面中任一项所述的拍摄方法。
38.第五方面,本技术提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的拍摄方法,或者,执行如上述第二方面中任一项所述的拍摄方法。
39.可以理解地,上述提供的第三方面所述的电子设备、第四方面所述的计算机存储介质,以及第五方面所述的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
40.图1为本技术实施例提供的一种拍摄方法的应用场景示意图一;图2为本技术实施例提供的一种拍摄方法的应用场景示意图二;图3为本技术实施例提供的一种电子设备的结构示意图;图4为本技术实施例提供的一种电子设备的软件结构图;图5为本技术实施例提供的一种拍摄方法的应用场景示意图三;图6为本技术实施例提供的一种拍摄方法的应用场景示意图四;图7为本技术实施例提供的一种拍摄方法的应用场景示意图五;图8为本技术实施例提供的一种拍摄方法的应用场景示意图六;图9为本技术实施例提供的一种拍摄方法的应用场景示意图七;图10为本技术实施例提供的一种拍摄方法的应用场景示意图八;图11为本技术实施例提供的一种拍摄方法的流程示意图;图12为本技术实施例提供的另一种拍摄方法的流程示意图;图13为本技术实施例提供的一种拍摄方法的应用场景示意图九;图14为本技术实施例提供的一种拍摄方法的应用场景示意图十;图15为本技术实施例提供的一种拍摄方法的应用场景示意图十一;图16为本技术实施例提供的一种拍摄方法的应用场景示意图十二;图17为本技术实施例提供的一种拍摄方法的应用场景示意图十三;图18为本技术实施例提供的一种四边形角距簇配准示例图;图19为本技术实施例提供的另一种电子设备的结构示意图。
具体实施方式
41.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
42.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
43.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
44.目前,电子设备采用现有的ar拍照技术预览和拍摄星空图像时,受到电子设备硬件设备具有局限性、需要辅助摄影设备、环境光干扰、天气条件等多种因素的影响,导致无法拍摄得到真实条件下质量较好的星空图像。
45.示例性的,图1中的(a)示出了手机的一种用户界面图,当手机检测到用户点击桌面101上的相机应用(application,app)的图标102的操作后,可以启动相机应用,显示如图1中的(b)所示的拍摄界面103。上述拍摄界面103上可以包括取景框104,该取景框104内可以实时显示预览图像。需要解释的是,在拍照模式和录像模式(即视频拍摄模式)下,取景框104的大小可以相同,也可以不同,此处不做限定。例如,图1中的(b)所示的取景框可以为拍照模式下的取景框。在录像模式下,取景框104也可以为整个触摸屏。
46.示例性的,假设用户采用手机中的相机应用拍摄北斗七星,参见图1中的(b),手机响应于用户启动相机应用的操作(比如,触摸操作、语音操作等)启动相机应用后,取景框104中可以显示有北斗七星的预览图像。其中,北斗七星包括瑶光星、开阳星、玉衡星、天权星、天玑星、天璇星、天枢星。但是,由于手机受到光污染、天气条件等因素影响,导致手机拍摄得到的北斗七星中缺少天枢星,手机无法获取真实条件下质量较好的拍照图。
47.此外,现有的ar拍照技术通常是电子设备从恒星库中抽取对应经纬度的理论位置,将抽取的理论位置叠加到电子设备的相机应用的预览图像中,并未将理论位置与实际星空进行实时识别和配准增强,从而导致预览图像和拍摄图像存在失真的问题。
48.示例性的,如图2中的(a)所示,当手机检测到用户点击桌面201上的相机应用的图标202的操作后,可以启动相机应用,显示如图2的(b)所示的拍摄界面203。若该手机响应于用户的操作开启了ar星空拍摄模式,当用户使用该手机拍摄人像,上述拍摄界面203的取景框204内可以显示有人像以及星空图。可见,如图2的(b)所示的手机拍摄得到的图像,仅是手机从恒星库中抽取对应经纬度的理论位置叠加到相机应用的预览图像中,从而导致手机拍摄得到的预览图像和拍摄图像存在失真问题。
49.为此,本技术实施例提供一种拍摄方法,可以应用于电子设备,该方法相机应用启动后,电子设备实时确定手机拍摄场景是否为夜晚星空,避免了相机应用在非星空环境下拍摄星空图像存在的失真问题。电子设备通过将相机的光轴指向的预测拍摄的星轨模板与相机应用实际拍摄的星空图像进行深度融合,并对融合后的星空图像进行亚像素级的校正,然后,电子设备对校正后的星空图像进行处理,并输出处理后的星空图像。由此,避免了由于手机硬件、天气、光污染等因素影响,导致相机应用无法拍摄得到真实条件下质量较好的星空图像,提高了用户的拍摄体验。
50.示例性的,本技术实施例提供拍摄方法可应用于手机、平板电脑、个人计算机(personal computer,pc)、个人数字助理(personal digital assistant,pda)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、车载设备、智能汽车、智能音响等具有显示屏的电子设备,本技术实施例对此不做任何限制。
51.如图3所示,图3为本技术实施例提供的电子设备的一种结构示意图。
52.电子设备300可以包括处理器310,外部存储器接口320,内部存储器321,通用串行总线(universal serial bus,usb)接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370a,受话器370b,麦克风370c,耳机接口370d,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,sim)卡接口395等。其中传感器模块380可以包括压力传感器380a,陀螺仪传感器380b,气压传感器380c,磁传感器380d,加速度传感器380e,距离传感器380f,接近光传感器380g,指纹传感器380h,温度传感器380j,触摸传感器380k,环境光传感器380l,骨传导传感器380m等。
53.可以理解的是,本技术实施例示意的结构并不构成对电子设备300的具体限定。在本技术另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
54.处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
55.其中,控制器可以是电子设备300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
56.处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
57.在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
58.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在本技术另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
59.充电管理模块340用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
60.电源管理模块341用于连接电池342,充电管理模块340与处理器310。电源管理模块341接收电池342和/或充电管理模块340的输入,为处理器310,内部存储器321,外部存储
器,显示屏394,摄像头393,和无线通信模块360等供电。电源管理模块341还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
61.电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调处理器以及基带处理器等实现。
62.天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
63.移动通信模块350可以提供应用在电子设备300上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块350可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块350还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
64.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器370a,受话器370b等)输出声音信号,或通过显示屏394显示图像或视频。
65.无线通信模块360可以提供应用在电子设备300上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
66.在一些实施例中,电子设备300的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,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),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
67.电子设备300通过gpu,显示屏394,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏394和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
68.显示屏394用于显示图像,视频等。显示屏394包括显示面板。显示面板可以采用液
晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备300可以包括1个或n个显示屏394,n为大于1的正整数。
69.在本技术实施例中,显示屏394可以显示相机应用采集的预览图像和拍摄图像。
70.电子设备300可以通过isp,摄像头393,视频编解码器,gpu,显示屏394以及应用处理器等实现拍摄功能。
71.isp 用于处理摄像头393反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头393中。
72.摄像头393用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备300可以包括1个或n个摄像头393,n为大于1的正整数。
73.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
74.视频编解码器用于对数字视频压缩或解压缩。电子设备300可以支持一种或多种视频编解码器。这样,电子设备300可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
75.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备300的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
76.外部存储器接口320可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
77.内部存储器321可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器310通过运行存储在内部存储器321的指令,从而执行电子设备300的各种功能应用以及数据处理。内部存储器321可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器331可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
78.在本技术实施例中,内部存储器321中可以存储有日出日落时间库、亮星星表等。日出日落时间库和亮星星表也可以存储在电子设备的外部存储器中,此处不做限定。
79.电子设备300可以通过音频模块370,扬声器370a,受话器370b,麦克风370c,耳机接口370d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
80.音频模块370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。
81.扬声器370a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备300可以通过扬声器370a收听音乐,或收听免提通话。
82.受话器370b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备300接听电话或语音信息时,可以通过将受话器370b靠近人耳接听语音。
83.麦克风370c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风370c发声,将声音信号输入到麦克风370c。电子设备300可以设置至少一个麦克风370c。
84.耳机接口370d用于连接有线耳机。耳机接口370d可以是usb接口330,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
85.压力传感器380a用于感受压力信号,可以将压力信号转换成电信号。
86.陀螺仪传感器380b可以用于确定电子设备300的运动姿态。
87.气压传感器380c用于测量气压。
88.磁传感器380d包括霍尔传感器。电子设备300可以利用磁传感器380d检测翻盖皮套的开合。
89.加速度传感器380e可检测电子设备300在各个方向上(一般为三轴)加速度的大小。当电子设备300静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
90.距离传感器380f,用于测量距离。电子设备300可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备300可以利用距离传感器380f测距以实现快速对焦。
91.接近光传感器380g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备300通过发光二极管向外发射红外光。电子设备300使用光电二极管检测来自附近物体的红外反射光。
92.环境光传感器380l用于感知环境光亮度。电子设备300可以根据感知的环境光亮度自适应调节显示屏394亮度。环境光传感器380l也可用于拍照时自动调节白平衡。环境光传感器380l还可以与接近光传感器380g配合,检测电子设备300是否在口袋里,以防误触。
93.指纹传感器380h用于采集指纹。电子设备300可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
94.温度传感器380j用于检测温度。
95.触摸传感器380k,也称“触控面板”。触摸传感器380k可以设置于显示屏394,由触摸传感器380k与显示屏394组成触摸屏,也称“触控屏”。触摸传感器380k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触
摸事件类型。
96.骨传导传感器380m可以获取振动信号。
97.按键390包括开机键,音量键等。按键390可以是机械按键。也可以是触摸式按键。电子设备300可以接收按键输入,产生与电子设备300的用户设置以及功能控制有关的键信号输入。
98.马达391可以产生振动提示。马达391可以用于来电振动提示,也可以用于触摸振动反馈。
99.指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
100.sim卡接口395用于连接sim卡。sim卡可以通过插入sim卡接口395,或从sim卡接口395拔出,实现和电子设备300的接触和分离。电子设备300可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口395可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口395可以同时插入多张卡。多张卡的类型可以相同,也可以不同。sim卡接口395也可以兼容不同类型的sim卡。sim卡接口395也可以兼容外部存储卡。电子设备300通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备300采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备300中,不能和电子设备300分离。
101.电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明电子设备的软件结构。
102.图4为本技术实施例提供的一种电子设备的软件结构图。
103.可以理解的是,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,android系统可以包括应用程序层(简称为应用层)和应用程序框架层(简称为框架层)。
104.上述应用程序层可以包括一系列应用程序包。
105.如图4所示,应用程序包可以包括系统应用。其中,系统应用是指电子设备在出厂之前设置在电子设备内的应用。示例性的,系统应用可以包括相机、图库、日历、音乐、短信息以及通话等程序。
106.应用程序包还可以包括第三方应用,第三方应用是指用户从应用商店(或者应用市场)下载安装包后安装的应用。例如,地图类应用(例如百度地图
®
、高德地图
®
等)、外卖类应用(例如美团
®
、饿了么
®
等)、阅读类应用(例如电子书
®
)、社交类应用(例如微信
®
)以及出行类应用(例如滴滴打车
®
)等。
107.上述应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
108.如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
109.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
110.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
111.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
112.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
113.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
114.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,手机振动,指示灯闪烁等。
115.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
116.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
117.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
118.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),二维图形引擎(例如:sgl)等。
119.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维和三维图层的融合。
120.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: mpeg4,h.264,mp3,aac,amr,jpg,png等。
121.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
122.二维图形引擎是二维绘图的绘图引擎。
123.内核层是硬件和软件之间的层。内核层至少包含智能识别模块,配准精化模块,图像处理模块,图像输出模块,显示驱动,摄像头驱动,音频驱动以及传感器驱动。
124.其中,智能识别模块用于根据电子设备的gps和时间同步信号,判断电子设备的当前时间。然后,根据日出日落时间库,判断电子设备当前时间是否为夜晚。若智能识别模块确定电子设备当前时间为夜晚,则继续判断相机应用采集的预览图像流中是否存在星空。
125.配准精化模块用于确定手机中相机的光轴指向后,根据相机应用的内参和亮星星表,得到当前手机中相机光轴指向下的星点星图和星轨模板。配准精化模块还用于根据相机应用拍摄的超长曝光图像和星轨模板,进行星轨模板匹配,生成星轨簇后,根据星轨簇和星点星图,进行四边形角距簇配准,得到配准结果。配准精化模块还用于对相机应用拍摄的图像进行星点还原,得到还原后的星空图像,并对还原后的星空图像进行亚像素校正,得到校正后的星空图像。
126.图像处理模块用于对校正后的星空图像进行处理。比如,图像处理模块可以对校
正后的星空图像进行亮度增强、恒星补全或图像去噪去拖尾等图像处理操作。
127.图像输出模块用于输出图像处理模块处理后的星空图像。
128.以下实施例中所涉及到的技术方案均可以在具有上述硬件结构和软件架构的电子设备300中实现。以下仍以电子设备300为手机为例,对本方案进行示例性说明。
129.在本技术实施例中,当手机检测到用户点击桌面上的相机应用的图标的操作,启动相机应用后,在手机检测到用户用于指示星空拍摄模式的操作后,手机的相机应用进入星空拍摄模式。在星空拍摄模式下,手机可以对摄像头采集到的星空图像进行预览显示和保存。其中,手机响应于用户的指示进入星空拍摄模式的方式可以有多种。
130.在一实施例中,手机的拍摄界面上包括用于指示星空拍摄模式的第一控件,当手机检测到用户点击该第一控件的操作时,手机的相机应用进入星空拍摄模式。示例性的,该第一控件可以为图5中的(a)所示的控件501,或者,图5中的(b)所示的控件502。
131.在另一实施例中,手机的拍摄界面上包括更多选项601,参见图6中的(a)。当手机检测到用户点击更多选项601后,手机显示拍摄模式界面,参见图6中的(b)。在手机检测到用户点击拍摄模式界面上用于指示星空拍摄模式的控件602后,手机的相机应用进入星空拍摄模式。
132.在另一实施例中,手机的拍摄界面上包括ar拍摄模式701,参见图7中的(a)。当手机检测到用户点击ar拍摄模式701后,手机显示ar拍摄模式界面,参见图7中的(b)。在手机检测到用户点击ar拍摄模式界面上用于指示星空拍摄模式的控件702后,手机的相机应用进入星空拍摄模式。
133.在另一实施例中,在手机响应于用户的操作显示拍摄界面后,参见图8,若手机检测到用户语音指示进入星空拍摄模式或使用星空拍摄模式的操作,则相机应用进入星空拍摄模式。
134.在一些实施例中,当手机的相机应用进入星空拍摄模式后,手机的预览界面中显示预览图像。其中,预览图像为相机应用采集的未经过目标处理的星空图像。手机的预览界面显示预览图像的过程中,手机对预览图像进行处理,得到经过目标处理后的星空图像。然后,手机的预览界面中显示处理后的星空图像。手机响应于用户的拍摄操作采集得到处理后的星空图像。由此,手机的预览界面可以直观的显示预览图像经过目标处理前后的图像。示例性的,手机的预览界面中显示的预览图像,参见图9中的(a),手机中的预览界面中显示经过目标处理的星空图像,参见图9中的(b)。
135.在另一些实施例,当手机的相机应用进入星空拍摄模式后,手机的预览界面中直接显示手机对预览图像进行目标处理后的星空图像。然后,手机响应于用户的拍摄操作采集得到处理后的星空图像。由此,手机的预览界面直接显示经过目标处理后的星空图像,提高了用户的拍摄体验。示例的,手机的预览界面中可以直接显示经过目标处理的星空图像,参见图9中的(b)。
136.在另一些实施例中,当手机的相机应用进入星空拍摄模式后,手机的预览界面中显示预览图像。其中,预览图像为相机应用采集的未经过目标处理的星空图像。手机检测到用户触发拍照控件的操作后,相机应用响应于用户的操作,采集原始星空图像。然后,手机对原始星空图像进行目标处理,得到处理后的星空图像,手机将该处理后的星空图像在相机应用的预设区域进行显示并对该处理后的星空图像进行存储。由此,手机检测到用户的
拍摄操作后,对相机应用采集的原始星空图像进行目标处理,提高了图像拍摄的质量。
137.示例性的,手机的预览界面中显示的预览图像,参见图10中的(a),手机检测到用户的拍照操作后,对采集的原始星空图像进行处理后的图像,参见图10中的(b)的预设区域110中显示的图像。
138.需要解释的是,手机的相机应用进入星空拍摄模式,手机的预览界面在拍照场景下显示预览图像,或者,相机应用在拍照场景下采集的原始星空图像。当然,上述原始星空图像也可以为相机应用在录像场景下采集的图像,此处不做限定。比如,相机应用在录像场景下采集原始星空图像帧,手机对相机应用采集的每一帧原始星空图像帧进行目标处理,得到处理后的星空图像帧。
139.在本技术实施例中,为了提高拍照质量,用户可以将手机固定在三角架上采集星空图像,从而避免了用户手持手机拍摄时由于抖动等原因,导致拍摄的星空图像出现模糊等现象。
140.上述手机的相机应用进入星空拍摄模式后,拍摄得到星空图像的过程可以参见图11进行相机介绍。上述手机对预览图像或采集的原始星空图像进行目标处理的具体的处理过程可以参见图12进行详细介绍。图11为本技术实施例提供的一种拍摄方法的流程示意图。
141.如图11所示,该拍摄方法可以包括以下步骤:步骤s1,智能识别模块判断手机当前时间是否为夜晚。
142.在本技术实施例中,手机的相机应用进入星空拍摄模式后,智能识别模块从手机的gps传感器模块实时获取手机当前的gps信号和时间同步信号。智能识别模块根据手机当前的gps信号和时间同步信号,确定手机当前所处的地理位置(比如,手机所处位置的经度和纬度)和手机的当前时间。比如,智能识别模块根据手机当前的gps信号和时间同步信号确定手机当前所处的地理位置为北京,以及确定手机当前时间为2022年1月20日的20:00。
143.智能识别模块从手机的存储器中获取预先存储的日出日落时间库,然后,智能识别模块根据手机当前时间、地理位置以及日出日落时间库中记载的日出日落时间,判断用户使用手机拍摄的时间是否为夜晚。
144.其中,日出日落时间库中包括任意时间任意地理位置的日出时间、日落时间、正午时间、黄昏时间、黎明时间等信息。在本技术实施例中,日出日落时间库可以存储在手机的内部存储器中,也可以存储在手机的外部存储器中,此处不做限定。
145.示例性的,假设智能识别模块确定手机当前时间为2022年1月20日的20:00,当前地理位置为北京。若智能识别模块从日出日落库中查询得到北京在2022年1月20日的日落时间为17:21,则智能识别模块确定手机当前时间为夜晚。
146.在本技术实施例中,若步骤s1中智能识别模块确定手机当前时间为夜晚,则执行步骤s2,否则,手机可以提示用户当前时间无法拍摄星空图像。
147.在本技术实施例中,智能识别模块确定手机当前时间是白天,并非夜晚。这种情况下,用户采用该手机在星空拍摄模式下无法拍摄得到真实的星空图像。在本技术实施例中,手机可以提示用户当前时间无法拍摄星空图像,且相机应用自动退出星空拍摄模式。或者,手机提示用户当前时间无法拍摄星空图像后,相机应用可以响应于用户退出星空拍摄模式的操作,退出星空拍摄模式。
148.此处,相机应用退出星空拍摄模式后,相机应用可以默认切换为普通拍摄模式。或者,相机应用还可以根据用户的预先设置切换为用户设置的拍摄模式,比如,相机应用可以从星空拍摄模式切换为夜景拍摄模式等,此处不做限定。
149.在一实施例中,智能识别模块确定手机当前时间并非夜晚后,手机的显示界面可以通过显示提示信息的方式提示用户当前时间无法拍摄星空图像。手机的相机应用在手机显示提示信息持续预设时长后(比如,3s或5s),相机应用自动退出星空拍摄模式。示例性的,如图13中的(a)所示,手机可以通过系统弹窗的方式显示提示信息“当前时间无法拍摄星空”,并在手机的界面显示系统弹窗5s后,相机应用自动退出星空拍摄模式。相机应用自动退出星空拍摄模式后可以切换为普通拍摄模式,如图13中的(b)所示。
150.在另一实施例中,智能识别模块确定手机当前时间并非夜晚后,手机的显示界面可以通过显示提示信息的方式提示用户当前时间无法拍摄星空图像。当手机检测到用户退出星空拍摄模式的操作后,确定退出星空拍摄模式。示例性的,如图14中的(a)所示,手机通过系统弹窗的方式显示提示信息“当前时间无法拍摄星空,是否退出星空拍摄模式”。若手机检测到用户点击“是”控件的操作后,相机应用退出星空拍摄模式。相机应用退出星空拍摄模式后可以切换为普通拍摄模式,如图14中的(b)所示。
151.在另一实施例中,智能识别模块确定手机当前时间并非夜晚后,手机可以通过语音提示的方式提醒用户当前时间无法拍摄星空图像。手机播放语音提示信息一段时间后,相机应用可以自动退出星空拍摄模式。比如,手机可以语音播放提示信息“当前时间无法拍摄星空图像”。相机应用可以在手机语音播放提示信息3s后自动退出星空拍摄模式。或者,手机可以在播放语音提示信息的同时提醒用户手动操作相机应用退出星空拍摄模式。比如,手机可以语音播放提示信息“当前时间无法拍摄星空图像,请退出星空拍摄模式”。当手机检测到用户退出星空拍摄模式的操作后,相机应用退出星空拍摄模式。
152.需要解释的是,上述手机提示用户当前时间无法拍摄星空图像,以及相机应用退出星空拍摄模式的方式仅作为示例性描述,其它任意提示方式或退出星空拍摄模式的方式也可以适用于本技术实施例中,本技术实施例中对此不做限定。
153.步骤s2,智能识别模块判断相机应用采集的预览图像中是否存在星空。
154.在本技术实施例中,智能识别模块确定手机当前时间为夜晚后,智能识别模块可以获取手机的相机应用启动后采集的预览图像流,进而,智能识别模块可以根据预览图像流判断相机应用当前采集的预览图像中是否存在星空。其中,预览图像流中包括相机应用采集的至少一张预览图像。
155.在本技术实施例中,智能识别模块可以根据相机应用采集预览图像流时,相机应用使用的感光度iso,相机应用使用的曝光时间或根据预先训练的夜晚天空模型中的至少一种方法,判断各预览图像中是否存在星空。
156.其中,感光度iso是相机应用对光线反应的敏感程度。感光度iso值越大,相机对光线越敏感。
157.曝光时间是指相机应用拍摄时,为了将光投射到相机感光材料的感光面上,快门所要打开的时间。曝光时间长进的光就多,适合光线条件比较差的情况。曝光时间短则适合光线条件比较好的情况。比如,若用户使用相机应用拍摄星体的轨迹,就需要很长的曝光时间(比如,几个小时),这样星体的长时间运动轨迹就会在底片上成像。若用户使用相机应用
拍摄飞驰的汽车的身影,就需要很短的曝光时间(比如,千分之一秒)。
158.夜晚天空模型是采用大量的样本图像训练得到的,具有相机应用采集的图像信息与对应的图像中是否存在星空的映射关系。即智能识别模块将相机应用采集的预览图像或拍摄图像输入夜晚天空模型后,夜晚天空模型输出该预览图像或拍摄图像中是否存在星空。
159.在一实施例中,假设智能识别模块根据相机应用采集预览图像流时的感光度iso,判断各预览图像中是否存在星空。智能识别模块可以获取相机应用采集预览图像流时的感光度iso,智能识别模块判断该感光度iso值是否大于感光度阈值。比如,感光度阈值可以设置为iso600或iso800等。若智能识别模块确定相机应用使用的感光度iso值大于感光度阈值,则智能识别模块确定各预览图像为夜晚室外图像,即智能识别模块可以确定各预览图像中存在星空。若智能识别模块确定相机应用使用的感光度iso值小于或等于感光度阈值,则智能识别模块确定各预览图像不为夜晚室外图像,即智能识别模块可以确定各预览图像中不存在星空。
160.示例性的,假设该相机应用采集预览图像流时的感光度阈值为iso800,若智能识别模块获取相机应用采集预览图像流时使用的感光度iso值为iso1000,则智能识别模块确定该相机应用采集的各预览图像中存在星空。
161.需要解释的是,用户采用相机应用采集图像时,相机应用可以响应于用户的操作,在不同环境亮度下采用不同的感光度iso值。感光度iso值越大,相机对光线越敏感,快门所需时间就越短,但是相机应用采集的图像会出现较多的噪点,影响成像质量。因此,相机应用采集图像时一般只是在光线不足的情况下适当的调大感光度iso值。
162.在另一实施例中,假设智能识别模块根据相机应用采集预览图像流时的曝光时间,判断各预览图像中是否存在星空。智能识别模块可以获取相机应用采集预览图像流时的曝光时间,智能识别模块判断该曝光时间是否大于曝光时间阈值。其中,曝光时间阈值可以为预先设置的拍摄夜晚天空时的最小曝光时长。比如,曝光时间阈值可以设置为5s,10s等。若智能识别模块确定相机应用使用的曝光时间大于曝光时间阈值,则智能识别模块确定各预览图像为夜晚室外图像,即智能识别模块可以确定各预览图像中存在星空。若智能识别模块确定相机应用使用的曝光时间小于或等于曝光时间阈值,则智能识别模块确定各预览图像不为夜晚室外图像,即智能识别模块可以确定各预览图像中不存在星空。
163.示例性的,假设该相机应用采集预览图像流时的曝光时间阈值为10s,若智能识别模块获取相机应用采集预览图像流时使用的曝光时间为12s,则智能识别模块确定该相机应用采集的各预览图像中存在星空。
164.在另一实施例中,假设智能识别模块根据预先训练的夜晚天空模型,判断各预览图像中是否存在星空。比如,智能识别模块将获取到的相机应用采集的各预览图像输入夜晚天空模型,智能识别模块根据夜晚天空模型的输出确定各预览图像中存在星空。
165.在另一实施例中,智能识别模块还可以根据相机应用采集预览图像流时,相机应用使用的感光度iso或曝光时间,确定相机应用采集的各预览图像为夜晚室外图像。进一步地,智能识别模块将相机应用采集的各预览图像输入夜晚天空模型,智能识别模块根据夜晚天空模型的输出确定各预览图像中是否存在星空。由此,提高了智能识别模块确定相机应用的预览图像流中是否存在星空的准确率。
166.在本技术实施例中,当智能识别模块确定相机应用采集的预览图像中不存在星空,若用户继续使用相机应用在星空拍摄模式下拍摄图像,则相机应用拍摄得到的非星空环境下的图像存在失真问题。因此,本技术实施例中,智能识别模块确定相机应用采集的预览图像中不存在星空时,为了避免相机应用在非星空环境下无法拍摄得到质量较好的星空图像,提高相机应用的拍摄体验,手机可以提示用户当前时间无法拍摄星空,相机应用退出星空拍摄模式。此处,手机提示用户当前时间无法拍摄星空图像,以及相机应用退出星空拍摄模式的方式,可以参见上述步骤s1中的实现过程,此处不再赘述。
167.在一些实施例中,智能识别模块在获取到预览图像后,可以根据判断手机当前时间是否为夜晚,以及预览图像中是否包括星空,从而避免了用户在非星空环境下拍摄图像,导致采集的星空图像存在失真的问题。
168.在另一些实施例中,智能识别模块在获取到预览图像后,可以根据判断手机当前时间是否为夜晚,以及预览图像中是否包括星空。在手机的相机应用进入星空拍摄模式,并检测到用户的拍摄操作后,智能识别模块采集到相机应用拍摄的原始星空图像后,智能识别模块可以判断原始星空图像中是否包括星空。由此,避免了相机应用在预览场景下处于真实的星空拍摄场景,在实际拍摄时处于非星空环境的问题。
169.步骤s3,配准精化模块对预览图像或原始星空图像进行处理,得到处理后的星空图像。
170.在本技术实施例中,配准精化模块对预览图像进行处理时,配准精化模块可以根据星点星图对预览图像中的各星体进行星点还原,得到还原后的星空图像。然后,配准精化模块对还原后的星空图像进行亚像素校正,得到处理后的星空图像。
171.在本技术实施例中,配准精化模块对原始星空图像进行目标处理的详细过程可以参见图12的处理过程,如图12所示,该处理过程可以包括如下子步骤s31至子步骤s37。
172.子步骤s31,配准精化模块确定手机中相机的光轴指向。
173.其中,相机的光轴指向是指相机的镜头的指向。
174.在一些实施例中,配准精化模块可以实时从手机的gps传感器模块、惯性测量单元(inertial measurement unit,imu)以及磁罗盘传感器,获取手机的gps信息、imu信息以及罗盘信息。配准精化模块根据手机的gps信息、imu信息以及罗盘信息,计算相机坐标系下手机当前的自由度(degrees of freedom,dof)姿态。其中,dof姿态可以为3dof姿态或6dof姿态。3dof姿态是指有3个转动方向的自由度,6dof姿态是指有6个转动方向的自由度。
175.需要解释的是,配准精化模块获取到的手机的gps信息、imu信息以及罗盘信息,均为世界坐标系下的信息。配准精化模块可以将世界坐标系下的gps信息、imu信息以及罗盘信息,转换为相机坐标系下的gps信息、imu信息以及罗盘信息。然后,配准精化模块根据相机坐标系下的gps信息、imu信息以及罗盘信息,计算相机坐标系下手机当前的dof姿态。进而,配准精化模块根据手机当前的dof姿态,确定手机中相机的光轴指向。
176.子步骤s32,配准精化模块根据相机应用的内参和亮星星表,得到当前手机中相机光轴指向下的星点星图和星轨模板。
177.其中,相机应用的内参是指与相机应用自身特性相关的参数。比如,相机应用的内参可以为焦距、像素大小等。
178.亮星星表包括各星体在天球坐标系下的亮度等级、经度、纬度以及误差量。在本申
请实施例中,天球坐标系可以为j2000协议天球坐标系。即亮星星表中可以包括各星体在2000年时在地球坐标系下的亮度等级、经度、纬度以及误差量。比如,亮星星表可以为耶鲁亮星星表,依巴谷星表,波恩巡天星表,博斯星表等等,此处不做限定。本技术实施例中,亮星星表可以存储在手机的内部存储器或外部存储器中,此处不做限定。
179.星点星图中包括当前手机相机的光轴指向下,相机应用可以采集到的所有的星体。比如,某一相机应用在夜晚可能采集的所有星体的星点星图可以参见图15所示。星轨模板包括星点星图中的所有星体在相机应用的曝光时间内的移动轨迹。示例性的,相机应用的曝光时间为1s,则星轨模板中包括该相机应用预期拍摄的所有星体在1s时间内的移动轨迹。比如,某一相机应用在夜晚可能采集的所有星体的星轨模板可以参见图16所示。
180.在一些实施例中,假设亮星星表为耶鲁亮星星表,星点星图可以为耶鲁星点星图,其中,耶鲁星点星图为当前手机相机的光轴指向下,通过查询耶鲁亮星星表确定的相机应用可以采集到的所有的星体。星轨模板为耶鲁星点星图中的所有星体在相机应用的曝光时间内的移动轨迹。
181.在本技术实施例中,配准精化模块根据手机的相机应用的内参和亮星星表,通过天文时间系统转换和天文坐标测量系统转换,得到当前手机中相机光轴指向下的星点星图。然后,配准精化模块根据星点星图以及相机应用的曝光时间,生成包含有所有星体的预设轨迹的星轨模板。
182.需要解释的是,在用户采用相机应用拍摄夜晚星空图像时,由于夜晚的光线不足,相机应用采用的曝光时间较长,相机应用拍摄得到的星空图像中的星体可能是星轨。因此,本技术实施例中,为了提高星空图像拍摄的真实性,配准精化模块根据星点星图以及相机应用采用的曝光时间,生成包含有所有星体的预设轨迹的星轨模板。
183.在一些实施例中,配准精化模块可以根据手机的相机应用的内参,通过天文坐标测量系统转换将相机应用在相机坐标系下的光轴指向转换为相机应用在天球坐标系下的光轴指向。配准精化模块可以通过天文时间系统转换将相机应用当前采集星空图像的时间,转换为2000年时的时间。然后,配准精化模块根据相机应用在天球坐标系下的光轴指向以及当前手机在2000年时的时间,从亮星星表中查询得到该相机应用可以拍摄到的所有的星体及对应的信息。
184.需要解释的是,用户采用手机中相机应用采集星空图像时,可能由于天气、环境光污染、相机应用的硬件配置等原因,导致相机应用无法拍摄到所有的星体。比如,相机应用拍摄范围的有的星体被云遮挡。在本技术实施例中,配准精化模块可以从亮星星表中查询得到该相机应用当前可以拍摄到的所有的星体。
185.在一些实施例中,配准精化模块根据手机的相机应用的内参和相机应用在相机坐标系下的光轴指向,计算相机应用在相机坐标系下的光轴指向。配准精化模块将相机应用在相机坐标系下的光轴指向转换为相机应用在相机东地北坐标系下的光轴指向。配准精化模块将相机应用在相机东地北坐标系下的光轴指向转换为相机应用在东北天坐标系下的光轴指向。配准精化模块将相机应用在东北天坐标系下的光轴指向转换为相机应用在国际地球参考系下的光轴指向。配准精化模块将相机应用在国际地球参考系下的光轴指向转换为相机应用在天球坐标系下的光轴指向。
186.在另一些实施例中,配准精化模块可以将手机的相机应用的内参和相机应用在相
机坐标系下的光轴指向,输入天文坐标测量模型。配准精化模块根据天文坐标测量模型的输出,确定相机应用在国际地球参考系下的光轴指向转换为相机应用在天球坐标系下的光轴指向。其中,天文坐标测量模型具有相机应用在相机坐标系下的光轴指向与相机应用在天球坐标系下的光轴指向的映射关系。由此,配准精化模块将相机应用的内存和相机应用在相机坐标系下的光轴指向,输入天文坐标测量模型,可以准确的得到相机应用在天球坐标系下的光轴指向。
187.在一些实施例中,配准精化模块根据手机当前的gps信息和时间信息,确定手机当前时间后,配准精化模块将手机当前时间转换为世界时地方时对应的时间。然后,配准精化模块将世界时地方时对应的时间转换为儒略年和儒略日对应的时间。进而,配准精化模块对儒略年和儒略日对应的时间进行恒星赤经赤尾修正后,将时间转换为平恒星时和真恒星时对应的时间。最后,配准精化模块对平恒星时和真恒星时对应的时间进行地球章动修正,得到手机当前时间对应的2000年的时间。
188.在另一些实施例中,配准精化模块根据手机当前的gps信息和时间信息,确定手机当前时间后,可以将手机的当前时间输入天文时间转换模型。配准精化模块根据天文时间转换模型的输出,确定手机当前时间对应的2000年的时间。
189.子步骤s33,配准精化模块判断相机应用采集的图像是否为超长曝光图像。
190.在本技术实施例中,若配准精化模块确定相机应用采集的图像为超长曝光图像,则执行子步骤s34,否则,执行子步骤s36。此处相机应用采集的图像为原始星空图像。
191.子步骤s34,配准精化模块根据相机应用拍摄的超长曝光图像和星轨模板,进行星轨模板匹配,生成星轨簇。
192.其中,超长曝光图像为手机的相机应用实际拍摄的星空图像。由于相机应用拍摄该超长曝光图像时的曝光时间较长,因此,该超长曝光图像中包含的是相机应用实际拍摄到的星体的轨迹,并非点状的星体。星轨簇中包括相机应用实际拍摄的超长曝光图像中星体的轨迹,与对应的星体在星轨模板中的轨迹。
193.在本技术实施例中,配准精化模块根据手机超长曝光图像和星轨模板进行模板匹配,生成星轨簇。其中,模板匹配指的是通过模板图像与测试图像之间的比较,找到测试图像上与模板图像相似的部分,这是通过计算模板图像与测试图像中目标的相似度来实现的,可以快速地在测试图像中定位出预定义的目标。
194.在本技术实施例中,模板图像为超长曝光图像,测试图像为星轨模板。模板匹配可以包括:基于灰度值的模板匹配、基于相关性的模板匹配以及基于形状的模板匹配等方法。
195.在一实施例中,配准精化模块还可以通过坐标变换的方式,将相机应用采集的超长曝光图像和星轨模板进行对齐。
196.示例性的,相机应用采集的超长曝光图像参见图17中的(a),星轨模板参见图17中的(b)。配准精化模块根据手机超长曝光图像和星轨模板进行模板匹配,得到的星轨簇参见图17中的(c)。
197.子步骤s35,配准精化模块根据星轨簇和星点星图,进行四边形角距簇配准,得到配准结果。
198.在本技术实施例中,配准精化模块对相机应用拍摄的超长曝光图像和星轨模板,进行星轨模板匹配后,相机采集的超长曝光图像与星轨模板之间是粗对齐情况。也就是说,
配准精化模块并未确定超长曝光图像与星轨模板中各星体的对齐关系。配准精化模块根据星轨簇和星点星图,进行四边形角距簇配准,得到配准结果。
199.在一些实施例中,配准精化模块对星轨簇中的星体,以每四个星体为一组进行循环遍历,每四个星体之间一共有6个角距。配准精化模块对6个角距之间进行配准,得到相机采集的超长曝光图像与星轨模板中各星体的对齐关系。
200.示例性的,如图18所示,假设配准精化模块从星轨簇中选取四个星体a、b、c和d。配准精化模块可以根据星体a和星体b的坐标,计算星体a和星体b之间的角距。同样的,配准精化模块可以计算星体a和星体c之间的角距,星体a与星体d之间的角距,星体c与星体d之间的角距,星体c与星体b之间的角距。配准精化模块从耶鲁星点星图中选取与星体a、b、c和d,分别匹配的星体a1、b1、c1和d1。同样的,配准精化模块可以计算出星体a1和星体b1之间的角距,星体a1和星体c1之间的角距,星体a1与星体d1之间的角距,星体c1与星体d1之间的角距,星体c1与星体b1之间的角距。若配准精化模块确定星体a1和星体b1之间的角距与星体a和星体b之间的角距相近或相同,则配准精化模块确定星体a1与星体a匹配,确定星体b1与星体b匹配。同样的,配准精化模块也可以确定星体c1与星体c之间是否匹配,以及星体d1与星体d之间是否匹配。
201.子步骤s36,配准精化模块对相机应用拍摄的图像进行星点还原,得到还原后的星空图像。
202.其中,星点还原是指根据亮星星表中相机应用可以拍摄到的星体的亮度等级、经度、纬度以及误差量,对相机应用实际拍摄到的星体的亮度、位置等进行还原。还原后的星空图像中包括各星体的星点坐标。
203.可以理解的是,由于天气、环境光污染等原因,导致相机应用实际拍摄的超长曝光图像或正常曝光图像中的星体的亮度和实际亮度不相符,或者,由于云层遮挡等原因导致相机应用实际拍摄的图像中部分星体无法显示等。因此,在本技术实施例中,配准精化模块根据耶鲁亮星星表中星体的亮度等级、经度、纬度以及误差量,对相机应用实际拍摄到的星体的亮度、位置等进行还原,得到还原后的星空图像。
204.示例性的,仍以上述图9所示,假设用户使用该相机应用拍摄北斗七星,配准精化模块对拍摄的星空图像进行星点还原前的图像参见图9中的(a)所示,由图9中的(a)可知,相机应用实际拍摄到的北斗七星中的玉衡星可能受光污染等因素的影响导致亮度较低,以及相机应用实际拍摄到的北斗七星中缺少天枢星。配准精化模块对拍摄的星空图像进行星点还原后的图像参见图9中的(b)所示。由图9可知,配准精化模块对相机应用拍摄的星空图像中的星体的亮度等级和位置进行了还原,从而得到了更加真实的星空图像。
205.子步骤s37,配准精化模块对还原后的星空图像进行亚像素校正,得到处理后的星空图像。
206.可以理解的是,图像均用像素点进行保存,亚像素是指图像中像素精度精确到0.01像素点。相当于,将图像分辨率提高了100倍。
207.在本技术实施例中,配准精化模块根据相机应用拍摄的超长曝光图像和星轨模板进行星轨模板匹配时,配准精化模块是对整个图像中的星体与星轨模板进行匹配,可能存在部分星体的位置匹配不准确的情况。因此,配准精化模块对星空图像进行还原后,还原后的星空图像中的星体的位置与星轨模板中对应的星体的位置之间可能存在位置差距。这种
情况下,配准精化模块可以对还原后的星空图像中的各星体的位置与星轨模板中的对应星体的位置进行匹配,以得到校正后的星空图像。
208.在一些实施例中,配准精化模块可以对还原后的星空图像的各星体进行质心提取,得到各星体的质心。配准精化模块根据各星体的质心以及各星体在星轨模板中的位置,确定各星体的最优单体位置,并计算各星体在星空图像中的全局最优位置。进而,配准精化模块得到校正后的星空图像。
209.需要解释的是,在本技术实施例中对配准精化模块执行上述子步骤s31至子步骤s37的执行过程不做限定。比如,配准精化模块还可以先执行子步骤s32,再执行子步骤s31。上述子步骤s31至子步骤s37的执行过程并非顺序执行过程,也可以为并列执行过程。比如,配准精化模块可以在执行子步骤s31的同时,执行子步骤s33,此处不做限定。
210.步骤s4,图像处理模块对处理后的星空图像进行图像增强。
211.本技术实施例中,配准精化模块将校正后的星空图像发送至图像处理模块后,图像处理模块对校正后的星空图像进行图像增强处理。
212.在一些实施例中,图像处理模块可以对校正后的星空图像进行亮度增强、恒星补全或图像去噪去拖尾等图像处理操作,以得到处理后的星空图像。由此,改善了星空图像的视觉效果,提高了星空图像的清晰度。
213.步骤s5,图像输出模块输出增强后的星空图像。
214.在本技术实施例中,图像处理模块对配准精化模块处理后的星空图像进行图像增强处理后,得到增强后的星空图像。图像处理模块将增强后的星空模块发送至图像输出模块,图像输出模块输出增强后的星空图像。此处,图像输出模块输出的增强后的星空图像可以相机应用的预览图像,也可以为相机应用的拍摄图像,此处不做限定。
215.综上所述,在本技术实施例中,相机应用启动后,智能识别模块实时确定手机拍摄场景是否为夜晚星空,避免了相机应用在非星空环境下拍摄星空图像存在的失真问题。配准精化模块通过将相机的光轴指向的预测拍摄的星轨模板与相机应用实际拍摄的星轨模板进行深度融合,并对融合后的星空图像进行星点还原,从而实现了对实际拍摄的星空图像中星体的亮度等级和位置进行还原。然后,配准精化模块对还原后的星空图像进行亚像素级的校正,图像处理模块对校正后的星空图像进行图像增强处理后,通过图像输出模块输出图像增强处理后的星空图像。可见,在本技术实施例中,电子设备通过对实际拍摄的星空图像中星体的亮度等级、位置等进行还原和优化,避免了由于手机硬件、天气、光污染等因素影响,导致相机应用无法拍摄得到真实条件下质量较好的星空图像,提高了用户的拍摄体验。
216.相较于相关技术中相机应用采集星空图像时,手机从恒星库中抽取对应经纬度的理论位置叠加到相机应用的预览图像中,从而导致手机拍摄得到的预览图像和拍摄图像存在失真问题。本技术实施例中,配准精化模块实时识别相机的光轴指向上相机应用可以采集到的恒星的亮度等级和位置信息等,从而避免了由于手机硬件、天气、光污染等因素影响,导致相机应用无法拍摄得到真实条件下质量较好的星空图像,提高了用户的拍摄体验。
217.如图19所示,本技术实施例公开了一种电子设备,该电子设备可以为上述手机。该电子设备具体可以包括:触摸屏1801,所述触摸屏1801包括触摸传感器1806和显示屏1807;一个或多个处理器1802;存储器1803;一个或多个应用程序(未示出);以及一个或多个计算
机程序1804,上述各器件可以通过一个或多个通信总线1805连接。其中,上述一个或多个计算机程序1804被存储在上述存储器1803中并被配置为被该一个或多个处理器1802执行,该一个或多个计算机程序1804包括指令,该指令可以用于执行上述实施例中的相关步骤。
218.可以理解的是,上述电子设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
219.本技术实施例可以根据上述方法示例对上述电子设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
220.在采用对应各个功能划分各个功能模块的情况下,上述实施例中涉及的电子设备的一种可能的组成示意图,该电子设备可以包括:显示单元、传输单元和处理单元等。需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
221.本技术实施例还提供一种电子设备,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述相关方法步骤实现上述实施例中的拍摄方法。
222.本技术的实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的拍摄方法。
223.本技术的实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的拍摄方法。
224.另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使装置执行上述各方法实施例中电子设备执行的拍摄方法。
225.其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或装置均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
226.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到 ,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前
述方法实施例中的对应过程,在此不再赘述。
227.在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
228.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
229.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1