CN117692768A - 图像处理方法、装置和存储介质 - Google Patents
图像处理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN117692768A CN117692768A CN202211058040.2A CN202211058040A CN117692768A CN 117692768 A CN117692768 A CN 117692768A CN 202211058040 A CN202211058040 A CN 202211058040A CN 117692768 A CN117692768 A CN 117692768A
- Authority
- CN
- China
- Prior art keywords
- image
- terminal
- processing
- processing mode
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 427
- 206010048669 Terminal state Diseases 0.000 claims abstract description 121
- 238000012805 post-processing Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims description 44
- 238000010606 normalization Methods 0.000 claims description 20
- 230000006399 behavior Effects 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003631 expected effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003705 background correction Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
本公开提供了一种图像处理方法、装置和存储介质,所述方法应用于终端,所述方法包括:获取所述终端需要采集图像时的终端状态数据;根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。本公开实施例相比于采用固定的流程和处理算法对采集的图像进行拍照后处理,不但灵活性强,而且能够抑制由于终端状态的负面因素导致算法处理时长较长或者出现卡顿等异常的情况,从而有利于改善用户拍照体验。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种图像处理方法、装置和存储介质。
背景技术
随着终端技术的飞速发展,诸如手机、平板电脑等终端的功能日益强大,逐渐成为人们工作和生活中不可或缺的工具。终端中通常都设置有摄像头来实现拍摄功能,为了提高拍摄的图像的美观程度,在图像拍摄的过程中,终端往往会对拍摄的图像进行处理。
然而,目前终端拍照的流程都是按照采用固定的流程和处理算法进行拍照后处理,这种方式不够灵活,导致图像处理效果达不到用户预期效果,从而影响到用户拍照体验。
发明内容
本公开实施例提供一种图像处理方法、装置和存储介质。
根据本公开实施例的第一方面,提供一种图像处理方法,应用于终端,所述方法包括:
获取所述终端需要采集图像时的终端状态数据;
根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;
采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一个实施例中,所述根据所述终端状态数据,从备选图像处理模式中确定目标处理模式,包括:
当所述终端状态数据表明所述终端处于预设状态时,从第一类备选模式中选择所述目标处理模式;
当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式。
在一个实施例中,所述目标处理模式对应的备选图像处理模式还包括第二类备选模式;
其中,所述第一类备选模式对应的系统资源的调用优先级,高于所述第二类备选模式对应的系统资源的调用优先级;
所述用户数据包括:与图像采集相关的用户行为数据和/或用户偏好数据;
所述当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式,包括:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果;其中,所述终端状态数据对应的权重小于所述用户数据对应的权重;
根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式。
在一个实施例中,所述当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果,包括:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据分别进行归一化处理;
根据所述终端状态数据对应的权重以及所述用户数据对应的权重,对归一化处理后的所述终端状态数据和所述用户数据进行加权计算,得到所述加权计算结果。
在一个实施例中,所述第二类备选模式至少包括:
第一处理模式;
第二处理模式;
其中,采用所述第一处理模式处理所述第一图像的处理时长,小于采用所述第二处理模式处理所述第一图像的处理时长;
采用所述第二处理模式处理得到的所述第二图像的图像画质,优于采用所述第一处理模式处理得到的所述第二图像的图像画质。
在一个实施例中,所述终端状态数据包括以下至少之一:
所述终端的温度;
所述终端的剩余电量;
所述终端的内存占用率;
所述终端的CPU(Central Processing Unit,中央处理器)使用率。
在一个实施例中,所述用户行为数据包括以下至少之一:
所述图像采集模组的拍摄键被触发的触发频率;
作用于所述图像采集模组的对焦操作次数;
作用于所述图像采集模组的对焦操作时长。
在一个实施例中,所述终端的硬件抽象层内设置有:算法处理引擎、第一硬件抽象层以及第二硬件抽象层;所述第一硬件抽象层内设置有图像后处理引擎;
所述图像后处理引擎,被配置为通过所述第二硬件抽象层获取所述终端需要采集图像时的终端状态数据;
所述图像后处理引擎,被配置为根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;
所述算法处理引擎,被配置为采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一个实施例中,所述方法还包括:
确定图像采集的当前拍摄场景;
所述根据所述终端状态数据,从备选图像处理模式中确定目标处理模式,包括:
所述图像后处理引擎根据所述当前拍摄场景,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;其中,在不同拍摄场景下,所述目标处理模式对应的处理算法不同。
根据本公开实施例的第二方面,提供一种图像处理装置,应用于终端,所述装置包括:
获取模块,用于获取所述终端需要采集图像时的终端状态数据;
第一确定模块,用于根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;
处理模块,用于采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一个实施例中,所述第一确定模块用于:
当所述终端状态数据表明所述终端处于预设状态时,从第一类备选模式中选择所述目标处理模式;
当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式。
在一个实施例中,所述目标处理模式对应的备选图像处理模式还包括第二类备选模式;
其中,所述第一类备选模式对应的系统资源的调用优先级,高于所述第二类备选模式对应的系统资源的调用优先级;
所述用户数据包括:与图像采集相关的用户行为数据和/或用户偏好数据;
所述第一确定模块用于:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果;其中,所述终端状态数据对应的权重小于所述用户数据对应的权重;
根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式。
在一个实施例中,所述第一确定模块用于:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据分别进行归一化处理;
根据所述终端状态数据对应的权重以及所述用户数据对应的权重,对归一化处理后的所述终端状态数据和所述用户数据进行加权计算,得到所述加权计算结果。
在一个实施例中,所述第二类备选模式至少包括:
第一处理模式;
第二处理模式;
其中,采用所述第一处理模式处理所述第一图像的处理时长,小于采用所述第二处理模式处理所述第一图像的处理时长;
采用所述第二处理模式处理得到的所述第二图像的图像画质,优于采用所述第一处理模式处理得到的所述第二图像的图像画质。
在一个实施例中,所述终端状态数据包括以下至少之一:
所述终端的温度;
所述终端的剩余电量;
所述终端的内存占用率;
所述终端的CPU使用率。
在一个实施例中,所述用户行为数据包括以下至少之一:
所述图像采集模组的拍摄键被触发的触发频率;
作用于所述图像采集模组的对焦操作次数;
作用于所述图像采集模组的对焦操作时长。
在一个实施例中,所述终端的硬件抽象层内设置有:算法处理引擎、第一硬件抽象层以及第二硬件抽象层;所述第一硬件抽象层内设置有图像后处理引擎;
所述获取模块,用于所述图像后处理引擎通过所述第二硬件抽象层获取所述终端需要采集图像时的终端状态数据;
所述第一确定模块,用于所述图像后处理引擎根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;
所述处理模块,用于所述算法处理引擎采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一个实施例中,所述装置还包括:
第二确定模块,用于确定图像采集的当前拍摄场景;
所述第一确定模块,所述第一确定模块,用于所述图像后处理引擎根据所述当前拍摄场景,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;其中,在不同拍摄场景下,所述目标处理模式对应的处理算法不同。
根据本公开实施例的第三方面,提供一种终端,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行第一方面任一项提供的图像处理方法中的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现第一方面任一项提供的图像处理方法中的步骤。
本公开提供的一种图像处理方法、装置和存储介质,所述方法应用于终端,通过获取所述终端需要采集图像时的终端状态数据;根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。这样采用目标处理模式对应的处理算法对采集到的第一图像进行图像处理,能够抑制由于终端状态的负面因素导致算法处理时长较长或者出现卡顿等异常的情况,从而有利于改善用户拍照体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1示出了一种图像拍摄的示意图;
图2是根据一示例性实施例示出的一种图像处理方法的流程图;
图3是根据一示例性实施例示出的另一种图像处理方法的流程图;
图4是根据一示例性实施例示出的又一种图像处理方法的流程图;
图5是根据一示例性实施例示出的第一硬件抽象层的结构示意图;
图6是根据一示例性实施例示出的相机架构示意图;
图7是根据一示例性实施例示出的一种图像处理方法的示例流程图;
图8是根据一示例性实施例示出的另一种图像处理方法的示例流程图;
图9是根据一示例性实施例示出的一种图像处理装置的结构图;
图10是根据一示例性实施例示出的一种终端的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开实施例的一些方面相一致的装置和方法的例子。
在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以手机拍照为例,手机相机拍照流程是:用户下发拍照请求,然后手机的底层硬件会根据拍照请求采集原始Raw图像,然后对Raw图像采用相应算法进行后处理。其中,Raw图像数据是未进行任何ISP(Image Signal Processor,图像信号处理器)处理的图像数据,或者可以是未被打印或用于编辑。
图1示出了一种图像拍摄的示意图。当用户点击拍摄键后,首先会通过硬件采集Raw图像数据,然后对Raw图像通过一系列后处理算法得到最终的大图。若此时手机的电量低或温度高,则会按照备用算法逻辑进行拍照后处理,这会造成算法处理时长较长或者APP(application,应用)卡顿等异常,从而导致拍照存在出图慢、成像效果差等问题。对于手机来说,这种方式能够保证手机在极限环境下的正常运行。
但对于用户来说,上述拍照后处理方式会导致图像处理效果达不到用户预期效果,从而用户拍照体验不佳。同样,在手机处于非高温、电量足够的正常情况下拍照,则会按照固定的拍照算法流程进行拍照后处理,如果用户期待快速成像,但是在某些拍摄模式(例如夜景、人像等)中,图像需要长时间处理;而在普通拍照模式中虽然出图快,但是用户却想体验更高画质的照片,这些都会造成用户拍照体验不佳。
图2是根据一示例性实施例示出的一种图像处理方法的流程图。参照图2,所述方法包括:
S100:获取终端需要采集图像时的终端状态数据。
本公开实施例提供的图像处理方法可以应用于终端中,所述终端可以包括但不限于:手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、个人数字助理(personal digital assistant,PDA)、移动上网装置(Mobile Internet Device,MID)、可穿戴式设备(Wearable Device)或车载设备等移动终端以及台式计算机等固定终端。
本公开实施例中,所述终端的软件架构可分为四层,包括:应用层、应用框架(Framework)层、硬件抽象(Hardware Abstract Layer,HAL)层和内核(Kernel)驱动层。
应用层:设有应用程序,例如相机应用。应用开发者可调用操作系统提供的相机应用的通用接口,通过这些通用接口对应用框架层的相机服务进行操作与数据传递。
应用框架层:包含相机服务(Camera service)层,是承上启下的作用,向上与应用层交互,向下与硬件抽象层交互。
硬件抽象层:用于实现具体硬件平台的功能和对硬件平台的控制,同时又为其它软件模块提供统一的API(Application Programming Interface,应用程序编程接口)。HAL层是为了将硬件操作和控制的共性抽象出来,向上层软件模块提供统一的操控接口,以实现软件模块与底层硬件的隔离。
内核(Kernel)驱动层:通过提供统一的驱动操作接口供应用层使用,实现对硬件的操控的中间层。如实现对硬件层中的镜头模组、感光元件、图像信号处理器的操控等。
示例性地,所述终端的应用层设置有第一应用程序,所述第一应用程序可以是该终端的原生系统中的原生应用程序,该原生应用程序为由设备制造商或软件系统创建者创建和分发的应用程序,例如第一应用程序为系统相机应用;所述第一应用程序也可以是第三方提供的第三方应用程序,第三方应用程序是由供应商(该供应商可以是公司或个人)创建的应用程序,该第三方与设备制造商和/或设备的操作系统创建者不同,例如所述第一应用程序为第三方相机应用。
示例地,响应于第一操作,显示拍摄界面;在显示拍摄界面的情况下,响应于进行拍摄的第二操作,接收到拍摄请求。第一操作可以是用于触发第一应用程序调用摄像头的操作,第一应用程序可以为能够调用摄像头的应用程序。
示例地,第一应用程序可以为相机应用程序,第一操作可以是用于开启第一应用程序的用户操作,以运行第一应用程序并显示拍摄界面;例如第一操作可以是对第一应用程序的应用程序图标的点击操作,或者是启动第一应用程序的语音操作。
示例地,第一应用程序可以为相机应用程序之外能够调用摄像头功能的应用程序,例如能够进行影音通讯的即时通信应用程序、集成影像采集功能的内容记录应用程序(如备忘录应用程序或笔记应用程序),第一操作可以是通过第一应用程序调用拍摄功能的操作或者触发进入拍摄界面的操作,例如第一操作可以是对第一应用程序上的预设控件的点击操作。
示例地,所述第二操作可以是用于触发摄像头拍摄的用户操作,例如第二操作可以是针对所述显示拍摄界面上的预设屏幕区域的触摸操作、触发拍照的语音操作、针对所述终端的预设物理按键的按压操作、或者针对预设的按键组合的按压操作等。
其中,所述终端状态数据是指能够反映终端状态的数据。终端状态可以包括但不限于以下至少之一:终端的电池状况、终端的CPU负荷状况、终端的温度状况、终端的功耗状况等。
S200:根据所述终端状态数据,从备选图像处理模式中确定目标处理模式。
示例地,可以基于终端状态数据确定所述终端所处的状态,根据所述终端所处的状态,从备选图像处理模式中确定目标处理模式。
示例性地,当基于终端状态数据确定所述终端处于预设状态时,可以从备选图像处理模式中选取资源应急模式作为所述目标处理模式。当基于终端状态数据确定所述终端未处于预设状态时,可以从备选图像处理模式中选取预设处理模式作为所述目标处理模式。
这里,预设状态可以为终端状态数据满足预设状态条件时所处的状态。其中,预设状态条件例如可以包括:所述终端的剩余电量小于预设电量阈值、和/或所述终端的温度大于预设温度阈值、和/或所述终端的内存占用率高于预设占用率阈值、和/或所述终端的CPU使用率高于预设使用率阈值,等等。
其中,在备选图像处理模式中,所述资源应急模式对应的系统资源的调用优先级最高。
其中,所述预设处理模式可以为用户根据自身需求预先设定的处理模式。例如,所述预设处理模式为快拍模式或者高画质模式。其中,在快拍模式下,图像处理时长小于预设处理时长。在高画质模式下,处理后的图像清晰度高于预设清晰度。
例如,以终端的剩余电量为例,若所述终端的剩余电量小于预设电量阈值时,确定终端处于预设状态,则将资源应急模式作为目标处理模式。若所述终端的剩余电量大于或等于预设电量阈值时,将备选图像处理模式中的预设处理模式确定为所述目标处理模式。
又例如,以终端的CPU使用率为例,若所述终端的CPU使用率高于预设使用率阈值时,确定终端处于预设状态,则将资源应急模式作为目标处理模式。若所述终端的CPU使用率低于或等于预设使用率阈值时,将备选图像处理模式中的预设处理模式确定为目标处理模式。
S300:采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
其中,所述第一图像,可以为所述终端的图像采集模组(例如,图像传感器)当前采集到的原始图像,也可以为所述图像采集模组预先采集并存储到所述终端的缓存中的原始图像。其中,所述原始图像具体可以为Raw图像,Raw图像是图像采集模组将采集到的光信号转换为数字信号后的图像数据。在Raw图像中,每个像素点只有RGB中的一种颜色。
其中,所述第二图像可以是待输出至所述终端的屏幕上的预览图像,也可以是待输出至所述终端的相册中的图像。本实施例对此不作限定。
其中,所述目标处理模式对应的处理算法,可预先配置于所述目标处理模式对应的处理算法配置列表中。其中,不同的处理模式对应的处理算法配置列表不同。
其中,至少一个处理算法的算法实例,能够按照预设执行顺序,对采集到的第一图像进行后处理,得到待输出的第二图像。
示例性地,所述处理算法可包括但不限于:黑电平矫正、坏点矫正、白平衡矫正、镜头阴影矫正、高动态范围(High-Dynamic Range,HDR)图像处理等。
本公开实施例提供一种图像处理方法,通过获取所述终端需要采集图像时的终端状态数据;根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。由于目标处理模式是根据终端状态数据确定的,这样采用目标处理模式对应的处理算法对采集到的第一图像进行图像处理,相比于采用固定的流程和处理算法对采集的图像进行拍照后处理,不但灵活性强,而且能够抑制由于终端状态的负面因素导致算法处理时长较长或者出现卡顿等异常的情况,从而有利于改善用户拍照体验。
在一个实施例中,所述终端的硬件抽象层内设置有:算法处理引擎、第一硬件抽象层以及第二硬件抽象层;所述第一硬件抽象层内设置有图像后处理引擎;
上述步骤S100中,图像后处理引擎通过所述第二硬件抽象层获取所述终端需要采集图像时的终端状态数据;
上述步骤S200中,图像后处理引擎根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;
上述步骤S300中,算法处理引擎采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一些示例中,算法处理引擎用于管理图像处理相关的处理算法,协调算法之间的数据流转。处理算法可包括软件算法和/或硬件算法,软件算法例如畸变矫正、去除紫边、多帧融合等,算法的运行依赖于系统的CPU和GPU单元;而硬件算法则是以图像信号处理器(Image Signal Processor,ISP)为基础,组织ISP芯片部件完成相应的图像处理需求。
在一些示例中,第一硬件抽象层是对第二硬件抽象层程序的封装,向上提供接口。第一硬件抽象层用于将相机应用(例如,第三方相机)对摄像头的拍照请求,转给图像后处理引擎进行重构,并对从第二硬件抽象层获取的数据进行处理,以返回给应用层和应用框架层。
所述第一硬件抽象层可以为设备制造方对应的硬件抽象层。例如,所述设备制造方可以为使用安卓架构的设备制造商。
在一些示例中,第二硬件抽象层是对内核驱动程序的封装,向上提供接口。第二硬件抽象层将硬件抽象化,为操作系统提供虚拟硬件平台。第二硬件抽象层是一个代理,用于将应用层、应用框架层和第一硬件抽象层对摄像头的拍照请求,转给正确的硬件驱动去执行动作,并返回从硬件获取的数据给应用层、应用框架层和第一硬件抽象层。
所述第二硬件抽象层可以为平台方对应的硬件抽象层。例如,平台方可以为:高通或联发科等厂商。
本实施例中,第一硬件抽象层可作为位于框架层和第二硬件抽象层之间的中间层,能够对相机图像处理相关的软件、硬件资源的控制逻辑和实现细节进行抽象,简化上层应用业务设计,无视平台差异,可在多种平台上进行移植。
在一些示例中,所述第一硬件抽象层内设置有相机控制模块,所述相机控制模块可包括业务逻辑控制模块和所述图像后处理引擎。
在一些可能的实施例中,在接收到所述终端的相机应用通过所述业务逻辑控制模块发送的拍照请求时,所述图像后处理引擎通过所述第二硬件抽象层从硬件层中采集终端状态数据。
在一些可能的实施例中,所述图像后处理引擎根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法,并将所述目标处理模式发送至所述业务逻辑控制模块。
在一些可能的实施例中,所述业务逻辑控制模块从所述第二硬件抽象层获取第一图像,并将所述目标处理模式对应的处理算法以及所述第一图像发送至所述算法处理引擎。所述算法处理引擎采用所述目标处理模式对应的处理算法,对第一图像进行处理,得到待输出的第二图像。
在一个实施例中,如图3所示,基于图2,上述步骤S200中,所述根据所述终端状态数据,从备选图像处理模式中确定目标处理模式,包括:
S210:当所述终端状态数据表明所述终端处于预设状态时,从第一类备选模式中选择所述目标处理模式;
S220:当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式。
在一个实施例中,所述终端状态数据包括以下至少之一:所述终端的温度、所述终端的剩余电量、所述终端的内存占用率、所述终端的CPU使用率。
其中,所述终端的温度可包括:所述终端的中央处理器的温度、和/或电池温度等。所述终端的剩余电量可包括:电池剩余电量百分比和/或电池剩余电量的使用时长等。
在一些示例中,可以根据上述终端状态数据中的一个或多个的组合,确定所述终端的状态,本实施例对此不作具体限定。
在一些示例中,可以根据所述终端状态数据是否满足预设状态条件,确定所述终端是否处于所述预设状态。当所述终端状态数据满足预设状态条件时,确定所述终端处于所述预设状态;当所述终端状态数据不满足预设状态条件,确定所述终端不处于所述预设状态。
示例性地,所述预设状态条件包括以下至少之一:
所述终端的温度高于预设温度阈值;
所述终端的剩余电量低于预设电量阈值;
所述终端的内存占用率高于预设占用率阈值;
所述终端的CPU使用率高于预设使用率阈值。
在另一些示例中,可以对各个所述终端状态数据进行归一化处理,根据预设的第一权重分配信息,对归一化处理后的各个所述终端状态数据进行加权计算,得到所述终端状态数据的综合值;当所述终端状态数据的综合值大于预设阈值时,确定所述终端处于预设状态,当所述终端状态数据的综合值小于或等于所述预设阈值时,确定所述终端不处于所述预设状态。
其中,所述终端的剩余电量与所述终端状态数据的综合值负相关,所述终端的温度、所述终端的内存占用率、所述终端的CPU使用率均与所述终端状态数据的综合值正相关。
上述步骤S210中,所述终端处于预设状态时,可以从第一类备选模式中选择任意一个图像处理模式作为目标处理模式,此外,也可以进一步结合用户数据从第一类备选模式中选择目标处理模式。
其中,所述第一类备选模式中的图像处理模式对应的系统资源的调用优先级,高于不属于所述第一类备选模式的图像处理模式对应的系统资源的调用优先级。
上述步骤S220中,所述终端不处于预设状态时,可以结合用户数据确定所述目标处理模式。
示例地,在所述终端不处于所述预设状态时,根据用户数据确定用户偏好的图像处理模式,将所述用户偏好的图像处理模式确定为所述目标处理模式。
例如,若根据用户数据确定用户偏好的图像处理模式为快拍模式时,则将快拍模式作为所述目标处理模式。若根据用户数据确定用户偏好的图像处理模式为高画质模式时,则将高画质模式作为所述目标处理模式。
在一些示例中,可以对与图像采集相关的各种用户数据进行归一化处理,对归一化处理后的各种用户数据进行加权计算,得到用户数据的综合值;根据用户数据的综合值,确定用户偏好的图像处理模式。例如,当用户数据的综合值大于预设值时,确定用户偏好的图像处理模式为高画质模式,当用户数据的综合值小于或等于预设值时,确定用户偏好的图像处理模式为快拍模式。
本公开实施例中,所述终端处于所述预设状态时,从第一类备选模式中选择所述目标处理模式;所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式,这样通过结合所述终端是否处于预设状态,采用不同方式确定目标处理模式,从而实现了智能选择最优的图像处理模式,进而采用最优的图像处理模式进行图像处理,能够进一步改善用户拍照体验。
在一个实施例中,所述目标处理模式对应的备选图像处理模式还包括第二类备选模式;其中,所述第一类备选模式对应的系统资源的调用优先级,高于所述第二类备选模式对应的系统资源的调用优先级。
其中,所述系统资源可包括:所述终端的CPU、内存、磁盘和/或图形处理器等资源。
本实施例中,由于第一类备选模式对应的系统资源的调用优先级高于第二类备选模式对应的系统资源的调用优先级,这样在终端处于预设状态时,从第一类备选模式中选择的目标处理模式将优先调用系统资源,能够尽可能地抑制由于终端状态的负面因素导致算法处理时长较长或者出现卡顿等异常的情况,从而能够进一步改善用户拍照体验。
在一个实施例中,所述用户数据包括:与图像采集相关的用户行为数据和/或用户偏好数据。
其中,用户行为数据是指用户在相机应用中触发的各种行为的行为数据。用户偏好数据是反映用户的拍摄偏好的数据。例如,用户偏好数据可以基于用户行为数据分析得到。
在一个实施例中,所述用户行为数据包括以下至少之一:
所述图像采集模组的拍摄键被触发的触发频率;
作用于所述图像采集模组的对焦操作次数;
作用于所述图像采集模组的对焦操作时长。
其中,所述拍摄键被触发的触发频率越高,表明用户更偏好快拍模式;所述对焦操作次数越高和/或所述对焦操作时长越长,表明用户更偏好高画质模式。
如图4所示,上述步骤S220中,所述当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式,可以包括:
S221:当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果;其中,所述终端状态数据对应的权重小于所述用户数据对应的权重。
在一些示例中,上述步骤S221的实现过程可以包括:
对所述终端状态数据和所述用户数据分别进行归一化处理,根据所述终端状态数据对应的权重以及所述用户数据对应的权重,对归一化处理后的所述终端状态数据和所述用户数据进行加权计算,得到所述加权计算结果。
这里,归一化处理是指将终端状态数据的值和所述用户数据的值分别调整至预设数值范围内的处理,即:归一化处理后的所述终端状态数据的值和归一化处理后的所述用户数据的值均在预设数值范围内。此处的预设数值范围可根据实际应用需求进行设置,例如预设数值范围可以设置为[0,1]。
其中,可以采用预设的归一化函数对所述终端状态数据和所述用户数据分别进行归一化处理。这里,预设的归一化函数例如可以是Normalize函数、或者Sigmiod函数等。
其中,不同数据对应的所述权重可以是根据专家经验预先确定的,也可以根据预先训练好的神经网络模型中的权重参数确定的,此处不作具体限定。
例如,所述终端状态数据对应的权重为0.4,所述用户数据对应的权重为0.6。
在一些示例中,所述终端状态数据为多个,可以对各个所述终端状态数据进行归一化处理,根据预设的第一权重分配信息,计算归一化处理后的各个所述终端状态数据的加权值,得到所述终端状态数据的综合值;其中,所述终端状态数据的综合值,用于与所述用户数据进行加权计算,得到所述加权计算结果。
所述第一权重分配信息包括:为各个所述终端状态数据预先分配的权重。
在一些示例中,所述终端的剩余电量对应的权重为负数值,所述终端的温度对应的权重、所述终端的内存占用率对应的权重及所述终端的CPU使用率对应的权重均为正数值。
例如,所述终端的剩余电量对应的权重、所述终端的温度对应的权重、所述终端的内存占用率对应的权重及所述终端的CPU使用率对应的权重依次为-0.1、0.1、0.1、0.1。
在一些示例中,所述用户数据为多个,可以对各个所述用户数据进行归一化处理,根据预设的第二权重分配信息,计算归一化处理后的各个所述用户数据的加权值,得到所述用户数据的综合值;其中,所述用户数据的综合值,用于与所述终端状态数据进行加权计算,得到所述加权计算结果。所述第二权重分配信息包括:为各个所述用户数据预先分配的权重。
在一些示例中,所述图像采集模组的拍摄键被触发的触发频率对应的权重为负数值,作用于所述图像采集模组的对焦操作次数对应的权重、作用于所述图像采集模组的对焦操作时长对应的权重均为正数值。
例如,所述图像采集模组的拍摄键被触发的触发频率对应的权重、作用于所述图像采集模组的对焦操作次数对应的权重、作用于所述图像采集模组的对焦操作时长对应的权重依次为-0.1、0.1、0.1。
S222:根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式。
示例地,根据所述加权计算结果所处的区间范围,在所述第二类备选模式中选择所述目标处理模式,其中,不同区间范围对应的目标处理模式不同。
本公开实施例中,当所述终端不处于所述预设状态时,通过结合所述终端状态数据和所述用户数据,在第二类备选模式中选择所述目标处理模式,能够更精确地确定最优的图像处理模式,进而采用最优的图像处理模式进行图像处理,能够进一步改善用户拍照体验。
在一个实施例中,所述第二类备选模式至少包括:第一处理模式、第二处理模式。
其中,采用所述第一处理模式处理所述第一图像的处理时长,小于采用所述第二处理模式处理所述第一图像的处理时长;采用所述第二处理模式处理得到的所述第二图像的图像画质,优于采用所述第一处理模式处理得到的所述第二图像的图像画质。
在一些示例中,上述步骤S222中,根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式,可以包括:
当所述加权计算结果处于第一区间范围时,确定所述目标处理模式为第一处理模式;
当所述加权计算结果处于第二区间范围时,确定所述目标处理模式为第二处理模式,其中,所述第一区间范围的上限值小于所述第二区间范围的下限值。
这里,第一区间范围、第二区间范围可以根据实际应用需要进行设定,此处不作限定。
本实施例中,当所述终端不处于所述预设状态时,可以在第一处理模式和第二处理模式中选择所述目标处理模式。在采用第一处理模式处理第一图像时,可以根据相机应用预设的对焦距离进行拍摄,这样能够快速成像;而在采用第二处理模式处理第一图像时,相比于第一处理模式,会配置更多的图像缓冲器和更丰富的处理算法,能够使得拍照流程优先保证出图质量。如此,可以智能地选取用户偏好的处理模式,从而改善了用户拍摄体验。
在一个实施例中,所述方法还包括:
确定图像采集的当前拍摄场景。
其中,当前拍摄场景可用于指示当前拍摄模式。拍摄模式包括但不限于:夜景模式、人像模式、夜景人像模式、美颜模式、广角模式、全景模式、自拍模式和/或专业模式等。
示例地,可以根据所述终端的当前拍摄场景,确定图像采集的当前拍摄场景。
上述步骤S200中,所述根据所述终端状态数据,从备选图像处理模式中确定目标处理模式,可以包括:
所述图像后处理引擎根据所述当前拍摄场景,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;其中,在不同拍摄场景下,所述目标处理模式对应的处理算法不同。
示例地,图像后处理引擎可以根据所述当前拍摄场景对应的处理模式与处理算法之间的映射关系,确定目标处理模式对应的处理算法。
在一个实施例中,上述步骤S300中,所述采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像,可以包括:
在所述当前拍摄场景下,采用所述目标处理模式对应的处理算法,对所述第一图像进行图像处理,得到所述第二图像。
示例性地,当前拍摄场景为夜景场景,所述目标处理模式为快拍模式,则在夜景场景下,采用快拍模式对应的处理算法对所述第一图像进行图像处理。
本公开实施例中,由于不同拍摄场景下的所述目标处理模式对应的处理算法不同,这样能够满足不同拍摄场景下的图像处理的需求,从而进一步改善用户拍照体验。
下面,结合具体实施例对本公开提供的图像处理方法进行说明。
本公开实施例提供一种图像处理方法,通过在第一硬件抽象层(例如,设备制造方对应的硬件抽象层)中引入图像后处理引擎,实现在当前拍照模式下,结合当前终端参数(温度、内存和电量等)以及用户偏向数据,智能选择最优的处理算法。
图5是根据一示例性实施例示出的第一硬件抽象层的结构示意图。如图5所示,图像后处理引擎位于第一硬件抽象层中,与业务控制逻辑模块交互。其中,图像后处理引擎可以通过业务控制逻辑模块设置来开启或者关闭。
业务控制逻辑模块用于负责向第二硬件抽象层(例如,平台方对应的硬件抽象层,或称为“Vendor hal”)发送拍照请求,接收第二硬件抽象层层返回的Raw图像,并将Raw图像发送至算法处理引擎进行处理。
图像后处理引擎包括:相机系统监控模块和控制分析模块。
相机系统监控模块,用于获取终端的硬件状态信息和用户拍照偏好信息。当收集到相关信息后,控制分析模块会根据这些信息进行综合判断,通过算法加权,结合终端(例如,手机)的当前状态和用户拍照偏好进行配置具体的算法实例。
控制分析模块内置有四种处理模式,可包括:智能控制模式、资源应急模式、高画质模式和快拍模式。
使能图像后处理引擎后,当终端未处于拍摄负面状态(例如,电量低、内存不足以及温度过高情况)时,默认使用智能控制模式。在智能控制模式下,结合终端的硬件状态信息以及拍照偏好信息(例如,用户拍照的快门触发频率以及对焦操作次数、对焦操作时间等)通过相关算法综合判断,确定用户当前拍摄偏向是快速拍照或者高质量照片。
在智能控制模式下,分析出当前用户偏向快拍快速拍照体验,即在当前模式下尽可能快速出图,此时会在算法配置列表中裁剪不必要的算法实例;当判断用户偏向会选择高画质拍照体验(例如对焦时间较长),则会配置更多的图像缓冲器(buffer)和更丰富的处理算法列表,使得拍照流程能够优先保证出图质量。
资源应急模式是在终端处于负面状态(例如,电量低、内存不足以及温度过高情况)时,尽可能调用本地资源,兼顾速度、温度与稳定性同时结合当前用户偏好,选择最佳算法配置,减少用户的不良体验。
图6是根据一示例性实施例示出的相机架构示意图。该框架结构可以包括:应用层、应用框架层、第一硬件抽象层(HAL)、第二硬件抽象层(HAL)、算法处理引擎、内核(Kernel)驱动层和硬件层(Hardware)。
如图6所示,硬件信息流(例如,上述实施例中的终端状态数据)从硬件层(Hardware)经过内核驱动层(Driver)、第二硬件抽象层(HAL)、以及第一硬件抽象层(HAL)的Binder接口传递至第一硬件抽象层内置的图像后处理引擎;用户数据流(例如,上述实施例中的用户行为数据)从应用层(Application)经过Andriod原生框架(Framework)、第一硬件抽象层(HAL)中的终端Binder服务传递至图像后处理引擎。
图像后处理引擎对硬件信息流和用户数据流通过相关算法综合判断,确定最优的拍照算法逻辑发送至第一硬件抽象层内置的业务逻辑控制模块。
业务逻辑控制模块向第二硬件抽象层(HAL)请求所需的原始Raw图,并在收到原始Raw图后,将原始Raw图与最优的拍照算法逻辑发送至算法处理引擎进行后处理,向相机应用输出最终图像。
第一硬件抽象层是对第二硬件抽象层程序的封装,向上提供接口。第一硬件抽象层用于将相机应用(例如,第三方相机)对摄像头的拍照请求,转给图像后处理引擎进行重构,并对从第二硬件抽象层获取的数据进行处理,以返回给应用层和应用框架层。
第二硬件抽象层是对内核驱动程序的封装,向上提供接口。第二硬件抽象层将硬件抽象化,为操作系统提供虚拟硬件平台。第二硬件抽象层是一个代理,用于将应用层、应用框架层和第一硬件抽象层对摄像头的拍照请求,转给正确的硬件驱动去执行动作,并返回从硬件获取的数据给应用层、应用框架层和第一硬件抽象层。
本实施例中,第一硬件抽象层可以是位于框架层和第二硬件抽象层之间的中间层,对相机图像处理相关的软件、硬件资源的控制逻辑和实现细节进行抽象,简化上层应用业务设计,无视平台差异,可在多种平台上进行移植。
第一硬件抽象层从相机主流业务(如,拍照、图像预览和/或录像)出发,通过抽象不同场景图像数据的数据帧以获取策略和处理需求,封装整体图像处理过程的实现细节,实现控制策略拆解下移,并可以充分调用硬件资源,为相机应用提供高品质的图像数据。
算法处理引擎用于管理图像处理相关的软、硬件算法,协调算法之间的数据流转。软件算法面向不同的图像处理需求给出解决问题,例如畸变矫正、去除紫边、多帧融合等,算法的运行依赖于系统的CPU和GPU单元。硬件算法则是以图像信号处理器(Image SignalProcessor,ISP)为基础,组织ISP芯片部件完成相应的图像处理需求,算法实现主要关注各部件之间的交互方式。
如图7所示的图像处理流程,在未开启图像后处理引擎的情况下,业务逻辑控制模块接收相机应用的拍照请求,向第二硬件抽象层请求Raw图像,并接收第二硬件抽象层返回的Raw图像,对Raw图像发送至算法处理引擎,由算法处理引擎对Raw图像进行后处理,向相机应用输出最终图像。
在该图像处理流程中,业务逻辑控制模块作为中间件,从框架层接收到数据后会经过自己的处理:根据拍照模式记录框架层的请求,在业务逻辑控制模块中添加并构造新的请求以及图像元数据(meta data),再向第二硬件抽象层(HAL)发送信息。这样做的目的能够统一管理并实现一些额外的功能。当获取Raw图后会再发往算法处理引擎进行后处理。
其中,所述图像元数据是图像的各种属性,例如ISO(international StandardsOrganization,感光度)、曝光时间、白平衡增益以及颜色矫正矩阵等属性数据。
如图8所示的图像处理流程,在开启图像后处理引擎的情况下,业务逻辑控制模块接收到拍照请求后,并不会直接在内部按照固定逻辑构造新的请求。此时会询问图像后处理引擎的相机系统监控模块,并根据此时的终端状态以及用户偏好,通过控制分析模块的算法加权,得出目前最优的拍照算法逻辑。然后再向第二硬件抽象层(HAL)请求所需的原始Raw图,并在收到原始数据信息后,再次判断并送往算法处理引擎进行后处理。
通过图像后处理引擎的介入,此时拍照并不会仅仅根据环境固定的配置算法和处理逻辑,而是能够更加智能地做出算法决策,从而使得用户在终端状态正常时,能够获得更加良好的拍照体验,同时也能够优化终端状态不佳而导致的不良拍照体验。
本公开提供的技术方案至少具有以下有益效果:
1)本技术方案可应用于支持终端和三方相机应用的拍照功能,可以忽略平台更换或升级对引擎算法控制策略的影响,便于在多个项目平台快速推广。
2)本技术方案采用了一套异步处理方案来处理原生系统相机的硬件抽象层中的任务与算法后处理任务,能够加速硬件抽象层对应用请求的响应速度。
3)本技术方案通过引入图像后处理引擎模块,针对不同的场景条件制定不同的处理算法策略,使得用户可以在该引擎中选择快拍模式、高质量模式、应急模式和智能控制模式实现不同的拍照体验,根据用户当前需求结合终端的功耗、温度、内存等因素智能选择提供最优的算法处理策略。
图9是根据一示例性实施例示出的一种图像处理装置的结构图。参照图9,所述装置应用于终端,所述装置可以包括:
获取模块110,用于获取所述终端需要采集图像时的终端状态数据;
第一确定模块120,用于根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;
处理模块130,用于采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一个实施例中,所述第一确定模块120用于:
当所述终端状态数据表明所述终端处于预设状态时,从第一类备选模式中选择所述目标处理模式;
当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式。
在一个实施例中,所述目标处理模式对应的备选图像处理模式还包括第二类备选模式;
其中,所述第一类备选模式对应的系统资源的调用优先级,高于所述第二类备选模式对应的系统资源的调用优先级;
所述用户数据包括:与图像采集相关的用户行为数据和/或用户偏好数据;所述第一确定模块120用于:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果;其中,所述终端状态数据对应的权重小于所述用户数据对应的权重;
根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式。
在一个实施例中,所述第一确定模块用于:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据分别进行归一化处理;
根据所述终端状态数据对应的权重以及所述用户数据对应的权重,对归一化处理后的所述终端状态数据和所述用户数据进行加权计算,得到所述加权计算结果。
在一个实施例中,所述第二类备选模式至少包括:
第一处理模式;
第二处理模式;
其中,采用所述第一处理模式处理所述第一图像的处理时长,小于采用所述第二处理模式处理所述第一图像的处理时长;
采用所述第二处理模式处理得到的所述第二图像的图像画质,优于采用所述第一处理模式处理得到的所述第二图像的图像画质。
在一个实施例中,所述终端状态数据包括以下至少之一:
所述终端的温度;
所述终端的剩余电量;
所述终端的内存占用率;
所述终端的CPU使用率。
在一个实施例中,所述用户行为数据包括以下至少之一:
所述图像采集模组的拍摄键被触发的触发频率;
作用于所述图像采集模组的对焦操作次数;
作用于所述图像采集模组的对焦操作时长。
在一个实施例中,所述终端的硬件抽象层内设置有:算法处理引擎、第一硬件抽象层以及第二硬件抽象层;所述第一硬件抽象层内设置有图像后处理引擎;
所述获取模块110,用于所述图像后处理引擎通过所述第二硬件抽象层获取所述终端需要采集图像时的终端状态数据;
所述第一确定模块120,用于所述图像后处理引擎根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;
所述处理模块130,用于所述算法处理引擎采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
在一个实施例中,所述装置还包括:
第二确定模块,用于确定图像采集的当前拍摄场景;
所述第一确定模块120,用于所述图像后处理引擎根据所述当前拍摄场景,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;其中,在不同拍摄场景下,所述目标处理模式对应的处理算法不同。
关于上述实施例中的图像处理装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,获取模块110、第一确定模块120、处理模块130等可以被一个或多个中央处理器(CPU,Central Processing Unit)、图形处理器(GPU,GraphicsProcessing Unit)、基带处理器(BP,baseband processor)、应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述图像处理方法。
图10是根据一示例性实施例示出的一种终端800的结构图。例如,终端800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到终端800的打开/关闭状态,组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图像处理方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述图像处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种图像处理方法,其特征在于,应用于终端,所述方法包括:
获取所述终端需要采集图像时的终端状态数据;
根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;
采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述终端状态数据,从备选图像处理模式中确定目标处理模式,包括:
当所述终端状态数据表明所述终端处于预设状态时,从第一类备选模式中选择所述目标处理模式;
当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式。
3.根据权利要求2所述的方法,其特征在于,所述目标处理模式对应的备选图像处理模式还包括第二类备选模式;
其中,所述第一类备选模式对应的系统资源的调用优先级,高于所述第二类备选模式对应的系统资源的调用优先级;
所述用户数据包括:与图像采集相关的用户行为数据和/或用户偏好数据;
所述当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式,包括:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果;其中,所述终端状态数据对应的权重小于所述用户数据对应的权重;
根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式。
4.根据权利要求3所述的方法,其特征在于,所述当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果,包括:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据分别进行归一化处理;
根据所述终端状态数据对应的权重以及所述用户数据对应的权重,对归一化处理后的所述终端状态数据和所述用户数据进行加权计算,得到所述加权计算结果。
5.根据权利要求3或4所述的方法,其特征在于,所述第二类备选模式至少包括:
第一处理模式;
第二处理模式;
其中,采用所述第一处理模式处理所述第一图像的处理时长,小于采用所述第二处理模式处理所述第一图像的处理时长;
采用所述第二处理模式处理得到的所述第二图像的图像画质,优于采用所述第一处理模式处理得到的所述第二图像的图像画质。
6.根据权利要求1至4任一项所述的方法,所述终端状态数据包括以下至少之一:
所述终端的温度;
所述终端的剩余电量;
所述终端的内存占用率;
所述终端的CPU使用率。
7.根据权利要求3或4所述的方法,其特征在于,所述用户行为数据包括以下至少之一:
所述图像采集模组的拍摄键被触发的触发频率;
作用于所述图像采集模组的对焦操作次数;
作用于所述图像采集模组的对焦操作时长。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述终端的硬件抽象层内设置有:算法处理引擎、第一硬件抽象层以及第二硬件抽象层;所述第一硬件抽象层内设置有图像后处理引擎;
所述图像后处理引擎,被配置为通过所述第二硬件抽象层获取所述终端需要采集图像时的终端状态数据;
所述图像后处理引擎,被配置为根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;
所述算法处理引擎,被配置为采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
确定图像采集的当前拍摄场景;
所述根据所述终端状态数据,从备选图像处理模式中确定目标处理模式,包括:
所述图像后处理引擎根据所述当前拍摄场景,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;其中,在不同拍摄场景下,所述目标处理模式对应的处理算法不同。
10.一种图像处理装置,其特征在于,应用于终端,所述装置包括:
获取模块,用于获取所述终端需要采集图像时的终端状态数据;
第一确定模块,用于根据所述终端状态数据,从备选图像处理模式中确定目标处理模式;
处理模块,用于采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
11.根据权利要求10所述的装置,其特征在于,所述第一确定模块用于:
当所述终端状态数据表明所述终端处于预设状态时,从第一类备选模式中选择所述目标处理模式;
当所述终端状态数据表明所述终端不处于所述预设状态时,根据用户数据选择所述目标处理模式。
12.根据权利要求11所述的装置,其特征在于,所述目标处理模式对应的备选图像处理模式还包括第二类备选模式;
其中,所述第一类备选模式对应的系统资源的调用优先级,高于所述第二类备选模式对应的系统资源的调用优先级;
所述用户数据包括:与图像采集相关的用户行为数据和/或用户偏好数据;
所述第一确定模块用于:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据进行加权计算,得到加权计算结果;其中,所述终端状态数据对应的权重小于所述用户数据对应的权重;
根据所述加权计算结果,在所述第二类备选模式中选择所述目标处理模式。
13.根据权利要求12所述的装置,其特征在于,所述第一确定模块用于:
当所述终端状态数据表明所述终端不处于所述预设状态时,对所述终端状态数据和所述用户数据分别进行归一化处理;
根据所述终端状态数据对应的权重以及所述用户数据对应的权重,对归一化处理后的所述终端状态数据和所述用户数据进行加权计算,得到所述加权计算结果。
14.根据权利要求12或13所述的装置,其特征在于,所述第二类备选模式至少包括:
第一处理模式;
第二处理模式;
其中,采用所述第一处理模式处理所述第一图像的处理时长,小于采用所述第二处理模式处理所述第一图像的处理时长;
采用所述第二处理模式处理得到的所述第二图像的图像画质,优于采用所述第一处理模式处理得到的所述第二图像的图像画质。
15.根据权利要求10至13任一项所述的装置,所述终端状态数据包括以下至少之一:
所述终端的温度;
所述终端的剩余电量;
所述终端的内存占用率;
所述终端的CPU使用率。
16.根据权利要求12或13所述的装置,其特征在于,所述用户行为数据包括以下至少之一:
所述图像采集模组的拍摄键被触发的触发频率;
作用于所述图像采集模组的对焦操作次数;
作用于所述图像采集模组的对焦操作时长。
17.根据权利要求10至13任一项所述的装置,其特征在于,所述终端的硬件抽象层内设置有:算法处理引擎、第一硬件抽象层以及第二硬件抽象层;所述第一硬件抽象层内设置有图像后处理引擎;
所述获取模块,用于所述图像后处理引擎通过所述第二硬件抽象层获取所述终端需要采集图像时的终端状态数据;
所述第一确定模块,用于所述图像后处理引擎根据所述终端状态数据,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;
所述处理模块,用于所述算法处理引擎采用所述目标处理模式对应的处理算法,对采集到的第一图像进行图像处理,得到待输出的第二图像。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于确定图像采集的当前拍摄场景;
所述第一确定模块,用于所述图像后处理引擎根据所述当前拍摄场景,从备选图像处理模式中确定目标处理模式以及所述目标处理模式对应的处理算法;其中,在不同拍摄场景下,所述目标处理模式对应的处理算法不同。
19.一种终端,其特征在于,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行权利要求1至9任一项提供的图像处理方法中的步骤。
20.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任一项提供的图像处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211058040.2A CN117692768A (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211058040.2A CN117692768A (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692768A true CN117692768A (zh) | 2024-03-12 |
Family
ID=90128774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211058040.2A Pending CN117692768A (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692768A (zh) |
-
2022
- 2022-08-31 CN CN202211058040.2A patent/CN117692768A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11849210B2 (en) | Photographing method and terminal | |
US11450322B2 (en) | Speech control method and electronic device | |
JP7326476B2 (ja) | スクリーンショット方法及び電子装置 | |
CN111586282B (zh) | 拍摄方法、装置、终端及可读存储介质 | |
CN112449099B (zh) | 一种图像处理方法、电子设备及云服务器 | |
CN112425156B (zh) | 一种基于连拍选择图像的方法及电子设备 | |
EP4246957A1 (en) | Photographing method, system, and electronic device | |
US20200059597A1 (en) | Shooting method and terminal | |
CN114595785B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN112188034A (zh) | 一种图像处理方法、装置、终端设备及介质 | |
CN113055585B (zh) | 拍摄界面的缩略图显示方法及移动终端 | |
WO2023160230A1 (zh) | 一种拍摄方法及相关设备 | |
EP4365722A1 (en) | Method for displaying dock bar in launcher and electronic device | |
CN114339966B (zh) | 用于数据传输的界面控制方法、装置、介质与电子设备 | |
US20230412535A1 (en) | Message display method and electronic device | |
CN117692768A (zh) | 图像处理方法、装置和存储介质 | |
CN111835977B (zh) | 图像传感器、图像生成方法及装置、电子设备、存储介质 | |
CN112230982A (zh) | 素材处理方法、装置、电子设备及存储介质 | |
WO2024036998A1 (zh) | 显示方法、存储介质及电子设备 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
CN117453104B (zh) | 图像获取方法及电子设备 | |
CN115733913A (zh) | 连续拍照方法及装置、存储介质 | |
CN117692769A (zh) | 相机控制方法、装置、图像处理框架、介质、终端及芯片 | |
CN117692789A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN116668798A (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 |