CN111182223A - 图像处理方法、装置、存储介质及电子设备 - Google Patents
图像处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111182223A CN111182223A CN202010038903.4A CN202010038903A CN111182223A CN 111182223 A CN111182223 A CN 111182223A CN 202010038903 A CN202010038903 A CN 202010038903A CN 111182223 A CN111182223 A CN 111182223A
- Authority
- CN
- China
- Prior art keywords
- interface
- image data
- processed
- module
- application program
- 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.)
- Granted
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/80—Camera processing pipelines; Components thereof
-
- 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/70—Circuitry for compensating brightness variation in the scene
- H04N23/741—Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Studio Devices (AREA)
Abstract
本申请公开了一种图像处理方法、装置、存储介质及电子设备。该方法应用于电子设备,电子设备配置有第一应用程序,通过第一应用程序,电子设备中的应用程序可调用相机应用所具有的拍摄功能,包括:获取调用请求,调用请求为电子设备中的第二应用程序通过扩展模块提供的应用程序编程接口调用目标拍摄功能的请求;获取待处理的图像数据,待处理的图像数据由扩展模块获取;将待处理的图像数据由扩展模块传输至第一接口;将待处理的图像数据由第一接口传输至处理模块;由处理模块确定与调用请求对应的图像处理参数;根据调用请求和图像处理参数,由处理模块对待处理的图像数据进行处理,得到处理后的图像数据;将处理后的图像数据发送至第二应用程序。
Description
技术领域
本申请属于图像技术领域,尤其涉及一种图像处理方法、装置、存储介质及电子设备。
背景技术
随着电子设备中的相机拍摄功能越来越强大,用户经常会使用相机应用进行拍照、预览以及视频录制等等。然而,相关技术中,诸如第三方应用等电子设备中的应用程序却并不能调用到该电子设备的相机应用所具有的拍摄功能。也就是说,诸如第三方应用等电子设备中的应用程序并不能调用到该电子设备自带的原生相机应用所具有的拍摄功能,如HDR拍摄功能、美颜功能、夜景拍摄功能等等。
发明内容
本申请实施例提供一种图像方法、装置、存储介质及电子设备,可以提高CameraX组件的实现架构的灵活性。
本申请实施例提供一种图像处理方法,应用于电子设备,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,所述图像处理方法包括:
获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
获取待处理的图像数据,所述待处理的图像数据由所述扩展模块获取;
将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
将所述待处理的图像数据由所述第一接口传输至所述处理模块;
由所述处理模块确定与所述调用请求对应的图像处理参数;
根据所述调用请求和所述图像处理参数,由所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
本申请实施例提供一种图像处理装置,应用于电子设备,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,所述图像处理装置包括:
所述扩展模块用于:获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;获取待处理的图像数据;将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
所述第一接口用于:将所述待处理的图像数据由所述第一接口传输至所述处理模块;
所述处理模块用于:确定与所述调用请求对应的图像处理参数;根据所述调用请求和所述图像处理参数,对所述待处理的图像数据进行处理,得到处理后的图像数据;将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,所述计算机程序包括第一应用程序,通过所述第一应用程序,所述计算机中的应用程序可调用所述计算机的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块;
当所述计算机程序在计算机上执行时,使得所述计算机执行:
获取调用请求,所述调用请求为所述计算机中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
获取待处理的图像数据,所述待处理的图像数据由所述扩展模块获取;
将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
将所述待处理的图像数据由所述第一接口传输至所述处理模块;
由所述处理模块确定与所述调用请求对应的图像处理参数;
根据所述调用请求和所述图像处理参数,由所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,通过调用所述存储器中存储的计算机程序:
所述处理器用于获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
所述处理器用于通过所述扩展模块获取待处理的图像数据;
所述处理器用于将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
所述处理器用于将所述待处理的图像数据由所述第一接口传输至所述处理模块;
所述处理器用于通过所述处理模块确定与所述调用请求对应的图像处理参数;
所述处理器用于根据所述调用请求和所述图像处理参数,通过所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
所述处理器用于将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
相比于相关技术中由各接口具体实现相机应用所具有的拍摄功能的方案,即接口函数内包含具体的用于实现相机应用所具有的拍摄功能的图像处理算法。在本申请实施例中,第一接口并不具体实现相机应用所具有的拍摄功能,而是由处理模块来具体实现相机应用所具有的拍摄功能。本实施例中第一接口仅用于将待处理的图像数据传输到处理模块中。即,本申请实施例中,接口和处理模块在一定程度上是相对独立的,从而使得接口和处理模块的耦合程度降低,进而使得整个相机应用组件的实现架构的灵活性得以提高。比如,当接口的代码或者处理模块的代码需要升级时,可以仅对接口的代码进行更新或者仅对处理模块的代码进行更新,而不必同时对接口和处理模块的代码做适配性更新。因此,本申请实施例也简化了整个相机应用组件的实现架构。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1为相关技术中的CameraX组件的实现架构的示意图。
图2为第三方应用调用HDR预览功能的示意图。
图3为第三方应用调用美颜拍照功能的示意图。
图4是本申请实施例提供的图像处理方法的流程示意图。
图5是本申请实施例提供的图像处理方法的另一流程示意图。
图6为本申请实施例提供的图像处理方法的又一流程示意图。
图7为本申请实施例提供的相机应用组件的实现结构的示意图。
图8为本申请实施例提供的CameraX组件的实现架构示意图。
图9为第三方应用调用HDR预览功能和美颜预览功能的示意图。
图10是本申请实施例提供的图像处理装置的结构示意图。
图11是本申请实施例提供的电子设备的结构示意图。
图12是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的电子设备。
请参阅图1,图1为相关技术中的CameraX组件的实现架构的示意图。如图1所示,CameraX组件的实现架构包括核心模块(Core Module)、扩展模块(Extension Module)以及实现接口(IMPL接口)。其中,图1中的实现接口包括HDR预览功能实现接口(HdrPreviewExtenderImpl)、HDR拍照功能实现接口(HdrCaptureExtenderImpl)、美颜预览功能实现接口(BeautyPreviewExtenderImpl)、美颜拍照功能实现接口(BeautyCaptureExtenderImpl)。当然,CameraX组件中还可以添加其他拍摄功能的实现接口。
如图1所示,在CameraX组件的实现框架内,设备厂商(Original EquipmentManufacturer,OEM)通过重写(override)CameraX的接口函数的方式,在接口函数内加入图像处理算法,利用图像处理算法可以实现对图像的处理,从而使电子设备中的应用程序通过调用CameraX组件中相应的接口来实现电子设备(原生)的相机应用所具有的拍摄功能。例如,设备厂商在HdrCaptureExtenderImpl接口的接口函数内接入HDR拍照算法,那么电子设备中的应用程序通过调用CameraX组件中的HdrCaptureExtenderImpl接口就可以实现HDR拍照功能。
例如,当应用(如第三方应用)需要调用电子设备的相机应用所具有的拍摄功能时,该第三方应用可以调用CameraX组件中的Core Module和Extension Module向应用提供的应用程序编程接口(Application Programming Interface,API)。在对应的API被调用后,Core Module可以控制电子设备的摄像模组采集图像数据。之后,Core Modul可以将采集到的图像数据传输到Extension Module。Extension Module再将该图像数据传输到对应的实现接口,例如传输到HdrPreviewExtenderImpl接口,该接口可以实现HDR预览功能。在通过该实现接口获取到图像数据后,电子设备可以利用该实现接口的接口函数内包含的图像处理算法对图像数据进行相应的处理,再将处理后得到的图像数据通过预设的接口反馈给CameraX组件,再由CameraX组件反馈给第三方应用。第三方应用在收到处理后的图像数据后可以进行显示。
例如,如图2所示,当第三方应用需要调用HDR预览(HdrPreview)功能时,该第三方应用可以调用CameraX组件中的Core Module和Extension Module提供的API,并通过该API调用HdrPreviewExtenderImpl接口对应的接口函数(即发生函数调用)。电子设备通过CoreModule可以控制摄像模组采集图像数据。之后,Core Modul可以将采集到的图像数据传输到Extension Module。Extension Module再将该图像数据传输到HdrPreviewExtenderImpl接口。在该HdrPreviewExtenderImpl接口获取到图像数据后,电子设备可以利用该HdrPreviewExtenderImpl接口的接口函数内包含的HDR图像处理算法对图像数据进行相应的HDR处理,再将处理后得到的图像数据通过预设的接口反馈给CameraX组件,再由CameraX组件反馈给第三方应用,第三方应用在接收到处理后的图像数据后可以进行预览显示,从而得到具有HDR效果的预览图像,即实现了HDR预览功能。
又如,如图3所示,当第三方应用需要调用美颜拍照(BeautyCapture)功能时,该第三方应用可以调用CameraX组件中的Core Module和Extension Module提供的API,并通过该API调用BeautyCaptureExtenderImpl接口对应的接口函数(即发生函数调用)。电子设备通过Core Module可以控制摄像模组采集图像数据。之后,Core Modul可以将采集到的图像数据传输到Extension Module。Extension Module再将该图像数据传输到BeautyCaptureExtenderImpl接口。在该BeautyCaptureExtenderImpl接口获取到图像数据后,电子设备可以利用该BeautyCaptureExtenderImpl接口的接口函数内包含的美颜处理算法对图像数据进行相应的美颜处理,再将处理后得到的图像数据通过预设的接口反馈给CameraX组件,再由CameraX组件反馈给第三方应用,第三方应用在接收到处理后的图像数据后可以进行编码从而生成JPEG格式的照片,并将该照片输出到显示屏进行显示,从而呈现具有美颜效果的照片,即实现了美颜拍照的功能。
然而,相关技术中,CameraX组件的实现架构的灵活性较差。比如,各实现接口的代码和接口函数中的图像处理算法的代码耦合严重,这不利于后续接口的升级以及接口函数中的图像处理算法的代码更新。
请参阅图4,图4是本申请实施例提供的图像处理方法的流程示意图。该图像处理方法可以应用于电子设备,该电子设备可以配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序可调用该电子设备的相机应用所具有的拍摄功能,该第一应用程序包括扩展模块、第一接口以及处理模块。图像处理方法的流程可以包括:
101、获取调用请求,该调用请求为电子设备中的第二应用程序通过扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,该目标拍摄功能为相机应用所具有的拍摄功能中的一项或多项功能。
比如,电子设备获取到调用请求,该调用请求可以为电子设备中的第二应用程序通过第一应用程序的扩展模块提供的应用程序编程接口API调用目标拍摄功能的请求,该目标拍摄功能为电子设备的相机应用所具有的拍摄功能中的一项或多项功能。
在一些实施方式中,上述第二应用程序可以为电子设备中安装的第三方应用等。
102、获取待处理的图像数据,该待处理的图像数据由扩展模块获取。
103、将待处理的图像数据由扩展模块传输至第一接口。
104、将待处理的图像数据由第一接口传输至处理模块。
比如,102、103、104可以包括:
在获取到调用请求后,电子设备可以获取待处理的图像数据,其中该待处理的图像数据可以是由第一应用程序的扩展模块获取的。
之后,电子设备可以将待处理的图像数据由第一应用程序的扩展模块传输到第一应用程序的第一接口,再将该待处理的图像数据由该第一接口传输至第一应用程序的处理模块。
需要说明的是,本实施例中,第一接口的接口函数内不包含具体的用于实现目标拍摄功能的图像处理算法,因此第一接口无法对待处理的图像数据直接进行处理。
105、由处理模块确定与调用请求对应的图像处理参数。
106、根据调用请求和图像处理参数,由处理模块对待处理的图像数据进行处理,得到处理后的图像数据。
比如,105、106可以包括:
在第一应用程序的处理模块接收到待处理的图像数据后,电子设备可以通过该处理模块确定出与上述调用请求对应的图像处理参数。
之后,电子设备可以根据上述调用请求及其对应的图像处理参数,通过处理模块对上述待处理的图像数据进行处理,得到处理后的图像数据。即,本实施例中,第一应用程序的处理模块中包含了用于具体实现目标拍摄功能的图像处理算法。
107、将处理后的图像数据发送至第二应用程序,以实现该第二应用程序对目标拍摄功能的调用。
比如,在得到处理后的图像数据后,电子设备可以将该处理后的图像数据发送至第二应用程序,以实现该第二应用程序对目标拍摄功能的调用。
需要说明的是,本实施例中,第一应用程序中的扩展模块、处理模块等模块都是指软件中的模块(module),软件工程中的模块是指整个系统中一些相对独立的程序单元,每个程序单元完成和实现一个相对独立的软件功能。通俗点说就是一些程序段。
例如,通过第一应用程序的扩展模块,电子设备接收到调用请求,该调用请求为电子设备中的第三方应用A通过第一应用程序的扩展模块提供的API调用相机应用的HDR拍照功能的请求。之后,电子设备可以通过第一应用程序的扩展模块获取到待处理的图像数据,该待处理的图像数据可以是摄像头采集的关于当前拍摄场景的图像数据。之后,电子设备可以将待处理的图像数据由扩展模块传输至第一接口,再由第一接口传输至处理模块。之后,电子设备可以利用处理模块确定出与HDR拍照功能对应的图像处理参数,并根据该图像处理参数,由电子设备利用处理模块对待处理的图像数据进行HDR处理,得到处理后的图像数据。可以理解的是,该处理后的图像数据为具有高动态范围效果的图像的数据。之后,电子设备可以将处理后的图像数据发送给第三方应用A,第三方应用A可以对该处理后的图像数据进行显示,从而显示出具有HDR效果的图像。
可以理解的是,相比于相关技术中由各接口具体实现相机应用所具有的拍摄功能的方案,即各接口的接口函数内包含具体的用于实现相机应用所具有的拍摄功能的图像处理算法。在本申请实施例中,第一接口并不具体实现相机应用所具有的拍摄功能,而是由处理模块来具体实现相机应用所具有的拍摄功能。本实施例中第一接口仅用于将待处理的图像数据传输到处理模块中。即,本申请实施例中,接口和处理模块在一定程度上是相对独立的,从而使得接口和处理模块的耦合程度降低,进而使得整个相机应用组件的实现架构的灵活性得以提高。比如,当接口的代码或者处理模块的代码需要升级时,可以仅对接口的代码进行更新或者仅对处理模块的代码进行更新,而不必同时对接口和处理模块的代码做适配性更新。因此,本申请实施例也简化了整个相机应用组件的实现架构。
请参阅图5,图5为本申请实施例提供的图像处理方法的另一流程示意图。该图像处理方法可以应用于电子设备,该电子设备可以配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序可调用该电子设备的相机应用所具有的拍摄功能,该第一应用程序包括扩展模块、第一接口以及处理模块。其中,该处理模块可以包括第二接口以及图像处理单元。
图像处理方法的流程可以包括:
201、电子设备获取调用请求,该调用请求为该电子设备中的第二应用程序通过扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,该目标拍摄功能为相机应用所具有的拍摄功能中的一项或多项功能。
比如,第二应用程序为电子设备中安装的第三方应用A。第三方应用A通过第一应用程序的扩展模块提供的API请求调用该电子设备的相机应用所具有的美颜拍照功能(即拍摄得到的照片具有美颜效果)。即,通过第一应用程序的扩展模块提供的API,电子设备可以获取到第三方应用A请求调用该电子设备的相机应用所具有的美颜拍照功能的请求,即美颜拍照功能为目标拍摄功能。
202、电子设备获取待处理的图像数据,该待处理的图像数据由扩展模块获取。
比如,在获取到上述调用请求后,电子设备可以获取待处理的图像数据,其中,该待处理的图像数据可以是由扩展模块获取的。例如,该待处理的图像数据可以是由电子设备的摄像模组采集到的关于当前拍摄场景的RAW格式的图像数据。
203、电子设备将待处理的图像数据由扩展模块传输至第一接口。
204、电子设备将待处理的图像数据由第一接口传输至第二接口。
比如,在获取到待处理的图像数据后,电子设备可以将该待处理的图像数据由扩展模块传输至第一接口,再将该待处理的图像数据由该第一接口传输至第二接口。
205、电子设备通过第二接口确定与调用请求对应的图像处理参数,并将待处理的图像数据由该第二接口传输至图像处理单元。
比如,在第二接口获取到待处理的图像数据后,电子设备可以通过该第二接口确定出与上述调用请求对应的图像处理参数。例如,由于第三方应用A请求调用的是美颜拍照功能。因此,电子设备通过第二接口可以确定出用于对待处理的图像数据对应的图像进行美颜处理的图像处理参数。并且,电子设备可以将待处理的图像数据由第二接口传输至图像处理单元。
206、根据图像处理参数,电子设备通过图像处理单元对待处理的图像数据进行处理,得到处理后的图像数据。
比如,在接收到待处理的图像数据后,电子设备可以根据确定出来的图像处理参数,通过图像处理单元对该待处理的图像数据进行处理,从而得到处理后的图像数据。可以理解的是,处理后的图像数据所对应的图像即具有了美颜的效果。
207、电子设备将处理后的图像数据发送至第二应用程序,以实现该第二应用程序对目标拍摄功能的调用。
比如,在得到按照美颜的效果处理后的图像数据后,电子设备可以将该处理后的图像数据反馈给第三方应用A,再由第三方应用A将该处理后的图像数据所对应的图像作为照片显示在该电子设备的显示屏上,从而实现第三方应用A对美颜拍照功能的调用。
请参阅图6,图6为本申请实施例提供的图像处理方法的又一流程示意图。该图像处理方法可以应用于电子设备,该电子设备配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序可调用该电子设备的相机应用所具有的拍摄功能,该第一应用程序包括扩展模块、第一接口以及处理模块,
其中,处理模块可以包括第二接口和图像处理单元。
第一接口可以包括至少一个子接口,第二接口可以包括至少一个子接口。第一接口的每一子接口对应于电子设备的相机应用所具有的拍摄功能中的一项功能,具有预设关联的第一接口的子接口可以引用第二接口中的同一个子接口。
图像处理单元可以包括至少一个子处理单元,每一子处理单元用于实现同一类型的图像处理,每一子处理单元中包括至少一种图像处理算法,其中,图像处理的类型至少可以包括预览、拍照和视频录像。
例如,请参阅图7,图7为本申请实施例提供的第一应用程序的实现架构的示意图。
第一应用程序可以包括扩展模块、第一接口、第二接口和图像处理单元。其中,第一接口包括子接口H1、H2、H3、H4。第二接口包括子接口J1、J2。图像处理单元包括子处理单元K1、K2、K3。
其中,第一接口中的每一子接口对应于电子设备的相机应用所具有的拍摄功能中的一项功能。例如,子接口H1对应于HDR预览功能(使预览图像具有高动态范围的效果),子接口H2对应于HDR拍照功能(使照片具有高动态范围的效果),子接口H3对应于美颜预览功能(使预览图像具有美颜的效果),子接口H4对应于美颜拍照功能(使照片具有美颜的效果)。
具有预设关联的第一接口的子接口可以引用第二接口中的同一个子接口。例如,由于子接口H1对应于HDR预览功能,而子接口H2对应于HDR拍照功能,它们都对应于HDR功能,因此可以将子接口H1和子接口H2对应到第二接口中的同一子接口,例如将子接口H1和子接口H2对应到第二接口中的子接口J1。类似的,由于子接口H3和H4都和美颜相关,因此可以将子接口H3和H4对应到第二接口中的子接口J2。
图像处理单元K可以包括子处理单元K1、K2、K3。每一子处理单元可以用于实现同一类型的图像处理,每一子处理单元中包括至少一种图像处理算法。例如,子处理单元K1用于实现预览类型的图像处理,子处理单元K2用于实现拍照类型的图像处理,子处理单元K3用于实现录像类型的图像处理。其中,子处理单元K1、K2和K3中都可以包含多种图像处理算法,例如HDR处理算法、美颜处理算法等。
如图6所示,本申请实施例提供的图像处理方法的流程可以包括:
301、电子设备获取调用请求,该调用请求为该电子设备中的第二应用程序通过扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,该目标拍摄功能为该电子设备的相机应用所具有的拍摄功能中的一项或多项功能。
302、电子设备获取待处理的图像数据,该待处理的图像数据由扩展模块获取。
比如,第二应用程序为电子设备中安装的第三方应用A。第三方应用A通过第一应用程序的扩展模块提供的API请求调用该电子设备的相机应用所具有的HDR拍照功能(即拍摄得到的照片具有高动态范围效果)。即,通过第一应用程序的扩展模块提供的API,电子设备可以获取到第三方应用A请求调用该电子设备的相机应用所具有的HDR拍照功能的请求,即HDR拍照功能为目标拍摄功能。
在获取到上述调用请求后,电子设备可以通过扩展模块获取待处理的图像数据。例如,该待处理的图像数据可以是由电子设备的摄像模组采集到的关于当前拍摄场景的RAW格式的图像数据,并由扩展模块获取到该待处理的图像数据。
303、电子设备在第一接口中确定出与调用请求对应的第一目标子接口,并将待处理的图像数据由扩展模块传输至该第一目标子接口。
比如,电子设备可以根据第三方应用调用HDR拍照功能的请求,在第一接口H中确定出第一目标子接口。例如,由于子接口H2对应于HDR拍照功能,因此电子设备可以将子接口H2确定为第一目标子接口。
在将子接口H2确定为第一目标子接口后,电子设备可以将该待处理的图像数据由扩展模块传输至第一目标子接口H2。
304、电子设备将待处理的图像数据由第一目标子接口传输至第二目标子接口,该第二目标子接口为第二接口中被该第一目标子接口所引用的子接口。
比如,在第一目标子接口H2接收到待处理的图像数据后,电子设备可以将该待处理的图像数据由第一目标子接口H2传输到第二目标子接口。例如,由于第二接口中的子接口J1对应于第一目标子接口H2,因此子接口J1为第二目标子接口。即,电子设备可以将待处理的图像数据由第一目标子接口H2传输至第二目标子接口J1。
305、电子设备通过第二目标子接口确定与调用请求对应的图像处理参数。
306、电子设备根据调用请求确定对应的目标子处理单元以及目标图像处理算法,并将待处理的图像数据由第二目标子接口传输至该目标子处理单元,该目标子处理单元为图像处理单元中的子处理单元。
比如,第二目标子接口J1可以根据第三方应用A调用HDR拍照功能的请求,确定出对应的图像处理参数,即确定出与实现HDR拍照效果对应的图像处理参数。
并且,电子设备可以根据第三方应用A调用HDR拍照功能的请求,从图像处理单元中确定出对应的目标子处理,以及目标图像算法。例如,由于第三方应用A请求调用HDR拍照功能,而图像处理单元中的子处理单元K2为用于实现拍照类型的单元,因此电子设备可以将子处理单元K2确定为目标子处理单元。并且,电子设备可以将子处理单元K2中包含的HDR处理算法确定为目标图像处理算法。
在确定出目标子处理单元后,电子设备可以将待处理的图像数据由第二目标子接口传输至该目标子处理单元。比如,在确定出目标子处理单元K2后,电子设备可以将待处理的图像数据由第二目标子接口J1传输到目标子处理单元K2。
307、电子设备通过目标子处理单元利用目标图像处理算法对待处理的图像数据进行处理,得到处理后的图像数据。308、电子设备将处理后的图像数据发送至第二应用程序,以实现该第二应用程序对目标拍摄功能的调用。
比如,在目标子处理单元K2接收到待处理的图像数据后,电子设备可以利用该目标子处理单元K2中的目标图像处理算法对该待处理的图像数据进行处理。即,电子设备可以利用目标子处理单元K2中的HDR处理算法对该待处理的图像数据进行HDR处理,从而得到处理后的图像数据。可以理解的是,该处理后的图像数据对应的图像即具有了HDR效果。
之后,电子设备可以将处理后的图像数据发送给第三方应用A,再由第三方应用A将该处理后的图像数据所对应的图像作为照片显示在该电子设备的显示屏上,从而实现第三方应用A对HDR拍照功能的调用。
在一种实施方式中,本实施例的第一应用程序还可以包括数据控制模块。当第三方应用请求调用电子设备的相机应用所具有的拍摄功能中的多项功能时,第一应用程序的扩展模块可以获取到多路相同的待处理的图像数据。该多路相同的待处理的图像数据可以被从扩展模块传输到与调用请求对应的第一目标子接口,并从该第一目标子接口传输到对应的第二目标子接口,以及从该第二目标子接口传输到数据控制模块。
之后,电子设备可以通过数据控制模块来从这多路相同的待处理的图像数据中选择一路待处理的图像数据。之后,电子设备可以将选出的那一路待处理的图像数据传输至与调用请求对应的目标子处理单元。
在一种实施方式中,本实施例中的第一应用程序还可以包括核心模块。电子设备可以通过该核心模块根据调用请求调用摄像模组采集图像数据,并将采集到的图像数据确定为待处理的图像数据,以及将该待处理的图像数据传输至扩展模块。
下面以电子设备使用的是安卓操作系统,并且第一应用程序为本申请改进后的CameraX组件为例说明本实施例提供的图像处理方法。请参阅图8,图8为本申请实施例提供的改进后的CameraX组件的实现架构示意图。
如图8所示,本申请改进后的CameraX组件可以包括核心模块(Core Module)、扩展模块(Extension Module)、第一接口、第二接口、数据控制模块以及图像处理单元。
其中,核心模块和扩展模块为电子设备中的其它应用程序通过第一应用陈旭调用该电子设备的相机应用所具有的拍摄功能提供了相应的API。
例如,第一接口包括用于实现HDR预览功能的HdrPreviewExtenderImpl子接口、用于实现HDR拍照功能的HdrCaptureExtenderImpl子接口、用于实现美颜预览功能的BeautyPreviewExtenderImpl子接口、用于实现美颜拍照功能的BeautyCaptureExtenderImpl子接口。在本实施例中,第一接口中的各个子接口的接口函数中不包含用于具体实现相应的相机应用所具有的拍摄功能的图像处理算法。在本实施例中,第一接口中的各个子接口可以是CameraX组件中由Google原生定义的接口。
在本实施例中,可以使第一接口中具有相似参数和相似逻辑的子接口引用第二接口中的同一子接口。例如,由于第一接口中的HdrPreviewExtenderImpl子接口和HdrCaptureExtenderImpl子接口所对应的相机应用所具有的拍摄功能均和HDR处理有关,因此可以使第一接口中的HdrPreviewExtenderImpl子接口和HdrCaptureExtenderImpl子接口引用第二接口中的同一个子接口HdrFeature。
类似的,由于第一接口中的BeautyPreviewExtenderImpl子接口和BeautyCaptureExtenderImpl子接口所对应的相机应用所具有的拍摄功能均和美颜处理有关,因此可以使第一接口中的BeautyPreviewExtenderImpl子接口和BeautyCaptureExtenderImpl子接口引用同一个子接口BeautyFeature,等等。
需要说明的是,本实施例中,第二接口中的子接口内部也不包含具体的用于实现对应的相机应用所具有的拍摄功能的图像处理算法。第二接口中的子接口内部可以包含算法组织逻辑和硬件控制逻辑的代码,并用于产生各功能对应的图像处理参数。
数据控制模块(Data Controller)可以用于控制图像处理单元的输入数据。当第三方应用同时调用多项相机应用所具有的拍摄功能时,扩展模块可以接收到多路相同的待处理的图像数据。例如,当第三方应用同时调用HDR预览和美颜预览功能时,扩展模块将接收到两路待处理的图像数据,例如这两路数据分别为HDR Preview Data和Beauty PreviewData。但事实上这两路数据是相同的,都是核心模块采集的关于拍摄场景的图像数据。因此,对于CameraX组件来说只需要选择其中一路待处理的图像数据即可。数据控制模块既可以用于从多路相同的待处理图像数据中选择一路数据,而过滤掉其他数据。同时,数据控制模块也可以根据CameraX组件的数据需求,对返回CameraX组件的输出数据进行控制。
图像处理单元可以包括两个子处理单元,例如分别为Preview Algo Pipeline和Capture Algo Pipeline。其中,子处理单元Preview Algo Pipeline用于实现预览类型的图像处理,子处理单元Capture Algo Pipeline用于实现拍照类型的图像处理。这两个子处理单元中都可以包含多种图像处理算法,例如HDR处理算法、美颜处理算法等。
例如,当第三方应用需要调用HDR拍照功能(Hdr Capture)时,该第三方应用可以调用CameraX组件中的Core Module和Extension Module向应用提供的API。当对应的API被调用时,会发生函数调用(Function Call),即HDR拍照功能对应的HdrCaptureExtenderImpl接口的接口函数会被调用。在对应的API被调用后,Core Module可以控制电子设备的摄像模组采集图像数据。之后,Core Modul可以将采集到的图像数据传输到Extension Module。
由于第三方应用调用的是HDR拍照功能,因此待处理的图像数据会被由ExtensionModule传输至HdrCaptureExtenderImpl子接口。之后,HdrCaptureExtenderImpl子接口会将待处理的图像数据再传输至HdrFeature子接口。
由于只有一路待处理的图像数据,因此数据控制模块不会对该待处理的数据进行过滤,该待处理的图像数据可以被直接传输到Capture Algo Pipeline子处理单元中。Capture Algo Pipeline子处理单元可以利用其中包含HDR图像处理算法对待处理的图像数据进行处理,从而使处理后得到的图像数据对应的图像具有HDR效果。处理完成后,Capture Algo Pipeline子处理单元可以将输出的图像数据传输到数据控制模块,并通过该数据控制模块传输到CameraX组件的某个模块,再由该模块输出到第三方应用中进行显示。可以理解的是,此时第三方应用显示的照片具有HDR效果。
再如,如图9所示,当第三方应用同时调用HDR预览功能(Hdr Preview)和美颜预览功能(Beauty Preview)时,该第三方应用可以调用CameraX组件中的Core Module和Extension Module向应用提供的API。当对应的API被调用时,会发生函数调用(FunctionCall),即HDR预览功能对应的HdrPreviewExtenderImpl接口的接口函数会被调用,并且美颜预览功能对应的BeautyPreviewExtenderImpl接口的接口函数也会被调用。在对应的API被调用后,Core Module可以控制电子设备的摄像模组采集图像数据。之后,Core Modul可以将采集到的图像数据传输到Extension Module。需要说明的是,由于第三方应用同时调用了HDR预览功能和美颜预览功能,因此Core Module会采集到两路图像数据,并将这两路图像数据传输给Extension Module。例如,这两路图像数据分别为Hdr Preview Data和Beauty Preview Data。
由于第三方应用调用了HDR预览功能,因此Hdr Preview Data会被由ExtensionModule传输至HdrPreviewExtenderImpl子接口。之后,HdrCaptureExtenderImpl子接口会将待处理的Hdr Preview Data再传输至HdrFeature子接口。
并且,由于第三方应用调用了美颜预览功能,因此Beauty Preview Data会被由Extension Module传输至BeautyPreviewExtenderImpl子接口。之后,BeautyCaptureExtenderImpl子接口会将待处理的Beauty Preview Data再传输至BeautyFeature子接口。
由于有两路相同的待处理的图像数据Hdr Preview Data和Beauty PreviewData,因此数据控制模块需要对这两路待处理的图像数据进行过滤。例如,数据控制模块选择了其中一路待处理的图像数据,如选出的数据为Hdr Preview Data。
之后,待处理的图像数据可以被传输到Preview Algo Pipeline子处理单元中。Preview Algo Pipeline子处理单元可以利用其中包含HDR图像处理算法和Beauty图像处理算法对待处理的图像数据进行处理,从而使处理得到的图像同时具有HDR效果和美颜效果。处理完成后,Preview Algo Pipeline子处理单元可以将输出的图像数据传输到数据控制模块,并通过该数据控制模块传输到CameraX组件的某个模块,再由该模块输出到第三方应用中进行显示。可以理解的是,此时第三方应用显示的预览图像具有HDR效果和美颜效果。
在一种实施方式中,本实施例可以通过如下方式来确定目标图像处理算法,从而使子处理单元可以识别出应该使用何种图像处理算法对待处理的图像数据进行处理。比如,电子设备可以预先为各图像处理算法设置标签,那么,第二接口中的第二目标子接口可以先根据调用请求识别出需要使用到的目标图像处理算法,再将需要使用到的目标图像处理算法的信息传输给图像处理单元中的目标子处理单元。例如,电子设备为HDR处理算法设置的标签为“001”,为美颜处理算法设置的标签为“002”,为夜景处理算法设置的标签为“003”,为Bokeh处理算法设置的标签为“004”。那么,例如,当第三方应用调用HDR预览功能时,第二目标子接口可以将“001”的标签信息参数给Preview Algo Pipeline子处理单元,从而使Preview Algo Pipeline子处理单元识别出需要使用其中包含的HDR处理算法处理图像数据。或者,当第三方应用调用HDR预览功能和美颜预览功能时,第二目标子接口可以将“001”和“002”的标签信息参数给Preview Algo Pipeline子处理单元,从而使PreviewAlgo Pipeline子处理单元识别出需要使用其中包含的HDR处理算法和美颜处理算法处理图像数据。
在另一种实施方式中,还可以使用如下方式:比如,预先为各图像处理算法设置二进制形式的标签信息,如为HDR处理算法设置的标签为“00000001”,为美颜处理算法设置的标签为“00000010”,为夜景处理算法设置的标签为“00000100”,为Bokeh处理算法设置的标签为“00001000”。即,8位二进制数中不同的位置上的“1”用于表示不同的算法。例如,从右至左,8位二进制数中的第一位为“1”表示使能HDR处理算法,第二位为“1”表示使能美颜处理算法,第三位为“1”表示使能夜景处理算法,第四位为“1”表示使能Bokeh处理算法。那么,电子设备可以设置一变量flag,该变量flag的值为表示不同处理算法的8位二进制数进行按位或运算得到的二进制数对应的十进制数值。
例如,若第三方应用仅调用了HDR预览功能,那么变量flag的值为二进制数00000001对应的十进制数值1。第二目标子接口可以将变量flag的值1传输给目标子处理单元,目标子处理单元根据变量flag的值即可以识别出需要使用HDR处理算法处理图像数据。
又如,若第三方应用同时调用了HDR预览功能和美颜预览功能,那么变量flag的值为二进制数00000001和二进制数00000010按位或运算后得到的二进制数00000011对应的十进制数值3。第二目标子接口可以将变量flag的值传输给目标子处理单元,目标子处理单元根据变量flag的值3即可以识别出需要使用HDR处理算法和美颜处理算法处理图像数据。
再如,若第三方应用同时调用了HDR预览功能和夜景预览功能,那么变量flag的值为二进制数00000001和二进制数00000100按位或运算后得到的二进制数00000101对应的十进制数值5。第二目标子接口可以将变量flag的值传输给目标子处理单元,目标子处理单元根据变量flag的值5即可以识别出需要使用HDR处理算法和夜景处理算法处理图像数据。
可以理解的是,本实施例中,首先,由于第一接口并不具体实现相机应用所具有的拍摄功能,而是由处理模块来具体实现相机应用所具有的拍摄功能。因此,第一接口和处理模块在一定程度上是相对独立的,从而使得接口和处理模块的耦合程度降低。当第一接口的代码需要升级时,可以仅对第一接口的代码进行更新,或者当处理模块的代码需要升级,可以仅对处理模块的代码进行更新,而不必同时对接口和处理模块的代码做适配性更新。因此,本实施例可以简化CameraX组件架构的实现,降低升级更新成本。
其次,相关技术中的CameraX组件中每一类功能是各自独立分开。例如HDR预览功能和HDR拍照功能的实现接口是分开独立的。而一类功能的实现代码在参数和逻辑上是具有相似性的。相关技术中的CameraX组件将一类功能的实现接口分开独立,这使得实现接口无法利用代码在参数和逻辑上的相似性进行程序的优化。而在本申请实施例中,第二接口中的各子接口整合了一类功能,方便参数和流程管理,模块化更加清晰,减少了冗余代码。
再次,由于相关技术中的CameraX组件中每一类功能是各自独立分开的,每一个接口处理完数据后需要将数据返回给CameraX组件,因此相关技术中的CameraX组件无法实现功能的叠加。例如,相关技术中,只能使照片具有HDR效果或美颜效果,而无法让照片同时具有HDR效果和美颜效果。而在本申请实施例提供的改进后的CameraX组件中,由于图像处理单元中的子处理单元中具有多种图像处理算法,因此本实施例提供的CameraX组件可以实现多种功能的叠加,比如同时让照片具有HDR效果和美颜效果。
请参阅图10,图10为本申请实施例提供的图像处理装置的结构示意图。该图像处理装置可以应用于电子设备,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块。
图像处理装置400可以包括:扩展模块401、第一接口402、处理模块403。
所述扩展模块401可以用于:获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;获取待处理的图像数据;将所述待处理的图像数据由所述扩展模块传输至所述第一接口。
所述第一接口402可以用于:将所述待处理的图像数据由所述第一接口传输至所述处理模块。
所述处理模块403可以用于:确定与所述调用请求对应的图像处理参数;根据所述调用请求和所述图像处理参数,对所述待处理的图像数据进行处理,得到处理后的图像数据;将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
在一种实施方式中,所述处理模块403可以包括第二接口以及图像处理单元。
所述第一接口可以用于:将所述待处理的图像数据由所述第一接口传输至所述第二接口。
所述第二接口可以用于:由所述第二接口确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二接口传输至所述图像处理单元。
所述图像处理单元可以用于:由所述图像处理单元对所述待处理的图像数据进行处理。
在一种实施方式中,所述第一接口可以包括至少一个子接口,所述第二接口可以包括至少一个子接口,第一接口的每一子接口对应于所述相机应用所具有的拍摄功能中的一项功能,具有预设关联的第一接口的子接口引用第二接口中的同一个子接口。
所述扩展模块401可以用于:在所述第一接口中确定出与所述调用请求对应的第一目标子接口,并将所述待处理的图像数据由所述扩展模块传输至所述第一目标子接口。
所述第一接口可以用于:将所述待处理的图像数据由所述第一目标子接口传输至第二目标子接口,所述第二目标子接口为第二接口中被所述第一目标子接口所引用的子接口。
所述第二目标子接口可以用于:确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二目标子接口传输至所述图像处理单元。
在一种实施方式中,所述图像处理单元可以包括至少一个子处理单元,每一子处理单元用于实现同一类型的图像处理,每一子处理单元中包括至少一种图像处理算法,其中,图像处理的类型至少包括预览、拍照和视频录像。
所述第二目标子接口可以用于:根据所述调用请求确定对应的目标子处理单元以及目标图像处理算法,并将所述待处理的图像数据由所述第二目标子接口传输至所述目标子处理单元,所述目标子处理单元为所述图像处理单元中的子处理单元。
所述目标子处理单元可以用于:利用所述目标图像处理算法对所述待处理的图像数据进行处理。
在一种实施方式中,所述第一应用程序还包括数据控制模块;当所述目标拍摄功能包括多项功能时,所述扩展模块获取到多路相同的待处理的图像数据。
所述第二目标子接口可以用于:将所述待处理的图像数据由所述第二目标子接口传输至所述数据控制模块;
所述数据控制模块可以用于:从所述多路相同的待处理的图像数据中选择一路待处理的图像数据;将选择出的待处理的图像数据由所述数据控制模块传输至所述目标子处理单元。
在一种实施方式中,所述第一应用程序还包括核心模块。
所述核心模块可以用于:根据所述调用请求调用所述电子设备的摄像模组采集图像数据,并将采集到的图像数据确定为待处理的图像数据,以及将所述待处理的图像数据传输至所述扩展模块。
本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,所述计算机程序包括第一应用程序,通过所述第一应用程序,计算机中的应用程序可调用所述计算机的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块;
当所述计算机程序在所述计算机上执行时,使得所述计算机执行本申请实施例提供的图像处理方法中的流程。比如,当所述计算机程序在所述计算机上执行时,使得所述计算机执行:
获取调用请求,所述调用请求为所述计算机中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
获取待处理的图像数据,所述待处理的图像数据由所述扩展模块获取;
将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
将所述待处理的图像数据由所述第一接口传输至所述处理模块;
由所述处理模块确定与所述调用请求对应的图像处理参数;
根据所述调用请求和所述图像处理参数,由所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的图像处理方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图11,图11为本申请实施例提供的电子设备的结构示意图。
该电子设备500可以包括摄像模组501、存储器502、处理器503等部件。本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
摄像模组501可以用于采集关于拍摄场景的图像数据。
存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器503通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。
处理器503是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块。
在本实施例中,电子设备中的处理器503会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由处理器503来运行存储在存储器502中的应用程序,从而:
所述处理器用于获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
所述处理器用于通过所述扩展模块获取待处理的图像数据;
所述处理器用于将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
所述处理器用于将所述待处理的图像数据由所述第一接口传输至所述处理模块;
所述处理器用于通过所述处理模块确定与所述调用请求对应的图像处理参数;
所述处理器用于根据所述调用请求和所述图像处理参数,通过所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
所述处理器用于将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
请参阅图12,电子设备500可以包括摄像模组501、存储器502、处理器503、输入单元504、输出单元505、扬声器506等部件。
摄像模组501可以用于采集关于拍摄场景的图像数据。
存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器503通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。
处理器503是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
输入单元504可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元505可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块。
在本实施例中,电子设备中的处理器503会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器502中,并由处理器503来运行存储在存储器502中的应用程序,从而:
所述处理器503用于获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
所述处理器503用于通过所述扩展模块获取待处理的图像数据;
所述处理器503用于将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
所述处理器503用于将所述待处理的图像数据由所述第一接口传输至所述处理模块;
所述处理器503用于通过所述处理模块确定与所述调用请求对应的图像处理参数;
所述处理器503用于根据所述调用请求和所述图像处理参数,通过所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
所述处理器503用于将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
在一种实施方式中,所述处理模块包括第二接口以及图像处理单元。
所述处理器503用于:将所述待处理的图像数据由所述第一接口传输至所述第二接口;
所述处理器503用于:通过所述第二接口确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二接口传输至所述图像处理单元。
所述处理器503用于:通过所述图像处理单元对所述待处理的图像数据进行处理。
在一种实施方式中,所述第一接口包括至少一个子接口,所述第二接口包括至少一个子接口,第一接口的每一子接口对应于所述相机应用所具有的拍摄功能中的一项功能,具有预设关联的第一接口的子接口引用第二接口中的同一个子接口。
所述处理器503用于:在所述第一接口中确定出与所述调用请求对应的第一目标子接口,并将所述待处理的图像数据由所述扩展模块传输至所述第一目标子接口。
所述处理器503用于:将所述待处理的图像数据由所述第一目标子接口传输至第二目标子接口,所述第二目标子接口为第二接口中被所述第一目标子接口所引用的子接口。
所述处理器503用于:通过所述第二目标子接口确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二目标子接口传输至所述图像处理单元。
在一种实施方式中,所述图像处理单元包括至少一个子处理单元,每一子处理单元用于实现同一类型的图像处理,每一子处理单元中包括至少一种图像处理算法,其中,图像处理的类型至少包括预览、拍照和视频录像。
所述处理器503用于:根据所述调用请求确定对应的目标子处理单元以及目标图像处理算法,并将所述待处理的图像数据由所述第二目标子接口传输至所述目标子处理单元,所述目标子处理单元为所述图像处理单元中的子处理单元。
所述处理器503用于:通过所述目标子处理单元利用所述目标图像处理算法对所述待处理的图像数据进行处理。
在一种实施方式中,所述第一应用程序还包括数据控制模块。当所述目标拍摄功能包括多项功能时,所述扩展模块获取到多路相同的待处理的图像数据。
所述处理器503用于:将所述待处理的图像数据由所述第二目标子接口传输至所述数据控制模块;通过所述数据控制模块从所述多路相同的待处理的图像数据中选择一路待处理的图像数据;将选择出的待处理的图像数据由所述数据控制模块传输至所述目标子处理单元。
在一种实施方式中,所述第一应用程序还包括核心模块,所述处理器503用于:通过所述核心模块根据所述调用请求调用所述电子设备的摄像模组采集图像数据,并将采集到的图像数据确定为待处理的图像数据,以及将所述待处理的图像数据传输至所述扩展模块。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像处理方法的详细描述,此处不再赘述。
本申请实施例提供的所述图像处理装置与上文实施例中的图像处理方法属于同一构思,在所述图像处理装置上可以运行所述图像处理方法实施例中提供的任一方法,其具体实现过程详见所述图像处理方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述图像处理方法而言,本领域普通技术人员可以理解实现本申请实施例所述图像处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述图像处理方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述图像处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种图像处理方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种图像处理方法,应用于电子设备,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,所述图像处理方法包括:
获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
获取待处理的图像数据,所述待处理的图像数据由所述扩展模块获取;
将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
将所述待处理的图像数据由所述第一接口传输至所述处理模块;
由所述处理模块确定与所述调用请求对应的图像处理参数;
根据所述调用请求和所述图像处理参数,由所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
2.根据权利要求1所述的图像处理方法,其特征在于,所述处理模块包括第二接口以及图像处理单元;
所述将所述待处理的图像数据由所述第一接口传输至所述处理模块,包括:将所述待处理的图像数据由所述第一接口传输至所述第二接口;
所述由所述处理模块确定与所述调用请求对应的图像处理参数,包括:由所述第二接口确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二接口传输至所述图像处理单元;
所述由所述处理模块对所述待处理的图像数据进行处理,包括:由所述图像处理单元对所述待处理的图像数据进行处理。
3.根据权利要求2所述的图像处理方法,其特征在于,所述第一接口包括至少一个子接口,所述第二接口包括至少一个子接口,第一接口的每一子接口对应于所述相机应用所具有的拍摄功能中的一项功能,具有预设关联的第一接口的子接口引用第二接口中的同一个子接口;
所述将所述待处理的图像数据由所述扩展模块传输至所述第一接口,包括:在所述第一接口中确定出与所述调用请求对应的第一目标子接口,并将所述待处理的图像数据由所述扩展模块传输至所述第一目标子接口;
所述将所述待处理的图像数据由所述第一接口传输至所述第二接口,包括:将所述待处理的图像数据由所述第一目标子接口传输至第二目标子接口,所述第二目标子接口为第二接口中被所述第一目标子接口所引用的子接口;
所述由所述第二接口确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二接口传输至所述图像处理单元,包括:由所述第二目标子接口确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二目标子接口传输至所述图像处理单元。
4.根据权利要求3所述的图像处理方法,其特征在于,所述图像处理单元包括至少一个子处理单元,每一子处理单元用于实现同一类型的图像处理,每一子处理单元中包括至少一种图像处理算法,其中,图像处理的类型至少包括预览、拍照和视频录像;
所述将所述待处理的图像数据由所述第二目标子接口传输至所述图像处理单元,包括:根据所述调用请求确定对应的目标子处理单元以及目标图像处理算法,并将所述待处理的图像数据由所述第二目标子接口传输至所述目标子处理单元,所述目标子处理单元为所述图像处理单元中的子处理单元;
所述由所述图像处理单元对所述待处理的图像数据进行处理,包括:由所述目标子处理单元利用所述目标图像处理算法对所述待处理的图像数据进行处理。
5.根据权利要求4所述的图像处理方法,其特征在于,所述第一应用程序还包括数据控制模块;
当所述目标拍摄功能包括多项功能时,所述扩展模块获取到多路相同的待处理的图像数据;
所述将所述待处理的图像数据由所述第二目标子接口传输至所述目标子处理单元,包括:将所述待处理的图像数据由所述第二目标子接口传输至所述数据控制模块;由所述数据控制模块从所述多路相同的待处理的图像数据中选择一路待处理的图像数据;将选择出的待处理的图像数据由所述数据控制模块传输至所述目标子处理单元。
6.根据权利要求1所述的图像处理方法,其特征在于,所述第一应用程序还包括核心模块,所述方法还包括:
由所述核心模块根据所述调用请求调用所述电子设备的摄像模组采集图像数据,并将采集到的图像数据确定为待处理的图像数据,以及将所述待处理的图像数据传输至所述扩展模块。
7.一种图像处理装置,应用于电子设备,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,所述图像处理装置包括:
所述扩展模块用于:获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;获取待处理的图像数据;将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
所述第一接口用于:将所述待处理的图像数据由所述第一接口传输至所述处理模块;
所述处理模块用于:确定与所述调用请求对应的图像处理参数;根据所述调用请求和所述图像处理参数,对所述待处理的图像数据进行处理,得到处理后的图像数据;将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
8.根据权利要求7所述的图像处理装置,其特征在于,所述处理模块包括第二接口以及图像处理单元;
所述第一接口用于:将所述待处理的图像数据由所述第一接口传输至所述第二接口;
所述第二接口用于:确定与所述调用请求对应的图像处理参数,并将所述待处理的图像数据由所述第二接口传输至所述图像处理单元;
所述图像处理单元用于:对所述待处理的图像数据进行处理。
9.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序包括第一应用程序,通过所述第一应用程序,计算机中的应用程序可调用所述计算机的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块;
当所述计算机程序在所述计算机上执行时,使得所述计算机执行:
获取调用请求,所述调用请求为所述计算机中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
获取待处理的图像数据,所述待处理的图像数据由所述扩展模块获取;
将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
将所述待处理的图像数据由所述第一接口传输至所述处理模块;
由所述处理模块确定与所述调用请求对应的图像处理参数;
根据所述调用请求和所述图像处理参数,由所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
10.一种电子设备,包括存储器,处理器,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述第一应用程序包括扩展模块、第一接口以及处理模块,通过调用所述存储器中存储的计算机程序:
所述处理器用于获取调用请求,所述调用请求为所述电子设备中的第二应用程序通过所述扩展模块提供的应用程序编程接口调用目标拍摄功能的请求,所述目标拍摄功能为所述相机应用所具有的拍摄功能中的一项或多项功能;
所述处理器用于通过所述扩展模块获取待处理的图像数据;
所述处理器用于将所述待处理的图像数据由所述扩展模块传输至所述第一接口;
所述处理器用于将所述待处理的图像数据由所述第一接口传输至所述处理模块;
所述处理器用于通过所述处理模块确定与所述调用请求对应的图像处理参数;
所述处理器用于根据所述调用请求和所述图像处理参数,通过所述处理模块对所述待处理的图像数据进行处理,得到处理后的图像数据;
所述处理器用于将所述处理后的图像数据发送至所述第二应用程序,以实现所述第二应用程序对所述目标拍摄功能的调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010038903.4A CN111182223B (zh) | 2020-01-14 | 2020-01-14 | 图像处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010038903.4A CN111182223B (zh) | 2020-01-14 | 2020-01-14 | 图像处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111182223A true CN111182223A (zh) | 2020-05-19 |
CN111182223B CN111182223B (zh) | 2021-06-15 |
Family
ID=70658135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010038903.4A Active CN111182223B (zh) | 2020-01-14 | 2020-01-14 | 图像处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111182223B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794834A (zh) * | 2021-08-25 | 2021-12-14 | 维沃移动通信(杭州)有限公司 | 图像处理方法、装置及电子设备 |
WO2023123787A1 (zh) * | 2021-12-28 | 2023-07-06 | 北京小米移动软件有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080088857A1 (en) * | 2006-10-13 | 2008-04-17 | Apple Inc. | System and Method for RAW Image Processing |
CN104932910A (zh) * | 2014-03-20 | 2015-09-23 | 中国移动通信集团公司 | 应用程序接口扩展的方法及系统 |
CN105959530A (zh) * | 2016-04-26 | 2016-09-21 | 乐视控股(北京)有限公司 | 根据应用程序的个性化属性调用摄像头功能的方法和系统 |
US20170048461A1 (en) * | 2015-08-12 | 2017-02-16 | Samsung Electronics Co., Ltd. | Method for processing image and electronic device supporting the same |
CN106775902A (zh) * | 2017-01-25 | 2017-05-31 | 北京奇虎科技有限公司 | 一种图像处理的方法和装置、移动终端 |
CN108076253A (zh) * | 2016-11-18 | 2018-05-25 | 福州瑞芯微电子股份有限公司 | 一种智能电子设备和图像处理单元、装置、方法 |
CN109101352A (zh) * | 2018-08-30 | 2018-12-28 | Oppo广东移动通信有限公司 | 算法架构、算法调用方法、装置、存储介质及移动终端 |
CN110290288A (zh) * | 2019-06-03 | 2019-09-27 | Oppo广东移动通信有限公司 | 图像处理器、图像处理方法、拍摄装置和电子设备 |
-
2020
- 2020-01-14 CN CN202010038903.4A patent/CN111182223B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080088857A1 (en) * | 2006-10-13 | 2008-04-17 | Apple Inc. | System and Method for RAW Image Processing |
CN104932910A (zh) * | 2014-03-20 | 2015-09-23 | 中国移动通信集团公司 | 应用程序接口扩展的方法及系统 |
US20170048461A1 (en) * | 2015-08-12 | 2017-02-16 | Samsung Electronics Co., Ltd. | Method for processing image and electronic device supporting the same |
CN105959530A (zh) * | 2016-04-26 | 2016-09-21 | 乐视控股(北京)有限公司 | 根据应用程序的个性化属性调用摄像头功能的方法和系统 |
CN108076253A (zh) * | 2016-11-18 | 2018-05-25 | 福州瑞芯微电子股份有限公司 | 一种智能电子设备和图像处理单元、装置、方法 |
CN106775902A (zh) * | 2017-01-25 | 2017-05-31 | 北京奇虎科技有限公司 | 一种图像处理的方法和装置、移动终端 |
CN109101352A (zh) * | 2018-08-30 | 2018-12-28 | Oppo广东移动通信有限公司 | 算法架构、算法调用方法、装置、存储介质及移动终端 |
CN110290288A (zh) * | 2019-06-03 | 2019-09-27 | Oppo广东移动通信有限公司 | 图像处理器、图像处理方法、拍摄装置和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794834A (zh) * | 2021-08-25 | 2021-12-14 | 维沃移动通信(杭州)有限公司 | 图像处理方法、装置及电子设备 |
WO2023123787A1 (zh) * | 2021-12-28 | 2023-07-06 | 北京小米移动软件有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111182223B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493538B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN111491102B (zh) | 拍照场景的检测方法、系统、移动终端及存储介质 | |
CN104869305B (zh) | 处理图像数据的方法及其装置 | |
CN109068059B (zh) | 一种调用相机的方法、移动终端及存储介质 | |
CN112770059B (zh) | 拍照方法、装置及电子设备 | |
CN111182223B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN109033393B (zh) | 贴纸处理方法、装置、存储介质及电子设备 | |
CN111259441B (zh) | 设备控制方法、装置、存储介质及电子设备 | |
CN111314606B (zh) | 拍照方法、装置、电子设备及存储介质 | |
CN112437235B (zh) | 夜景图片生成方法、装置及移动终端 | |
CN112153282B (zh) | 图像处理芯片、方法、存储介质及电子设备 | |
CN115359105B (zh) | 景深扩展图像生成方法、设备及存储介质 | |
CN114363654B (zh) | 一种视频推流方法、装置、终端设备及存储介质 | |
CN115576470A (zh) | 图像处理方法和装置、增强现实系统及介质 | |
CN112689086B (zh) | 一种信息确定方法、电子设备和计算机可读存储介质 | |
CN114286007A (zh) | 图像处理电路、图像处理方法、电子设备和可读存储介质 | |
CN114299014A (zh) | 图像处理架构、方法、电子设备及存储介质 | |
CN113037996A (zh) | 图像处理方法、装置和电子设备 | |
CN113810675A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN117097993B (zh) | 图像处理方法及相关装置 | |
CN112367470B (zh) | 图像处理方法、装置及电子设备 | |
CN113259582B (zh) | 图片生成方法及终端 | |
CN117119316B (zh) | 图像处理方法、电子设备及可读存储介质 | |
CN117692749A (zh) | 拍摄方法、装置、图像处理框架、介质、终端及芯片 | |
CN117692750A (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 |