CN117692789A - 图像处理方法、装置、电子设备及存储介质 - Google Patents

图像处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117692789A
CN117692789A CN202211066656.4A CN202211066656A CN117692789A CN 117692789 A CN117692789 A CN 117692789A CN 202211066656 A CN202211066656 A CN 202211066656A CN 117692789 A CN117692789 A CN 117692789A
Authority
CN
China
Prior art keywords
image processing
abstraction layer
hardware abstraction
image
photographing
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
Application number
CN202211066656.4A
Other languages
English (en)
Inventor
胡康
顾雨晴
张志辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202211066656.4A priority Critical patent/CN117692789A/zh
Publication of CN117692789A publication Critical patent/CN117692789A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Studio Devices (AREA)

Abstract

本公开涉及一种图像处理方法、装置、电子设备及存储介质,应用于电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,方法包括:所述应用层发送拍照请求至所述硬件抽象层,所述拍照请求包括对多帧原始图像进行合成处理的请求;所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置;所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像,避免返回拍照请求所请求的图像需要耗费较长时间的情况,提升拍摄效率,从而提升用户拍摄体验。

Description

图像处理方法、装置、电子设备及存储介质
技术领域
本公开涉及电子信息技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
随着图像技术的发展,大多数电子设备都能够实现多帧降噪(Multi Frame NoiseReduction,MFNR)、夜景拍摄/录制等功能,图像处理方法十分多样。其中,多帧降噪、夜景拍摄/录制等功能的特点是利用对多帧图像进行合成处理,得到高质量的图像。
然而,相关技术的多帧图像处理中,难以确保电子设备的拍摄处理效果,不能很好的满足使用需要。
发明内容
本公开提供一种图像处理方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种图像处理方法,应用于电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,所述方法包括:
所述应用层发送拍照请求至所述硬件抽象层,所述拍照请求包括对多帧原始图像进行合成处理的请求;
所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置;
所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像。
可选的,所述硬件抽象层包括第一硬件抽象层,所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置包括:
所述第一硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置。
可选的,所述第一硬件抽象层包括第一控制模块,所述第一硬件抽象层确定所述电子设备的负载状态,包括:
所述第一控制模块获取所述电子设备的设备状态信息,所述设备状态信息包括内存使用状态信息和温度状态信息中的至少一种;
所述第一控制模块根据所述设备状态信息,确定所述电子设备的负载状态。
可选的,所述第一硬件抽象层包括第一控制模块,所述第一硬件抽象层确定所述电子设备的负载状态,包括:
所述第一控制模块获取所述电子设备的拍照状态,所述拍照状态用于表征所述电子设备是否处于快速拍照状态;
所述第一控制模块根据所述拍照状态,确定所述电子设备的负载状态。
可选的,根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置,包括:
所述第一控制模块响应于所述负载状态为第一负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第一目标数量;
所述第一控制模块响应于所述负载状态为第二负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第二目标数量,所述第一负载状态优于第二负载状态,所述第一目标数量大于所述第二目标数量。
可选的,所述硬件抽象层还包括第二硬件抽象层,所述第一硬件抽象层还包括第二控制模块,所述操作系统还包括图像处理引擎,所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像,包括:
所述第二硬件抽象层获取图像传感器输出的所述目标数量的原始图像,并将获取的所述目标数量的原始图像发送至所述第二控制模块;
所述第二控制模块根据所述拍照请求,配置对所述目标数量的原始图像进行处理的图像处理策略,所述图像处理策略包括图像算法标识;
所述第二控制模块将所述原始图像和所述图像处理策略发送至所述图像处理引擎;
所述图像处理引擎根据所述图像处理策略中的图像算法标识调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像;
所述图像处理引擎将所述目标图像返回至所述第一硬件抽象层。
可选的,所述图像算法标识包括多个,所述图像处理策略还包括每个所述图像算法标识对应的图像处理算法的执行顺序,所述图像处理引擎根据所述图像处理策略中的图像算法标识调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像,包括:
所述图像处理引擎按照每个所述图像算法标识对应的图像处理算法的执行顺序,依次调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像。
可选的,所述图像处理引擎将所述目标图像返回至所述第一硬件抽象层,包括:
所述图像处理引擎将所述目标图像通过所述第二控制模块返回至所述第一控制模块;
所述方法还包括:
所述第一控制模块将所述目标图像的图像格式转换为所述第一应用程序支持的图像格式,并将转换图像格式后得到的图像返回至所述第一应用程序。
可选的,所述方法还包括:
在确定所述电子设备的负载状态之前,所述第一控制模块确定所述电子设备的硬件配置能够实现所述拍照请求。
可选的,所述第一控制模块确定所述电子设备的硬件配置能够实现所述拍照请求,包括:
所述第一控制模块获取硬件配置信息和所述电子设备的目标设备机型,所述硬件配置信息包括每种设备机型和与每种所述设备机型能够实现的请求类型;
所述第一控制模块在所述硬件配置信息中,查找到与所述目标设备机型对应的请求类型中包括所述拍照请求对应的请求类型的情况下,确定所述电子设备的硬件配置能够实现所述拍照请求。
可选的,所述第一应用程序包括第三方目标相机应用,所述应用层还包括相机软件开发工具包,所述操作系统还包括框架层,所述框架层包括授权管理模块,所述应用层发送拍照请求至所述硬件抽象层,包括:
所述应用层响应所述第三方目标相机应用的拍照操作,调用所述相机软件开发工具包生成拍照请求,并将所述拍照请求发送至所述授权管理模块;
所述授权管理模块对接收到的所述拍照请求进行校验,并在校验通过的情况下将所述拍照请求发送至所述第一硬件抽象层。
可选的,所述授权管理模块对接收到的所述拍照请求进行校验,并在校验通过的情况下将所述拍照请求发送至所述第一硬件抽象层,包括:
所述授权管理模块获取相机参数对应关系,所述相机参数对应关系包括不同第三方相机应用和与每种所述第三方相机应用对应的图像处理算法;
所述授权管理模块在所述相机参数对应关系中,查找到与所述第三方目标相机应用对应的图像处理算法包括能够实现所述拍照请求的图像处理算法的情况下,确定校验通过;
所述授权管理模块响应于确定校验通过,将所述拍照请求发送至所述第一硬件抽象层。
根据本公开实施例的第二方面,提供一种图像处理装置,应用于电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,所述装置包括:
发送模块,被配置为所述应用层发送拍照请求至所述硬件抽象层,所述拍照请求包括对多帧原始图像进行合成处理的请求;
配置模块,被配置为所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置;
处理模块,被配置为所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像。
可选的,所述硬件抽象层包括第一硬件抽象层,所述配置模块被配置为所述第一硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置。
可选的,所述第一硬件抽象层包括第一控制模块,所述配置模块被配置为所述第一控制模块获取所述电子设备的设备状态信息,所述设备状态信息包括内存使用状态信息和温度状态信息中的至少一种;所述第一控制模块根据所述设备状态信息,确定所述电子设备的负载状态。
可选的,所述第一硬件抽象层包括第一控制模块,所述配置模块被配置为所述第一控制模块获取所述电子设备的拍照状态,所述拍照状态用于表征所述电子设备是否处于快速拍照状态;所述第一控制模块根据所述拍照状态,确定所述电子设备的负载状态。
可选的,所述配置模块被配置为所述第一控制模块响应于所述负载状态为第一负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第一目标数量;所述第一控制模块响应于所述负载状态为第二负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第二目标数量,所述第一负载状态优于第二负载状态,所述第一目标数量大于所述第二目标数量。
可选的,所述硬件抽象层还包括第二硬件抽象层,所述第一硬件抽象层还包括第二控制模块,所述操作系统还包括图像处理引擎,所述处理模块包括:
获取子模块,被配置为所述第二硬件抽象层获取图像传感器输出的所述目标数量的原始图像,并将获取的所述目标数量的原始图像发送至所述第二控制模块;
策略子模块,被配置为所述第二控制模块根据所述拍照请求,配置对所述目标数量的原始图像进行处理的图像处理策略,所述图像处理策略包括图像算法标识;
发送子模块,被配置为所述第二控制模块将所述原始图像和所述图像处理策略发送至所述图像处理引擎;
调用子模块,被配置为所述图像处理引擎根据所述图像处理策略中的图像算法标识调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像;
返回子模块,被配置为所述图像处理引擎将所述目标图像返回至所述第一硬件抽象层。
可选的,所述图像算法标识包括多个,所述图像处理策略还包括每个所述图像算法标识对应的图像处理算法的执行顺序,所述调用子模块被配置为所述图像处理引擎按照每个所述图像算法标识对应的图像处理算法的执行顺序,依次调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像。
可选的,所述返回子模块被配置为所述图像处理引擎将所述目标图像通过所述第二控制模块返回至所述第一控制模块;
所述装置还包括:
格式转换模块,被配置为所述第一控制模块将所述目标图像的图像格式转换为所述第一应用程序支持的图像格式,并将转换图像格式后得到的图像返回至所述第一应用程序。
可选的,所述装置还包括:
确定模块,被配置为在确定所述电子设备的负载状态之前,所述第一控制模块确定所述电子设备的硬件配置能够实现所述拍照请求。
可选的,所述确定模块所述第一控制模块获取硬件配置信息和所述电子设备的目标设备机型,所述硬件配置信息包括每种设备机型和与每种所述设备机型能够实现的请求类型;所述第一控制模块在所述硬件配置信息中,查找到与所述目标设备机型对应的请求类型中包括所述拍照请求对应的请求类型的情况下,确定所述电子设备的硬件配置能够实现所述拍照请求。
可选的,所述第一应用程序包括第三方目标相机应用,所述应用层还包括相机软件开发工具包,所述操作系统还包括框架层,所述框架层包括授权管理模块,所述发送模块包括:
响应子模块,被配置为所述应用层响应所述第三方目标相机应用的拍照操作,调用所述相机软件开发工具包生成拍照请求,并将所述拍照请求发送至所述授权管理模块;
校验子模块,被配置为所述授权管理模块对接收到的所述拍照请求进行校验,并在校验通过的情况下将所述拍照请求发送至所述第一硬件抽象层。
可选的,所述校验子模块被配置为所述授权管理模块获取相机参数对应关系,所述相机参数对应关系包括不同第三方相机应用和与每种所述第三方相机应用对应的图像处理算法;所述授权管理模块在所述相机参数对应关系中,查找到与所述第三方目标相机应用对应的图像处理算法包括能够实现所述拍照请求的图像处理算法的情况下,确定校验通过;所述授权管理模块响应于确定校验通过,将所述拍照请求发送至所述第一硬件抽象层。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以通过所述应用层和所述硬件抽象层实现第一方面中任一项所述方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现第一方面中任一项所述方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:硬件抽象层根据电子设备的负载状态对拍照请求所请求的原始图像的目标数量进行配置,即在电子设备负载状态较差时,可以配置较低的目标数量,以此避免返回拍照请求所请求的图像需要耗费较长时间的情况,提升拍摄效率,从而提升用户拍摄体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种电子设备的操作系统的结构示意图。
图2是根据一示例性实施例示出的一种图像处理方法的流程图。
图3是根据一示例性实施例示出的一种电子设备的显示界面的示意图。
图4是根据一示例性实施例示出的一种第三方相机应用接入和不接入相机开发软件包的数据流对比示意图。
图5是根据一示例性实施例示出的一种生成目标图像的流程图。
图6是根据一示例性实施例示出的一种图像处理装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种电子设备的另一框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为实现对于图像的高清低噪的需求,提出了多种图像处理方法,比如多帧降噪(Multi Frame Noise Reduction,MFNR)算法,多帧降噪算法一次会拍多张图片,将这多张图片进行合成,以实现更高的清晰度与更低的噪声。在相关技术中,在利用上述对多帧图像进行合成处理的图像处理方法时,由于是利用多帧图像进行处理,底层处理得到的图像返回到电子设备的时间变长,此时,若电子设备受其自身状态影响,可能会导致底层处理得到的图像返回到电子设备的时间变得更长,影响用户拍摄体验。
此外,在相关技术中,具有相机功能的其他第三方应用很难使用到原生相机应用的高级软硬件算法,如MFNR算法、夜景拍照算法等等。
有鉴于此,本公开提供一种图像处理方法、装置、电子设备及存储介质,避免返回拍照请求所请求的图像需要耗费较长时间的情况,提升拍摄效率,从而提升用户拍摄体验。
以下结合各附图对本公开进行进一步解释说明。
图1是根据一示例性实施例示出的一种电子设备的操作系统的结构示意图。参照图1,电子设备的操作系统可以包括应用层、框架层、第一硬件抽象层、第二硬件抽象层、内核驱动层、硬件层和图像处理引擎。
应用层中可以设置有第一应用程序,第一应用程序可以提供UI控件,用户通过操作UI控件与第一应用程序进行交互。
第一应用程序可以是该电子设备的原生系统中的原生应用程序,该原生应用程序为由设备制造商或软件系统创建者创建和分发的应用程序,第一应用程序也可以是第三方提供的第三方应用程序,第三方应用程序是由供应商(该供应商可以是公司或个人)创建的应用程序,该第三方与设备制造商和/或设备的操作系统创建者不同,本公开对此不作限定。
值得说明的是,第一应用程序为具备相机功能的第一应用程序,即能够调用摄像头(图1所示的镜头模组、感光元件等)的应用。示例地,响应于第一操作,显示拍摄界面;在显示拍摄界面的情况下,响应于进行拍摄的第二操作,接收到拍摄请求。第一操作可以是用于触发第一应用程序调用摄像头的操作,第一应用程序可以为能够调用摄像头的应用程序。示例地,第一应用程序可以为相机应用程序,第一操作可以是用于开启第一应用程序的用户操作,以运行第一应用程序并显示拍摄界面;例如第一操作可以是对第一应用程序的应用程序图标的点击操作,或者是启动第一应用程序的语音操作。示例地,第一应用程序可以为相机应用程序之外能够调用摄像头功能的应用程序,例如能够进行影音通讯的即时通信应用程序、集成影像采集功能的内容记录应用程序(如备忘录应用程序或笔记应用程序),第一操作可以是通过第一应用程序调用拍摄功能的操作或者触发进入拍摄界面的操作,例如第一操作可以是对第一应用程序上的预设控件的点击操作。
框架层中可以包括接口层、相机服务、框架层接口(例如,图1所示的Binder接口),其中,接口层包括授权管理模块和相机应用接口(例如,图1所示的API(ApplicationProgramming Interface,应用程序接口)1和API2),接口层用于框架层与应用层的通信,相机服务用于接口层和框架层接口之间的通信,框架层接口用于框架层与第一硬件抽象层的通信。
第一硬件抽象层和第二硬件抽象层统称为硬件抽象层。其中,第一硬件抽象层作为框架层与第二硬件抽象层的中间层。第一硬件抽象层是对第二硬件抽象层程序的封装,向上提供接口,将应用层中的相机应用对摄像头的拍照处理请求进行重构,得到新的拍照处理请求,并接收第二硬件抽象层返回的基于新的拍照处理请求得到的数据,并经框架层将该数据返回至应用层。举例来讲,第一硬件抽象层从相机应用发起的处理请求中抽象不同场景图像数据的数据帧获取策略和处理需求,封装整体图像处理过程的实现细节,实现控制策略拆解下移,充分调用硬件资源为相机应用提供高品质的图像数据,这里的硬件资源参考对硬件层的解释说明。其中,在实现第一硬件抽象层与应用层和第一硬件抽象层与第二硬件层之间的通信时,第一硬件抽象层中可以包括第一硬件抽象层接口1(例如HAL3.0)、第一硬件抽象层接口2(例如Binder接口)和相机控制模块,相机控制模块包括第一控制模块和第二控制模块。第一硬件抽象层接口1用于与框架层连接,实现框架层与第一硬件抽象层的通信,第一硬件抽象层接口2用于与第二硬件抽象层中的平台接口连接,实现第二硬件抽象层与第一硬件抽象层的通信。值得说明的是,相机控制模块是进行抽象化的模块,用于实现电子设备负载状态的确定、第一目标数量的配置等等的功能,更进一步地,将相机控制模块抽象化为第一控制模块和第二控制模块,通过第一控制模块和第二控制模块实现相机控制模块的功能,第一控制模块和第二控制模块实现的功能可以参照下述实施例。
第二硬件抽象层可以理解为系统平台(例如安卓系统平台)硬件抽象层,第二硬件抽象层是对内核驱动程序的封装,向上提供接口,用于将硬件抽象化,为操作系统提供虚拟硬件平台。第二硬件抽象层相当于一个代理,把应用层、框架层和第一硬件抽象层对摄像头的拍照处理请求,转给正确的硬件驱动,并驱动相应的硬件去执行相应地动作,并返回从硬件获取的数据给应用层、框架层和第一硬件抽象层。其中,第二硬件抽象层中可以包括平台接口(例如HAL3.0),平台接口用于与内核驱动层通信。
内核驱动层中包括各个驱动(例如图1中的驱动1、驱动2等等),用于驱动硬件层内不同的硬件。
硬件层包括镜头模组、感光元件、图像信号处理器等等。
图像处理引擎中维护有多种算法(例如图1中的硬件算法和软件算法等),以下统称为软硬件算法。其中,图像算法引擎模块协调算法之间的数据流转。其中,软件算法面向不同的图像处理需求给出解决问题,例如畸变矫正、去紫边、多帧融合等算法,软件算法的运行依赖于系统的CPU(central processing unit,中央处理器)和GPU(graphicsprocessing unit,图形处理器)。硬件算法则是以图像信号处理器(Image SignalProcessor,ISP)为基础,组织ISP芯片部件完成相应的图像处理需求。
图2是根据一示例性实施例示出的一种图像处理方法的流程图,图像处理方法应用于图1所示的电子设备中,如图2所示,图像处理方法包括以下步骤:
在步骤S201中,应用层发送拍照请求至硬件抽象层。
需要说明的是,这里的硬件抽象层包括图1中所示的第一硬件抽象层和第二硬件抽象层,以下结合硬件抽象层包括第一硬件抽象层和第二硬件抽象层对本公开进行解释说明。
在一些实施例中,应用层可以响应原生相机应用的拍照操作,进而生成拍照请求;在一些实施例中,应用层可以响应第三方相机应用的拍照操作,进而生成拍照请求;在一些实施例中,应用层可以响应非相机应用但能够调用摄像头进行拍照的应用发起的拍照操作,进而生成拍照请求。生成的拍照请求会发送到第一硬件抽象层进行处理,以生成拍照请求所请求的目标图像。
其中,拍照请求包括对多帧原始图像进行合成处理的请求,例如具备MFNR功能的拍照请求。
图3是根据一示例性实施例示出的一种电子设备的显示界面的示意图,参照图3,图3中存在不同拍照功能的控件,每一种控件对应一种类型的拍照请求,用户可以点击不同的控件,生成不同类型的拍照请求。例如,拍照功能1对应的拍照请求是MFNR功能的拍照请求,对该拍照请求进行处理,可以获取经过MFNR算法处理得到的图像。
在步骤S202中,硬件抽象层确定电子设备的负载状态,并根据负载状态对接收到的拍照请求所请求的原始图像的目标数量进行配置。
需要说明的是,这里的电子设备的负载状态可以决定电子设备的处理任务的运行时间,这里的任务可以是响应拍照请求得到目标图像的任务。可以理解的是,电子设备的负载状态较差时,电子设备处理拍照请求所需要的运行时间更长。
可以理解的是,需要获取和处理的原始图像越多,电子设备所需要的运行时间会更长,因此,可以根据负载状态对接收到的拍照请求所请求的原始图像的目标数量进行配置,以对电子设备的运行时间进行把控。
在一些实施例中,上述的硬件抽象层确定电子设备的负载状态,并根据负载状态对接收到的拍照请求所请求的原始图像的目标数量进行配置的步骤可以通过以下方式实施包括:第一硬件抽象层确定电子设备的负载状态,并根据负载状态对接收到的拍照请求所请求的原始图像的目标数量进行配置。
在步骤S203中,硬件抽象层获取目标数量的原始图像,并根据与拍照请求对应的图像处理策略对目标数量的原始图像进行处理,得到目标图像。
这里,电子设备的第一硬件抽象层在收到应用层下发的拍照请求后,可以将配置原始图像的目标数量的拍照请求发送到第二硬件抽象层,第二硬件抽象层调用驱动层中的驱动,驱动硬件层中的各个硬件,以得到输出的目标数量的原始图像,并将目标数量的原始图像逐层返回至第一硬件层,根据与拍照请求对应的图像处理策略对目标数量的原始图像进行处理,得到目标图像。
通过上述方式,硬件抽象层根据电子设备的负载状态对拍照请求所请求的原始图像的目标数量进行配置,即在电子设备负载状态较差时,可以配置较低的目标数量,以此避免返回拍照请求所请求的图像需要耗费较长时间的情况,提升拍摄效率,从而提升用户拍摄体验。在一些实施例中,第一硬件抽象层包括第一控制模块。上述的第一硬件抽象层确定电子设备的负载状态的步骤可以通过以下方式实施:第一控制模块获取电子设备的设备状态信息;第一控制模块根据设备状态信息,确定电子设备的负载状态。
这里,设备状态信息可以包括内存使用状态信息和温度状态信息中的至少一种。
值得说明的是,内存使用状态信息可以表征电子设备的已使用资源情况,且在已使用资源越多时,表征电子设备的负载越多,且在负载较多时,电子设备处理拍照请求的运行时间会更长;同理,温度状态信息也可以表征电子设备的任务并行情况,且在电子设备并行任务较多时,电子设备的温度会更高,与之同时,表征电子设备的负载越多,且在负载较多时,电子设备处理拍照请求的运行时间可能会更长,这里任务包括电子设备的所有应用程序发起的需要处理的任务。
通过上述方式,利用电子设备的温度状态信息和内存使用状态信息来确定电子设备的负载情况,如此,可以更好的预估电子设备当前的负载情况,以便于通过负载情况对处理拍照请求所需的运行时间进行把控。
上述的第一硬件抽象层确定电子设备的负载状态的步骤可以通过以下方式实施:第一控制模块获取电子设备的拍照状态;第一控制模块根据拍照状态,确定电子设备的负载状态。
这里,拍照状态用于表征电子设备是否处于快速拍照状态,且可以理解的是,在电子设备处于快速拍照状态时,电子设备需要处理的拍照请求的频率变高,电子设备的负载越多,与之同时,处理单个拍照请求的运行时间也会随着频率变高而变长。
通过上述方式,利用电子设备是否处于快速拍照状态来确定电子设备的负载情况,如此,可以更好的预估电子设备当前的负载情况,以便于通过负载情况对处理拍照请求所需的运行时间进行把控。
在确定电子设备的负载情况后,可以根据负载情况对接收到的拍照请求所请求的原始图像的目标数量进行配置,以对处理拍照请求所需的运行时间进行把控。在一些实施例中,可以通过以下方式实现根据负载状态对接收到的拍照请求所请求的原始图像的目标数量进行配置:第一控制模块响应于负载状态为第一负载状态,对接收到的拍照请求所请求的原始图像的目标数量配置为第一目标数量;第一控制模块响应于负载状态为第二负载状态,对接收到的拍照请求所请求的原始图像的目标数量配置为第二目标数量。
这里,第一负载状态优于第二负载状态,第一目标数量大于第二目标数量。第一负载状态优于第二负载状态意指第一负载状态对应的负载小于第二负载状态对应的负载,即电子设备在第一负载状态下,相较于第二负载状态存在更多的空闲资源处理拍照请求。
示例地,在第二负载状态下第二目标数量为4帧,在第一负载状态下第二目标数量为8帧。在第二负载状态下获取以及处理的原始图像较少,如此,便可以降低因处理较多的原始图像所需要的等待时间,提高返回目标图像的运行时间。
承接上述示例,在内存使用状态信息表征电子设备负载较少时,确定负载状态为第一负载状态;在内存使用状态信息表征电子设备负载较多时,确定负载状态为第二负载状态。
承接上述示例,在温度状态信息表征电子设备负载较少时,确定负载状态为第一负载状态;在温度状态信息表征电子设备负载较多时,确定负载状态为第二负载状态。
承接上述示例,在电子设备处于快速拍照状态时,确定负载状态为第一负载状态;在电子设备未处于快速拍照状态时,确定负载状态为第二负载状态。
通过上述方式,基于不同的负载状态设置不同的目标数量,这样,可以避免在电子设备的负载状态表征的负载较多时,返回拍照请求所请求的图像需要耗费较长时间的情况;且可以使电子设备在图像质量和运行时间上实现平衡,以平衡电子设备的图像质量方面和拍摄效率方面的性能,避免因某一性能的严重不足影响用户拍摄体验。
在一些实施例中,第一硬件抽象层还包括第二控制模块,操作系统还包括图像处理引擎,上述的硬件抽象层获取目标数量的原始图像,并根据与拍照请求对应的图像处理策略对目标数量的原始图像进行处理,得到目标图像的步骤可以通过以下方式实施:第二硬件抽象层获取图像传感器输出的目标数量的原始图像,并将获取的目标数量的原始图像发送至第二控制模块;第二控制模块根据拍照请求,配置对目标数量的原始图像进行处理的图像处理策略,图像处理策略包括图像算法标识;第二控制模块将原始图像和图像处理策略发送至图像处理引擎;图像处理引擎根据图像处理策略中的图像算法标识调用对应的图像处理算法对目标数量的原始图像进行处理,得到目标图像,图像处理引擎将目标图像返回至第一硬件抽象层。
由前文可知,在第一硬件抽象层获取到第二硬件抽象层从硬件层拍摄的原始图像后,第一硬件抽象层中的第二控制模块会对根据拍照请求,配置对目标数量的原始图像进行处理的图像处理策略。例如,在拍照请求是MFNR拍照请求时,对应需要MFNR图像处理算法对目标数量的原始图像进行处理,以得到MFNR拍照请求所请求的图像。
其中,第二硬件抽象层可以先将原始图像返回至第一控制模块,由第一控制模块将原始图像和拍照请求发送至第二控制模块,以便于第二控制模块对原始图像进行处理的图像处理策略进行配置。
值得说明的是,图像处理引擎中的后处理算法管理模块用于根据图像处理策略中的图像算法标识调用对应的图像处理算法对目标数量的原始图像进行处理,这里的图像处理算法为图1中的软硬件算法。
值得说明的是,在第一硬件抽象层配置好目标数量后,会申请内存用于存放原始图像和目标图像,从第二硬件抽象层返回原始图像会存储至申请的与原始图像对应的内存中,从图像处理引擎返回的目标图像会存储至申请的与目标图像对应的内存中。
通过上述方式,通过第二控制模块对配置对目标数量的原始图像进行处理的图像处理策略,以使得图像处理引擎可以调用相应的图像处理算法对目标数量的原始图像进行处理,得到拍照请求所请求的目标图像。
在一些实施例中,拍照请求对应的图像处理算法可能不仅仅包括一种算法,在此情况下,图像处理引擎采用流水线式处理。举例来讲,图像算法标识可以包括多个,对应的,第二控制模块配置的图像处理策略还包括每个图像算法标识对应的图像处理算法的执行顺序,进而,图像处理引擎按照每个图像算法标识对应的图像处理算法的执行顺序,依次调用对应的图像处理算法对目标数量的原始图像进行处理,得到目标图像。
通过上述方式,动态地将各个图像处理算法连接起来,将目标数量的原始图像按照各个图像处理算法的执行顺序进行依次,得到最终目标图像所呈现的效果。
在一些实施例中,图像处理引擎将目标图像通过第二控制模块返回至第一控制模块,在这之后,第一控制模块将目标图像的图像格式转换为第一应用程序支持的图像格式,并将转换图像格式后得到的图像返回至第一应用程序。
一般来讲,图像处理引擎返回的图像的格式一般为YUV格式和RAW格式。因此,在返回第一应用程序之前,第一硬件抽象层需要对图像处理引擎返回的目标图像进行格式转换。一般来讲,应用层下发的拍照请求可以携带配置的图像格式信息,因此,第一控制模块可以根据该图像格式信息实现图像格式转换。值得说明的是,转换图像格式后得到的图像会先返回至框架层,再由框架层返回至应用层中的第一应用程序,便于目标图像的预览显示。
通过上述方式,通过对图像处理引擎返回的图像的格式进行格式转换,以得到符合第一应用程序支持的图像格式的图像。
在一些实施例中,在确定电子设备的负载状态之前,第一控制模块还可以先确定电子设备的硬件配置是否能够实现拍照请求,且在确定电子设备的硬件配置能够实现拍照请求的情况下,再执行确定电子设备的负载状态的步骤,在确定电子设备的硬件配置不能够实现拍照请求的情况下,也无需再执行确定电子设备的负载状态的步骤。
这样,若电子设备的硬件配置不能够实现拍照请求的情况下,也就无需执行后续步骤,从而可以避免电子设备产生不必要的功耗。
在一些实施例中,在确定电子设备的硬件配置不能够实现拍照请求的情况下,可以将拍照请求转换为普通类型的拍照请求,并下发到第二硬件抽象层进行处理,从而获得相应的图像。值得说明的是,普通拍照类型的拍照请求为电子设备的硬件配置能够实现的请求。
通过上述方式,在电子设备的硬件配置不能够实现较为高级的拍照请求(例如MFNR拍照请求)的情况下,可以转换为普通类型的拍照请求,以提升用户的拍照体验。
在一些实施例中,可以通过以下方式确定电子设备的硬件配置是否能够实现拍照请求:第一控制模块获取硬件配置信息和电子设备的目标设备机型,硬件配置信息包括每种设备机型和与每种设备机型能够实现的请求类型;第一控制模块在硬件配置信息中,查找到与目标设备机型对应的请求类型中包括拍照请求对应的请求类型的情况下,确定电子设备的硬件配置能够实现拍照请求。
其中,硬件配置信息可以存储在云端,以便于电子设备获取。
由前文可知,以第一应用程序包括第三方相机应用为例,为了能够使用到相机的高级软硬件算法,增加相机软件开发工具包,对第三方相机应用发起的拍照请求进行封装,以使得硬件抽象层能够在处理第三方相应应用发起的拍照请求时,能够调用图像算法引擎中的高级的软硬件算法。
图4是根据一示例性实施例示出的一种第三方相机应用接入和不接入相机开发软件包的数据流对比示意图。参照图4,第一第三方相机应用为接入相机开发软件包的第三方相机应用,第二第三方相机应用为不接入相机开发软件包的第三方相机应用,图4中带箭头的虚线表征第三方相机应用不接入相机开发软件包的数据流,图4中带箭头的实线表征第三方相机应用接入相机开发软件包的数据流。第二第三方相机应用发起的请求从应用层直接到框架层的接口层中的相机应用接口,相机应用接口直接将其请求透传到硬件抽象层,这样,第三方相机应用就不能使用电子设备的底层的软硬件算法。第一第三方相机应用发起的请求经相机开发软件包进行封装,该封装是用于声明封装后的请求为拍照请求,即对多帧原始图像进行合成处理的请求,再将封装后的得到拍照请求经框架层的接口层中的相机应用接口透传到硬件抽象层,这样,第一第三方相机应用就能够使用电子设备的底层的软硬件算法。
其中,以MFNR拍照请求为例,相机软件开发工具包生成的拍照请求的过程意指上述封装的过程,该封装可以包括图像尺寸、图像格式以及声明此次请求为MFNR拍照请求。
其中,提供底层的软硬件算法的平台方会在云端服务器为第三方相机应用开放使用底层软硬件算法的使用权限,为了验证第三方相机是否具有使用底层软硬件算法的使用权限,在应用层中的第三方目标相机应用发起拍照操作时,对拍照请求进行校验。
举例来讲,框架层包括授权管理模块,上述的应用层发送拍照请求至硬件抽象层的步骤可以包括:应用层响应第三方目标相机应用的拍照操作,调用相机软件开发工具包生成拍照请求,并将拍照请求发送至授权管理模块;授权管理模块对接收到的拍照请求进行校验,并在校验通过的情况下将拍照请求发送至第一硬件抽象层。
值得说明的是,为了便于校验第三方相机应用每次访问底层软硬件图像处理算法的权限,云端服务器中提供随第三方相机应用不同而不同的相机参数对应关系,相机参数对应关系包括不同第三方相机应用和与每种第三方相机应用对应的图像处理算法。
这样,上述的授权管理模块对接收到的拍照请求进行校验,并在校验通过的情况下将拍照请求发送至第一硬件抽象层的步骤可以通过以下方式实施:授权管理模块获取相机参数对应关系;授权管理模块在相机参数对应关系中,查找到与第三方目标相机应用对应的图像处理算法包括能够实现拍照请求的图像处理算法的情况下,确定校验通过;授权管理模块响应于确定校验通过,将拍照请求发送至第一硬件抽象层。
参照图5,生成目标图像的过程如下:应用层响应第三方目标相机应用的拍照操作,调用相机软件开发工具包生成拍照请求,并将拍照请求发送至授权管理模块;授权管理模块对接收到的拍照请求进行校验,并在校验通过的情况下将拍照请求发送至第一硬件抽象层中的相机控制模块,相机控制模块根据电子设备负载状态对拍照请求所请求的原始图像的目标数量进行配置,配好原始图像的目标数量的拍照请求会发送到第二硬件抽象层,以使第二硬件抽象层调用硬件层中硬件获取目标数量的原始图像,第二硬件抽象层将获取到的目标数量的原始图像返回至相机控制模块,相机控制模块根据拍照请求对目标数量的原始图像的图像处理策略进行配置,相机控制模块将目标数量的原始图像和目标数量的原始图像的图像处理策略发送至图像处理引擎,图像处理引擎根据图像处理策略中的图像算法标识调用对应的图像处理算法对目标数量的原始图像进行处理,得到目标图像,将目标图像返回至应用层,进行显示,这里的将目标图像返回至应用层应逐层返回,即将目标图像依次经第一硬件抽象层、框架层返回至应用层。
其中,图5中相机控制模块实现的功能可以由第一控制模块和第二控制模块实现,实施方式参照上述相关实施例,本实施例在此不做赘述。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的图像处理方法的步骤。
图6是根据一示例性实施例示出的一种图像处理装置的框图。该装置600应用于电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,该装置600包括:
发送模块601,被配置为所述应用层发送拍照请求至所述硬件抽象层,所述拍照请求包括对多帧原始图像进行合成处理的请求;
配置模块602,被配置为所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置;
处理模块603,被配置为所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像。
可选的,所述硬件抽象层包括第一硬件抽象层,所述配置模块602被配置为所述第一硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置。
可选的,所述第一硬件抽象层包括第一控制模块,所述配置模块602被配置为所述第一控制模块获取所述电子设备的设备状态信息,所述设备状态信息包括内存使用状态信息和温度状态信息中的至少一种;所述第一控制模块根据所述设备状态信息,确定所述电子设备的负载状态。
可选的,所述第一硬件抽象层包括第一控制模块,所述配置模块602被配置为所述第一控制模块获取所述电子设备的拍照状态,所述拍照状态用于表征所述电子设备是否处于快速拍照状态;所述第一控制模块根据所述拍照状态,确定所述电子设备的负载状态。
可选的,所述配置模块602被配置为所述第一控制模块响应于所述负载状态为第一负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第一目标数量;所述第一控制模块响应于所述负载状态为第二负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第二目标数量,所述第一负载状态优于第二负载状态,所述第一目标数量大于所述第二目标数量。
可选的,所述硬件抽象层还包括第二硬件抽象层,所述第一硬件抽象层还包括第二控制模块,所述操作系统还包括图像处理引擎,所述处理模块603包括:
获取子模块,被配置为所述第二硬件抽象层获取图像传感器输出的所述目标数量的原始图像,并将获取的所述目标数量的原始图像发送至所述第二控制模块;
策略子模块,被配置为所述第二控制模块根据所述拍照请求,配置对所述目标数量的原始图像进行处理的图像处理策略,所述图像处理策略包括图像算法标识;
发送子模块,被配置为所述第二控制模块将所述原始图像和所述图像处理策略发送至所述图像处理引擎;
调用子模块,被配置为所述图像处理引擎根据所述图像处理策略中的图像算法标识调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像;
返回子模块,被配置为所述图像处理引擎将所述目标图像返回至所述第一硬件抽象层。
可选的,所述图像算法标识包括多个,所述图像处理策略还包括每个所述图像算法标识对应的图像处理算法的执行顺序,所述调用子模块被配置为所述图像处理引擎按照每个所述图像算法标识对应的图像处理算法的执行顺序,依次调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像。
可选的,所述返回子模块被配置为所述图像处理引擎将所述目标图像通过所述第二控制模块返回至所述第一控制模块;
所述装置600还包括:
格式转换模块,被配置为所述第一控制模块将所述目标图像的图像格式转换为所述第一应用程序支持的图像格式,并将转换图像格式后得到的图像返回至所述第一应用程序。
可选的,所述装置600还包括:
确定模块,被配置为在确定所述电子设备的负载状态之前,所述第一控制模块确定所述电子设备的硬件配置能够实现所述拍照请求。
可选的,所述确定模块所述第一控制模块获取硬件配置信息和所述电子设备的目标设备机型,所述硬件配置信息包括每种设备机型和与每种所述设备机型能够实现的请求类型;所述第一控制模块在所述硬件配置信息中,查找到与所述目标设备机型对应的请求类型中包括所述拍照请求对应的请求类型的情况下,确定所述电子设备的硬件配置能够实现所述拍照请求。
可选的,所述第一应用程序包括第三方目标相机应用,所述应用层还包括相机软件开发工具包,所述操作系统还包括框架层,所述框架层包括授权管理模块,所述发送模块601包括:
响应子模块,被配置为所述应用层响应所述第三方目标相机应用的拍照操作,调用所述相机软件开发工具包生成拍照请求,并将所述拍照请求发送至所述授权管理模块;
校验子模块,被配置为所述授权管理模块对接收到的所述拍照请求进行校验,并在校验通过的情况下将所述拍照请求发送至所述第一硬件抽象层。
可选的,所述校验子模块被配置为所述授权管理模块获取相机参数对应关系,所述相机参数对应关系包括不同第三方相机应用和与每种所述第三方相机应用对应的图像处理算法;所述授权管理模块在所述相机参数对应关系中,查找到与所述第三方目标相机应用对应的图像处理算法包括能够实现所述拍照请求的图像处理算法的情况下,确定校验通过;所述授权管理模块响应于确定校验通过,将所述拍照请求发送至所述第一硬件抽象层。
图7是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备700可以包括以下一个或多个组件:第一处理组件702,第一存储器704,第一电源组件706,多媒体组件708,音频组件710,第一输入/输出接口712,传感器组件714,以及通信组件716。
第一处理组件702通常控制电子设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。第一处理组件702可以包括一个或多个第一处理器720来执行指令,以完成上述的图像处理方法的全部或部分步骤。此外,第一处理组件702可以包括一个或多个模块,便于第一处理组件702和其他组件之间的交互。例如,第一处理组件702可以包括多媒体模块,以方便多媒体组件708和第一处理组件702之间的交互。
第一存储器704被配置为存储各种类型的数据以支持在电子设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。第一存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
第一电源组件706为电子设备700的各种组件提供电力。第一电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述电子设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当电子设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在第一存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
第一输入/输出接口712为第一处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到电子设备700的打开/关闭状态,组件的相对定位,例如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700一个组件的位置改变,用户与电子设备700接触的存在或不存在,电子设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图像处理方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的第一存储器704,上述指令可由电子设备700的第一处理器720执行以完成上述图像处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备800可以被提供为一服务器。参照图8,电子设备800包括第二处理组件822,其进一步包括一个或多个第二处理器,以及由第二存储器832所代表的存储器资源,用于存储可由第二处理组件822的执行的指令,例如应用程序。第二存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,第二处理组件822被配置为执行指令,以执行上述图像数据处理方法的步骤。
电子设备800还可以包括一个第二电源组件826被配置为执行电子设备800的电源管理,一个有线或无线网络接口850被配置为将电子设备800连接到网络,和一个第二输入/输出接口858。电子设备800可以操作基于存储在第二存储器832的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种图像处理方法,其特征在于,应用于电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,所述方法包括:
所述应用层发送拍照请求至所述硬件抽象层,所述拍照请求包括对多帧原始图像进行合成处理的请求;
所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置;
所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像。
2.根据权利要求1所述的方法,其特征在于,所述硬件抽象层包括第一硬件抽象层,所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置包括:
所述第一硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置。
3.根据权利要求2所述的方法,其特征在于,所述第一硬件抽象层包括第一控制模块,所述第一硬件抽象层确定所述电子设备的负载状态,包括:
所述第一控制模块获取所述电子设备的设备状态信息,所述设备状态信息包括内存使用状态信息和温度状态信息中的至少一种;
所述第一控制模块根据所述设备状态信息,确定所述电子设备的负载状态。
4.根据权利要求2所述的方法,其特征在于,所述第一硬件抽象层包括第一控制模块,所述第一硬件抽象层确定所述电子设备的负载状态,包括:
所述第一控制模块获取所述电子设备的拍照状态,所述拍照状态用于表征所述电子设备是否处于快速拍照状态;
所述第一控制模块根据所述拍照状态,确定所述电子设备的负载状态。
5.根据权利要求3或4所述的方法,其特征在于,根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置,包括:
所述第一控制模块响应于所述负载状态为第一负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第一目标数量;
所述第一控制模块响应于所述负载状态为第二负载状态,对接收到的所述拍照请求所请求的原始图像的目标数量配置为第二目标数量,所述第一负载状态优于第二负载状态,所述第一目标数量大于所述第二目标数量。
6.根据权利要求2所述的方法,其特征在于,所述硬件抽象层还包括第二硬件抽象层,所述第一硬件抽象层还包括第二控制模块,所述操作系统还包括图像处理引擎,所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像,包括:
所述第二硬件抽象层获取图像传感器输出的所述目标数量的原始图像,并将获取的所述目标数量的原始图像发送至所述第二控制模块;
所述第二控制模块根据所述拍照请求,配置对所述目标数量的原始图像进行处理的图像处理策略,所述图像处理策略包括图像算法标识;
所述第二控制模块将所述原始图像和所述图像处理策略发送至所述图像处理引擎;
所述图像处理引擎根据所述图像处理策略中的图像算法标识调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像;
所述图像处理引擎将所述目标图像返回至所述第一硬件抽象层。
7.根据权利要求6所述的方法,其特征在于,所述图像算法标识包括多个,所述图像处理策略还包括每个所述图像算法标识对应的图像处理算法的执行顺序,所述图像处理引擎根据所述图像处理策略中的图像算法标识调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像,包括:
所述图像处理引擎按照每个所述图像算法标识对应的图像处理算法的执行顺序,依次调用对应的图像处理算法对所述目标数量的原始图像进行处理,得到目标图像。
8.根据权利要求6所述的方法,其特征在于,所述图像处理引擎将所述目标图像返回至所述第一硬件抽象层,包括:
所述图像处理引擎将所述目标图像通过所述第二控制模块返回至所述第一控制模块;
所述方法还包括:
所述第一控制模块将所述目标图像的图像格式转换为所述第一应用程序支持的图像格式,并将转换图像格式后得到的图像返回至所述第一应用程序。
9.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在确定所述电子设备的负载状态之前,所述第一控制模块确定所述电子设备的硬件配置能够实现所述拍照请求。
10.根据权利要求9所述的方法,其特征在于,所述第一控制模块确定所述电子设备的硬件配置能够实现所述拍照请求,包括:
所述第一控制模块获取硬件配置信息和所述电子设备的目标设备机型,所述硬件配置信息包括每种设备机型和与每种所述设备机型能够实现的请求类型;
所述第一控制模块在所述硬件配置信息中,查找到与所述目标设备机型对应的请求类型中包括所述拍照请求对应的请求类型的情况下,确定所述电子设备的硬件配置能够实现所述拍照请求。
11.根据权利要求2所述的方法,其特征在于,所述第一应用程序包括第三方目标相机应用,所述应用层还包括相机软件开发工具包,所述操作系统还包括框架层,所述框架层包括授权管理模块,所述应用层发送拍照请求至所述硬件抽象层,包括:
所述应用层响应所述第三方目标相机应用的拍照操作,调用所述相机软件开发工具包生成拍照请求,并将所述拍照请求发送至所述授权管理模块;
所述授权管理模块对接收到的所述拍照请求进行校验,并在校验通过的情况下将所述拍照请求发送至所述第一硬件抽象层。
12.根据权利要求11所述的方法,其特征在于,所述授权管理模块对接收到的所述拍照请求进行校验,并在校验通过的情况下将所述拍照请求发送至所述第一硬件抽象层,包括:
所述授权管理模块获取相机参数对应关系,所述相机参数对应关系包括不同第三方相机应用和与每种所述第三方相机应用对应的图像处理算法;
所述授权管理模块在所述相机参数对应关系中,查找到与所述第三方目标相机应用对应的图像处理算法包括能够实现所述拍照请求的图像处理算法的情况下,确定校验通过;
所述授权管理模块响应于确定校验通过,将所述拍照请求发送至所述第一硬件抽象层。
13.一种图像处理装置,其特征在于,应用于电子设备,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,所述装置包括:
发送模块,被配置为所述应用层发送拍照请求至所述硬件抽象层,所述拍照请求包括对多帧原始图像进行合成处理的请求;
配置模块,被配置为所述硬件抽象层确定所述电子设备的负载状态,并根据所述负载状态对接收到的所述拍照请求所请求的原始图像的目标数量进行配置;
处理模块,被配置为所述硬件抽象层获取所述目标数量的原始图像,并根据与所述拍照请求对应的图像处理策略对所述目标数量的原始图像进行处理,得到目标图像。
14.一种电子设备,其特征在于,所述电子设备操作系统,所述操作系统包括硬件抽象层和设置有具备相机功能的第一应用程序的应用层,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以通过所述应用层和所述硬件抽象层实现权利要求1-12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1-12中任一项所述方法的步骤。
CN202211066656.4A 2022-08-31 2022-08-31 图像处理方法、装置、电子设备及存储介质 Pending CN117692789A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211066656.4A CN117692789A (zh) 2022-08-31 2022-08-31 图像处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211066656.4A CN117692789A (zh) 2022-08-31 2022-08-31 图像处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117692789A true CN117692789A (zh) 2024-03-12

Family

ID=90132485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211066656.4A Pending CN117692789A (zh) 2022-08-31 2022-08-31 图像处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117692789A (zh)

Similar Documents

Publication Publication Date Title
WO2021052437A1 (zh) 一种应用启动方法及电子设备
JP7369281B2 (ja) デバイス能力スケジューリング方法および電子デバイス
WO2021073428A1 (zh) 一种账号绑定方法、设备及系统
WO2021023055A1 (zh) 一种视频通话的方法
EP4246957A1 (en) Photographing method, system, and electronic device
US20230403458A1 (en) Camera Invocation Method and System, and Electronic Device
WO2022057742A1 (zh) 一种跨设备调用应用的方法及电子设备
CN113032030A (zh) 相机启动方法、装置、终端设备和存储介质
EP4246347A1 (en) Method for authorizing by using another device, electronic devices and system
CN110689378A (zh) 广告位广告获取方法、装置及计算机可读存储介质
US20240095408A1 (en) Data protection method and system, medium, and electronic device
US20160094679A1 (en) Electronic device, method of controlling same, and recording medium
JP2024521007A (ja) ロック解除方法および電子デバイス
CN110865864A (zh) 快应用的界面显示方法、装置、设备及存储介质
EP4447458A1 (en) Video stream pushing method and apparatus, and terminal device and storage medium
CN117692789A (zh) 图像处理方法、装置、电子设备及存储介质
WO2022052706A1 (zh) 一种服务的分享方法、系统及电子设备
CN117631950A (zh) 一种分屏显示方法及相关装置
CN114449171A (zh) 控制摄像头的方法、终端设备、存储介质及程序产品
KR100713148B1 (ko) 멀티미디어 자원 공유 시스템 및 방법
CN116723383A (zh) 一种拍摄方法及相关设备
CN116708988B (zh) 电子设备及其拍摄方法、介质
CN117692769A (zh) 相机控制方法、装置、图像处理框架、介质、终端及芯片
CN117692749A (zh) 拍摄方法、装置、图像处理框架、介质、终端及芯片
WO2023123787A1 (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