一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像处理方法和装置与流程

2022-04-13 13:16:30 来源:中国专利 TAG:


1.本技术实施例涉及图像处理技术领域,尤其涉及一种图像处理方法和装置。


背景技术:

2.用户在使用电子设备时,可以将电子设备设置为深色模式,以节省电子设备的电量,保护用户的眼睛。深色模式是指将电子设备的图形用户界面(graphic user interface,gui)转换为深色调的模式,深色模式下的应用界面通常呈现深色背景和亮色前景。
3.现有的深色模式一般通过算法将应用的界面元素进行识别,并在渲染时对资源和颜色进行相应处理,从而呈现深色效果。但是,对于一些不规范的白底图标,采用现有的深色模式处理方法很难正确识别,也不会做特殊处理,因此这些图标在深色背景下会显得格外突兀,导致用户体验不佳。


技术实现要素:

4.本技术实施例提供一种图像处理方法和装置,能够识别白底图标并对其进行处理,提升了用户体验。
5.为达到上述目的,本技术实施例采用如下技术方案:
6.本技术实施例的第一方面,提供一种图像处理方法,该方法包括:获取待渲染图片的颜色信息;该待渲染图片的颜色信息包括待渲染图片的颜色种类、待渲染图片的四个角的颜色值、待渲染图片中非透明像素的占比和待渲染图片中白色像素的占比;基于待渲染图片的颜色信息,若确定待渲染图片为白底图标,对待渲染图片作反色处理。基于本方案,通过根据待渲染图片的颜色种类、待渲染图片的四个角的颜色值、待渲染图片中非透明像素的占比和待渲染图片中白色像素的占比,确定待渲染图片是否为白底图标,该确定白底图标的方法准确度较高,时延较小,能够兼顾识别准确性和时延。而且通过对识别出的白底图标进行反色处理,使得应用界面显示的效果更自然,用户的视觉效果更好,提升了用户体验。
7.结合第一方面,在一种可能的实现方式中,上述确定待渲染图片为白底图标,包括:在待渲染图片的颜色种类小于第一预设阈值、且待渲染图片的四个角的颜色值满足第一预设条件,且待渲染图片中非透明像素的占比大于或等于第二预设阈值,且待渲染图片的白色像素的占比大于或等于第三预设阈值的情况下,确定上述待渲染图片为白底图标。基于本方案,通过在待渲染图片的颜色种类、待渲染图片的四个角的颜色值、待渲染图片中非透明像素的占比和待渲染图片中白色像素的占比分别满足预设条件的情况下,确定待渲染图片为白底图标,该识别白底图标的方法考虑了多重因素,因此识别的准确度较高。
8.结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述待渲染图片的颜色信息为上述待渲染图片的颜色种类,上述获取待渲染图片的颜色信息,包括:获取颜色桶中每个颜色的饱和度s、明度v和色调h;该颜色桶中包括待渲染图片中多个颜色的
颜色值,以及所述多个颜色中每个颜色的数量;基于颜色桶中每个颜色的颜色值、每个颜色的数量、每个颜色的饱和度、明度v和色调h进行聚类分析,确定上述待渲染图片的颜色种类。基于本方案,可以通过对颜色桶中的多个颜色在hsv空间进行聚类分析得到待渲染图片的颜色种类,能够准确的识别待渲染图片的颜色种类,识别的效率较高,时延较低。
9.结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述基于上述颜色桶中每个颜色的颜色值、每个颜色的数量、每个颜色的饱和度、明度v和色调h进行聚类分析,确定上述待渲染图片的颜色种类,包括以下步骤:步骤a、若颜色桶中第一颜色的饱和度s1小于v1/100*λ,将该第一颜色存入第一容器;v1为第一颜色的明度,λ大于0且小于颜色桶中所有颜色的最大饱和度;步骤b、若第一颜色的饱和度s1大于或等于v1/100*λ,遍历第二容器中的每个颜色,若确定第二容器中存在第二颜色,将第二颜色的数量更新为第一颜色的数量与第二颜色的数量之和,将第二颜色的颜色值更新为第一颜色的颜色值和第二颜色的颜色值的均值;其中,第二颜色的色调h2与第一颜色的色调h1的差值小于第四预设阈值,且,第二颜色的明度v2和第一颜色的明度v1的差值,与第二颜色的饱和度s2和第一颜色的饱和度s1的差值之和小于第五预设阈值;步骤c、若第二容器中不存在第二颜色,将第一颜色的颜色值以及第一颜色的数量存入第二容器;步骤d、按照步骤a至步骤c依次遍历颜色桶中的每个颜色;步骤e、将第一容器中的颜色按照亮度划分为低亮度、中亮度和高亮度三个颜色种类;步骤f、将第一容器和第二容器中除白色以外的颜色中,颜色种类的数量大于或等于第六预设阈值的颜色种类确定为上述待渲染图片的颜色种类。基于本方案,通过在hsv空间将颜色接近的颜色进行聚类,可以得到待渲染图片的颜色种类,本方案在hsv空间确定颜色是否接近相较于在rgb空间确定颜色是否接近,能够大大减小运算量,因此能够降低深色模式在界面渲染阶段对资源图片处理时的时延。而且本方案只需将颜色桶中的颜色遍历一遍即可聚类得到待渲染图片的颜色种类,该聚类方法的效率较高,因此在能够降低深色模式在界面渲染阶段对资源图片处理时的时延。可以理解的,本方案将颜色桶中的低饱和颜色通过亮度阈值划分颜色种类,对于高饱和度颜色通过聚类分析得到聚类后的颜色种类,仅需将颜色桶中的颜色遍历一遍即可得到待渲染图片的颜色种类。
10.结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述待渲染图片的颜色信息为待渲染图片的四个角的颜色值,上述获取待渲染图片的颜色信息,包括:在n*d小于min(w,h)*k的情况下,获取待渲染图片的四个角中以n*d为边长的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值;其中,w为待渲染图片的宽度,h为待渲染图片的高度,d为电子设备的像素密度,n为大于1的整数,k大于0且小于1;在n*d大于或等于min(w,h)*k的情况下,获取待渲染图片的四个角中以min(w,h)*k为边长的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值。基于本方案,通过获取待渲染图片的每个角对应的一个等腰直角三角形的顶点和重心的像素值,即可得到待渲染图片的四个角的颜色值,该确定方法可以覆盖大部分情况。
11.结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,待渲染图片的四个角的颜色值满足第一预设条件包括:四个等腰直角三角形的顶点以及每个等腰直角三角形的重心在阿尔法通道的颜色值与255的差值小于第七预设阈值,且四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值在rgb空间与纯白色的颜色值的欧式距离小于第八预设阈值。基于本方案,符合白底图标的一个特征是待渲染图片的四个角的
颜色值接近白色,且非透明度较高,因此结合该特征确定的白底图标的准确率较高。
12.结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,待渲染图片的颜色信息为待渲染图片中非透明像素的占比,上述获取待渲染图片的颜色信息,包括:基于待渲染图片中多个颜色的颜色值,将多个颜色中第三颜色的数量与多个颜色的数量的商确定为待渲染图片中非透明像素的占比;该第三颜色为在阿尔法通道的颜色值大于第九预设阈值的颜色。基于本方案,符合白底图标的一个特征是待渲染图片中非透明像素的占比较高,即待渲染图片为非透明图片时,待渲染图片可能为白底图标。可以理解的,颜色值还可以用rgba表示,其中,a代表在阿尔法通道的颜色值,该值用于描述三原色的透明度,阿尔法值越小越接近透明,阿尔法值越大越不透明。可选的,白底图标可以为没有透明像素或者透明像素极少的图片,因此如果待渲染图片中非透明像素的占比非常高,可以确定待渲染图片可能为白底图标。
13.结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述待渲染图片的颜色信息为待渲染图片中白色像素的占比,上述获取待渲染图片的颜色信息,包括:基于待渲染图片中多个颜色的颜色值,将多个颜色中第四颜色的数量与多个颜色的数量的商确定为待渲染图片中白色像素的占比;第四颜色为在阿尔法通道的颜色值与255的差值小于第七预设阈值,且在rgb空间与纯白色的颜色值的欧式距离小于第八预设阈值的颜色。基于本方案,符合白底图标的一个特征是待渲染图片中白色像素的占比较高,即白色像素占比高时,待渲染图片可能为白底图标。可选的,纯白色的颜色值可以为(255,255,255)。
14.本技术实施例的第二方面,提供一种图像处理装置,该装置包括:处理单元和存储单元;其中,该处理单元用于获取待渲染图片的颜色信息;该待渲染图片的颜色信息包括待渲染图片的颜色种类、待渲染图片的四个角的颜色值、待渲染图片中非透明像素的占比和待渲染图片中白色像素的占比;上述处理单元,还用于基于上述待渲染图片的颜色信息,若确定上述待渲染图片为白底图标,对上述待渲染图片作反色处理。
15.结合第二方面,在一种可能的实现方式中,上述处理单元,具体用于在上述待渲染图片的颜色种类小于第一预设阈值、且上述待渲染图片的四个角的颜色值满足第一预设条件,且上述待渲染图片中非透明像素的占比大于或等于第二预设阈值,且上述待渲染图片的白色像素的占比大于或等于第三预设阈值的情况下,确定上述待渲染图片为白底图标。
16.结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,具体用于:获取颜色桶中每个颜色的饱和度s、明度v和色调h;该颜色桶中包括待渲染图片中多个颜色的颜色值,以及该多个颜色中每个颜色的数量;基于该颜色桶中每个颜色的颜色值、每个颜色的数量、每个颜色的饱和度、明度v和色调h进行聚类分析,确定上述待渲染图片的颜色种类。
17.结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,具体用于执行以下步骤:步骤a、若上述颜色桶中第一颜色的饱和度s1小于v1/100*λ,将该第一颜色存入第一容器;v1为第一颜色的明度,λ大于0且小于颜色桶中所有颜色的最大饱和度;步骤b、若第一颜色的饱和度s1大于或等于v1/100*λ,遍历第二容器中的每个颜色,若确定第二容器中存在第二颜色,将第二颜色的数量更新为第一颜色的数量与第二颜色的数量之和,将第二颜色的颜色值更新为第一颜色的颜色值和第二颜色的颜色值的均值;其中,第二颜色的色调h2与第一颜色的色调h1的差值小于第四预设阈值,且,第二颜色的明度
v2和第一颜色的明度v1的差值,与第二颜色的饱和度s2和第一颜色的饱和度s1的差值之和小于第五预设阈值;步骤c、若第二容器中不存在第二颜色,将第一颜色的颜色值以及第一颜色的数量存入第二容器;步骤d、按照步骤a至步骤c依次遍历颜色桶中的每个颜色;步骤e、将第一容器中的颜色按照亮度划分为低亮度、中亮度和高亮度三个颜色种类;步骤f、将第一容器和第二容器中除白色以外的颜色中,颜色种类的数量大于或等于第六预设阈值的颜色种类确定为上述待渲染图片的颜色种类。
18.结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,具体用于:在n*d小于min(w,h)*k的情况下,获取上述待渲染图片的四个角中以n*d为边长的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值;其中,w为待渲染图片的宽度,h为待渲染图片的高度,d为电子设备的像素密度,n为大于1的整数,k大于0且小于1;在n*d大于或等于min(w,h)*k的情况下,获取待渲染图片的四个角中以min(w,h)*k为边长的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值。
19.结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述待渲染图片的四个角的颜色值满足第一预设条件包括:四个等腰直角三角形的顶点以及每个等腰直角三角形的重心在阿尔法通道的颜色值与255的差值小于第七预设阈值,且四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值在rgb空间与纯白色的颜色值的欧式距离小于第八预设阈值。
20.结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,具体用于基于待渲染图片中多个颜色的颜色值,将多个颜色中第三颜色的数量与多个颜色的数量的商确定为待渲染图片中非透明像素的占比;该第三颜色为在阿尔法通道的颜色值大于第九预设阈值的颜色。
21.结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,具体用于基于待渲染图片中多个颜色的颜色值,将多个颜色中第四颜色的数量与多个颜色的数量的商确定为待渲染图片中白色像素的占比;该第四颜色为在阿尔法通道的颜色值与255的差值小于第七预设阈值,且在rgb空间与纯白色的颜色值的欧式距离小于第八预设阈值的颜色。
22.本技术实施例的第三方面,提供一种图像处理方法,该方法包括处理单元和存储单元,该处理单元用于执行以下步骤:步骤a、获取颜色桶中第一颜色的饱和度s1、明度v1和色调h1;该颜色桶中包括待渲染图片中多个颜色的颜色值,以及该多个颜色中每个颜色的数量;步骤b、基于该第一颜色的饱和度s1、明度v1和色调h1,遍历第二容器中的每个颜色,若确定第二容器中存在第二颜色,将第二颜色的数量更新为第一颜色的数量与第二颜色的数量之和,将第二颜色的颜色值更新为第一颜色的颜色值和第二颜色的颜色值的均值;其中,第二颜色的色调h2与第一颜色的色调h1的差值小于第四预设阈值,且,第二颜色的明度v2和第一颜色的明度v1的差值,与第二颜色的饱和度s2和第一颜色的饱和度s1的差值之和小于第五预设阈值;步骤c、按照步骤a至步骤b依次遍历颜色桶中的每个颜色。基于本方案,通过在hsv空间将颜色接近的颜色进行聚类,可以得到待渲染图片的颜色种类,本方案在hsv空间确定颜色是否接近相较于在rgb空间确定颜色是否接近,能够大大减小运算量,因此能够降低深色模式在界面渲染阶段对资源图片处理时的时延。而且本方案只需将颜色桶中的颜色遍历一遍即可聚类得到待渲染图片的颜色种类,聚类的效率较高。
23.结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一颜色的饱和度s1大于或等于v1/100*λ;所述v1为第一颜色的明度,所述λ大于0且小于颜色桶中所有颜色的最大饱和度。基于本方案,可以将颜色桶中的高饱和度颜色通过聚类分析得到聚类后的颜色种类,聚类的效率较高,能够降低深色模式在界面渲染阶段对资源图片处理时的时延。
24.本技术实施例的第四方面,提供一种图像处理装置,该装置包括处理单元,该处理单元用于执行以下步骤:步骤a、获取颜色桶中第一颜色的饱和度s1、明度v1和色调h1;该颜色桶中包括待渲染图片中多个颜色的颜色值,以及该多个颜色中每个颜色的数量;步骤b、基于该第一颜色的饱和度s1、明度v1和色调h1,遍历第二容器中的每个颜色,若确定第二容器中存在第二颜色,将第二颜色的数量更新为第一颜色的数量与第二颜色的数量之和,将第二颜色的颜色值更新为第一颜色的颜色值和第二颜色的颜色值的均值;其中,第二颜色的色调h2与第一颜色的色调h1的差值小于第四预设阈值,且,第二颜色的明度v2和第一颜色的明度v1的差值,与第二颜色的饱和度s2和第一颜色的饱和度s1的差值之和小于第五预设阈值;步骤c、按照步骤a至步骤b依次遍历颜色桶中的每个颜色。
25.结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一颜色的饱和度s1大于或等于v1/100*λ;所述v1为第一颜色的明度,所述λ大于0且小于颜色桶中所有颜色的最大饱和度。
26.上述第二方面的效果描述可以参考第一方面相应效果的描述,第四方面的效果描述可以参考第三方面相应效果的描述,在此不再赘述。
27.本技术实施例的第五方面,提供一种电子设备,该电子设备可以实现第一方面所述的图像处理方法,其可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。在一种可能的设计中,该电子设备可以包括处理器和存储器。该处理器被配置为支持该电子设备执行上述第一方面或第三方面方法中相应的功能。存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。
28.本技术实施例的第六方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如上述第一方面或第三方面及其可能的实现方式所述的图像处理方法。
29.本技术实施例的第七方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第一方面或第三方面及其可能的实现方式所述的图像处理方法。
附图说明
30.图1为本技术实施例提供的一种电子设备应用界面的示意图;
31.图2为本技术实施例提供的一种深色模式下电子设备的应用界面的示意图;
32.图3为本技术实施例提供的一种电子设备的结构示意图;
33.图4为本技术实施例提供的一种图像处理方法的流程示意图;
34.图5为本技术实施例提供的另一种图像处理方法的流程示意图;
35.图6为本技术实施例提供的另一种图像处理方法的流程示意图;
36.图7为本技术实施例提供的另一种图像处理方法的流程示意图;
37.图8为本技术实施例提供的一种获取待渲染图片的四个角的颜色值的应用示意图;
38.图9为本技术实施例提供的另一种深色模式下电子设备的应用界面的示意图;
39.图10为本技术实施例提供的一种电子设备的组成示意图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或,a和b和c,其中a、b和c可以是单个,也可以是多个。另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。比如,本技术实施例中的第一预设阈值中的“第一”和第二预设阈值中的“第二”仅用于区分不同的预设阈值。本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
41.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
42.深色模式是指将电子设备的图形用户界面gui转换为深色调的模式,在深色模式下应用界面通常呈现深色背景和亮色前景。用户在使用电子设备的过程中,可以通过将电子设备设置为深色模式,达到节省电子设备的电量,以及护眼的目的。可选的,电子设备中的三方应用可能适配深色模式,也可能不适配深色模式。
43.示例性的,电子设备中的三方应用可以通过三方开发者按照一定设计规范进行适配,电子设备的操作系统通过切换主题资源的方式实现gui界面改变。例如,三方应用开发者开发了两套主题资源,分别为深色模式的主题资源和非深色模式的主题资源,当用户在电子设备上打开深色模式后,电子设备的操作系统可以将非深色模式的主题资源切换为深色模式的主题资源,从而该三方应用的gui界面显示深色背景和亮色前景。可选的,电子设备的操作系统可以包括android、ios和windows等支持深色模式的操作系统。
44.示例性的,三方应用不适配深色模式时,可以通过全局深色模式使得三方应用也能呈现深色效果。全局深色模式可以通过算法对应用的界面元素进行识别,并在渲染时对资源和颜色进行相应处理,使得三方应用呈现深色效果。
45.但是,对于一些不规范的白底图标,采用现有的深色模式处理方法很难正确识别,也不会做特殊处理,因此这些图标在深色背景下会显得格外突兀。而且全局深色模式在界面渲染阶段需要对所有资源图片逐一处理,为了保证界面的流畅,对算法时延和性能要求
较高,用一般的图像处理算法对图标进行识别无法满足需求。
46.例如,在用户未设置深色模式的情况下,电子设备中某一应用的显示界面如图1中的(a)所示,当用户设置深色模式后,该应用的显示界面如图2中的(a)所示,图2中的(a)所示的界面中“零钱”图标、“余额理财”图标、“我的卡包”图标和“我的收藏”图标在深色模式下显得很突兀,用户体验不佳。
47.再例如,在用户未设置深色模式的情况下,电子设备中某一应用的显示界面如图1中的(b)所示,当用户设置深色模式后,该应用的显示界面如图2中的(b)所示,图2中的(b)所示的界面中“首页”图标、“分类”图标、“优惠”图标、“量贩”图标和“活动”图标在深色模式下显得很突兀,用户体验不佳。需要说明的是,因说明书附图要求以黑白颜色示意,因此图2中的(b)所示的界面中的其他图标,例如“时令生鲜”图标等虽在附图中以白底图标示意,但在电子设备的实际应用界面中该图标的颜色可能为彩色。
48.为了解决现有技术中白底图标在深色模式下显示突兀,影响用户体验的问题,本技术实施例提出了一种图像处理方法,该方法通过识别白底图标并对其进行处理,提升了用户体验。
49.本技术实施例中的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备等包括显示屏的设备,本技术实施例对该电子设备的具体形态不作特殊限制。
50.请参考图3,为本技术实施例提供的一种电子设备100的结构示意图。如图3所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中,传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
51.可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
52.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
53.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操
作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
54.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
55.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
56.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。
57.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
58.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
59.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
60.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
61.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
62.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
63.可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
64.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
65.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
66.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
67.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
68.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
69.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
70.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
71.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(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)。
72.电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
73.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
74.本技术实施例中,显示屏194可用于显示电子设备的界面。如图1和图2所示,显示屏194可以用于显示电子设备的应用程序的界面。
75.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
76.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
77.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp
加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
78.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
79.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
80.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
81.本技术实施例中,npu可以通过图片识别算法识别第一应用的第一界面,确定第一应用的第一界面中的倒计时图标的倒计时时长。
82.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
83.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
84.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
85.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
86.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,
ctia)标准接口。
87.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
88.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
89.气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
90.磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
91.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
92.距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。
93.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
94.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
95.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
96.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
97.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
98.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
99.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
100.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
101.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
102.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。
103.以下实施例中的方法均可以在具有上述硬件结构的电子设备100中实现。
104.以下将以上述电子设备为手机为例,对本技术实施例提供的技术方案进行具体阐述。结合图3,如图4所示,该图像处理方法可以包括以下步骤:
105.s401、获取待渲染图片的颜色信息。
106.可选的,电子设备的应用界面可以包括多个待渲染图片,该多个待渲染图片通过
渲染处理后,可以以深色模式显示在应用界面。应用界面中未经渲染处理的资源图片可以称为待渲染图片。例如,图2中的(a)所示的应用界面可以包括多个待渲染图片,例如,“零钱”图标、“积存金”图标、“余额理财”图标、“我的卡包”图标、“我的收藏”图标等图片。需要说明的是,步骤s401中的待渲染图片为图2中的(a)所示的应用界面中未经渲染处理的图片,该未经渲染处理的图片与图2中的(a)所示的应用界面中显示的图片的亮度不一定一样。
107.示例性的,上述待渲染图片的颜色信息可以包括待渲染图片的颜色种类、待渲染图片的四个角的颜色值、待渲染图片中非透明像素的占比和待渲染图片中白色像素的占比。
108.示例性的,待渲染图片的颜色信息为待渲染图片的颜色种类时,如图5所示,上述步骤s401中获取待渲染图片的颜色信息可以包括步骤s4011-s4013。
109.s4011、将待渲染图片中多个颜色的颜色值,以及多个颜色中每个颜色的数量存入颜色桶中。
110.待渲染图片中的多个颜色可以为待渲染图片中多个采样点的颜色。例如,以待渲染图片的宽度为w,高度为h为例,可以对该待渲染图片均匀间隔采样n*n个采样点,将该n*n个采样点中每个颜色的颜色值以及该颜色对应的数量存入颜色桶中。可选的,颜色值可以以红绿蓝(red green blue,rgb)颜色空间中的颜色值表示,例如,用红(red)、绿(green)、蓝(blue)三个颜色表示。
111.例如,n*n个采样点共有m个颜色,可以将该m个颜色中每个颜色的颜色值以及每个颜色的数量存入颜色桶中。可以理解的,该m个颜色的数量之和即为n*n。
112.s4012、获取颜色桶中每个颜色的饱和度s、明度v和色调h。
113.示例性的,可以通过将每个颜色从rgb颜色空间转换到色调饱和度明度(hue saturation value,hsv)颜色空间,得到颜色桶中每个颜色的饱和度s、明度v和色调h。本技术实施例对于如何从rgb颜色空间转换到hsv颜色空间并不进行限定,具体可以参考现有技术中的转换方法。
114.s4013、基于颜色桶中每个颜色的颜色值、每个颜色的数量、每个颜色的饱和度、明度v和色调h进行聚类分析,确定待渲染图片的颜色种类。
115.示例性的,图6中的(a)为一种颜色聚类方法的流程示意图,如图6中的(a)所示,基于颜色桶中每个颜色的颜色值、每个颜色的数量、每个颜色的饱和度、明度v和色调h进行聚类分析,确定待渲染图片的颜色种类,可以包括以下步骤:
116.步骤a、若颜色桶中第一颜色的饱和度s1小于v1/100*λ,将第一颜色存入第一容器。
117.其中,v1为第一颜色的明度,λ大于0且小于颜色桶中所有颜色的最大饱和度。
118.示例性的,以颜色桶中包括m个颜色为例,第一颜色可以为m个颜色中的任一颜色。上述颜色桶中所有颜色的最大饱和度为m个颜色中饱和度最大的颜色的饱和度值。需要说明的是,本技术实施例中的多个颜色可以表示颜色的种类是多个,不同种类的颜色的颜色值可以不同。例如,颜色桶中包括m个颜色表示颜色桶中包括的颜色种类有m个,该m个颜色中不同颜色的颜色值可以不同。
119.如图6中的(b)所示,在hsv颜色空间,通过将颜色桶中各个颜色的饱和度与v1/
100*λ进行比较,可以将颜色桶中饱和度较低的颜色与其他颜色分开,并将饱和度较低的颜色存入第一容器。
120.可选的,颜色桶中不同颜色的饱和度在与v1/100*λ比较大小时,λ的取值可以相同。
121.步骤b、若第一颜色的饱和度s1大于或等于v1/100*λ,遍历第二容器中的每个颜色,若确定第二容器中存在第二颜色,将第二颜色的数量更新为第一颜色的数量与第二颜色的数量之和,将第二颜色的颜色值更新为第一颜色的颜色值和第二颜色的颜色值的均值。
122.其中,第二颜色的色调h2与第一颜色的色调h1的差值小于第四预设阈值,且,第二颜色的明度v2和第一颜色的明度v1的差值,与第二颜色的饱和度s2和第一颜色的饱和度s1的差值之和小于第五预设阈值。例如,以第四预设阈值为k1,第五预设阈值为k2为例,第二颜色的色调h2与第一颜色的色调h1的差值为

h,第二颜色的明度v2和第一颜色的明度v1的差值为

v,第二颜色的饱和度s2和第一颜色的饱和度s1的差值

s,当

h小于k1(

h《k1),且,

v与

s之和小于k2(

v

s《k2)时,确定该第二容器存在第二颜色,即该第二颜色与第一颜色接近,可以将第二颜色和第一颜色进行聚类。可选的,上述差值可以为正值,也可以为负值,当差值为负值时,可以将差值取绝对值再与k1或k2比较。
123.可选的,第二容器中可以存在一个或多个第二颜色。也就是说,第二容器中可以有一个或多个颜色与第一颜色的颜色接近。当第二容器中有多个颜色与第一颜色的颜色接近时,可以将该多个第二颜色与第一颜色聚类。
124.示例性的,上述第二容器初始状态下为空,即第二容器中未存储颜色。若步骤a中的第一颜色为颜色桶中遍历的第一个颜色,且该第一颜色的饱和度s1大于或等于v1/100*λ时,由于第二容器中并未存储颜色,因此上述步骤b中在遍历第二容器中的每个颜色时,不存在第二颜色。可以通过下述步骤c将该第一颜色存储第二容器,从而在遍历颜色桶中的第二个颜色时,在执行上述步骤b时,可以确定第二容器中是否存在第二颜色。
125.示例性的,以第一颜色的颜色值为y,颜色桶中第一颜色的数量为ny,第二颜色的颜色值为c,第二容器中第二颜色的数量为nc为例,在上述步骤b中第二容器中存在第二颜色时,将第一颜色的数量ny累加到第二容器中第二颜色c的颜色数量nc上,即第二容器中第二颜色c的数量更新为nc加ny,将第二颜色的颜色值更新为(y*ny c*nc)/(ny nc)。也就说说,在第二容器中存在第二颜色时,可以将第二颜色和第一颜色进行聚类。
126.如图6中的(b)所示,上述步骤b是在hsv空间将颜色桶中饱和度较高且颜色比较接近的颜色在第二容器中进行聚类,可以得到待渲染图片的颜色种类,该聚类方法在hsv空间确定颜色是否接近相较于在rgb空间确定颜色是否接近,能够大大减小运算量,因此能够降低深色模式在界面渲染阶段对资源图片处理时的时延。而且该聚类方法只需要将颜色桶中的颜色遍历一次即可得到待渲染图片的颜色种类,因此聚类的效率较高,降低了图片处理过程中的时延。
127.步骤c、若第二容器中不存在第二颜色,将第一颜色的颜色值以及第一颜色的数量存入第二容器。
128.步骤d、按照步骤a至步骤c依次遍历颜色桶中的每个颜色。
129.可选的,颜色桶中的m个颜色按照步骤a至步骤c依次遍历时,可以依据颜色桶中各
个颜色的数量从多到少依次遍历,也可以按照各个颜色的数量从少到多依次遍历,还可以按照各个颜色从深到浅依次遍历,本技术实施例对于颜色桶中的多个颜色按照步骤a至步骤c依次遍历时的具体遍历顺序并不限定,在此仅是示例性说明。
130.若确定已经遍历完颜色桶中的所有颜色,继续执行步骤e至步骤f。
131.步骤e、将第一容器中的颜色按照亮度划分为低亮度、中亮度和高亮度三个颜色种类。
132.示例性的,对于颜色桶中的低饱和颜色可以通过亮度阈值进行简单分类。例如,设定亮度阈值l1和l2,将亮度小于l1的颜色确定为低亮度,将亮度在l1和l2之间的颜色归为中亮度,将亮度大于l2的颜色确定为高亮度。
133.可以理解的,本技术实施例对于颜色桶中的低饱和颜色通过亮度阈值划分颜色种类,对于高饱和度颜色通过聚类得到聚类后的颜色种类。
134.步骤f、将第一容器和第二容器中除白色以外的颜色中,颜色种类的数量大于或等于第六预设阈值的颜色种类确定为待渲染图片的颜色种类。
135.可以理解的,由于白底图标的颜色种类很少,因此可以将待渲染图片的颜色种类作为确定待渲染图片是否为白底图标的依据。
136.示例性的,为了减小干扰因素的影响,可以将第一容器和第二容器中除白色以后的颜色中,数量较多的颜色种类确定为待渲染图片的颜色种类。也就是说,在计算颜色种类时剔除了白色和杂色,将剩余颜色种类确定为待渲染图片的颜色种类。
137.可以理解的,图6所示的颜色聚类方法,通过将颜色桶中的颜色遍历一遍即可聚类得到待渲染图片的颜色种类,该聚类方法的效率较高,因此能够降低深色模式在界面渲染阶段对资源图片处理时的时延。
138.示例性的,待渲染图片的颜色信息为待渲染图片的四个角的颜色值时,如图7所示,上述步骤s401中获取待渲染图片的颜色信息可以包括步骤s4014-s4015。
139.s4014、在n*d小于min(w,h)*k的情况下,获取待渲染图片的四个角中以n*d为边长的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值。
140.其中,w为待渲染图片的宽度,h为待渲染图片的高度,d为电子设备的像素密度,n为大于1的整数,k大于0且小于1。min(w,h)表示取w和h中的较小值。电子设备的像素密度为显示应用界面的电子设备的像素密度,即该电子设备每英寸屏幕所拥有的像素数。
141.示例性的,如图8所示,以待渲染图片的一个角为例,比较n*d与min(w,h)*k的大小,若n*d小于min(w,h)*k,以n*d为等腰直角三角形的边长l,获取该等腰直接三角形的三个顶点和一个重心的颜色值。可选的,该等腰直角三角形的两个边可以与待渲染图片的两个边重合。图8仅以待渲染图片为矩形为例进行示意,可选的,待渲染图片也可以为其他形状,例如圆形。若待渲染图片为其他形状时,可以获取等腰直角三角形的顶点中位于该待渲染图片上的顶点的颜色值。
142.可选的,获取待渲染图片的四个角的颜色值可以包括获取待渲染图片的每个角对应的等腰直角三角形的顶点及重心的颜色值。
143.s4015、在n*d大于或等于min(w,h)*k的情况下,获取待渲染图片的四个角中以min(w,h)*k为边长的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值。
144.示例性的,如图8所示,以待渲染图片的一个角为例,比较n*d与min(w,h)*k的大
小,若n*d大于或等于min(w,h)*k,以min(w,h)*k为等腰直角三角形的边长l,获取该等腰直接三角形的三个顶点和一个重心的颜色值。可选的,该等腰直角三角形的两个边可以与待渲染图片的两个边重合。
145.可以理解的,由于白底图标的四个角为白色,因此可以将待渲染图片的四个角的颜色值作为确定待渲染图片是否为白底图标的依据。
146.示例性的,待渲染图片的颜色信息为待渲染图片中非透明像素的占比时,上述步骤s401中获取待渲染图片的颜色信息可以包括:基于待渲染图片中多个颜色的颜色值,将第三颜色的数量在多个颜色的数量中的占比确定为待渲染图片中非透明像素的占比。该第三颜色为在阿尔法通道的颜色值大于第九预设阈值的颜色。
147.可选的,上述待渲染图片中的多个颜色可以为待渲染图片中多个采样点的颜色。具体可以参考步骤s4011中的相关描述。
148.示例性的,非透明像素的占比即为在待渲染图片的多个采样点中,在阿尔法通道的颜色值大于第九预设阈值的颜色的数量与待渲染图片的多个采样点中多个颜色的数量之和的商。例如,以待渲染图片的多个采样点中,在阿尔法通道的颜色值大于第九预设阈值的颜色的数量为n1,待渲染图片的多个采样点中各个颜色的数量之和为n2为例,那么待渲染图片中非透明像素的占比为n1/n2。
149.可以理解的,白底图标可以为没有透明像素或透明像素极少的图片,因此可以将待渲染图片中非透明像素的占比作为确定待渲染图片是否为白底图标的依据。
150.示例性的,待渲染图片的颜色信息为待渲染图片中白色像素的占比时,上述步骤s401中获取待渲染图片的颜色信息可以包括:基于待渲染图片中多个颜色的颜色值,将多个颜色中第四颜色的数量与多个颜色的数量的商确定为待渲染图片中白色像素的占比。第四颜色为在阿尔法通道的颜色值与255的差值小于第七预设阈值,且在rgb空间与纯白色的颜色值的欧式距离小于第八预设阈值的颜色。
151.可选的,纯白色的颜色值可以为(255,255,255),四个角的颜色值与纯白色的颜色值的欧式距离较小时,该四个角的颜色接近白色。可选的,颜色值还可以用rgba表示,其中,a代表在阿尔法通道的颜色值,该值用于描述三原色的透明度,阿尔法值越小越透明,阿尔法值越大越不透明。
152.可以理解的,该第四颜色可以为白色或接近白色,而且第四颜色的非透明度较高。白色像素的占比即为该第四颜色的数量与多个采样点中颜色数量的总和的商。
153.可以理解的,白底图标中白色像素的占比很高,因此可以将待渲染图片中白色像素的占比作为确定待渲染图片是否为白底图标的依据。
154.可选的,本技术实施例中的预设阈值可以为经验值。
155.s402、基于待渲染图片的颜色信息,若确定待渲染图片为白底图标,对待渲染图片作反色处理。
156.示例性的,基于待渲染图片的颜色信息,确定待渲染图片为白底图标,包括:在待渲染图片的颜色种类小于第一预设阈值、且待渲染图片的四个角的颜色值满足第一预设条件,且待渲染图片中非透明像素的占比大于或等于第二预设阈值,且待渲染图片的白色像素的占比大于或等于第三预设阈值的情况下,确定待渲染图片为白底图标。
157.可选的,待渲染图片的四个角的颜色值满足第一预设条件包括:待渲染图片的四
个角的四个等腰直角三角形的顶点以及每个等腰直角三角形的重心在阿尔法通道的颜色值与255的差值小于第七预设阈值,且四个等腰直角三角形的顶点以及每个等腰直角三角形的重心的颜色值在rgb空间与纯白色的颜色值的欧式距离小于第八预设阈值。可选的,纯白色的颜色值可以为(255,255,255),四个角的颜色值与纯白色的颜色值的欧式距离较小时,该四个角的颜色接近白色。可选的,颜色值还可以用rgba表示,其中,a代表在阿尔法通道的颜色值,该值用于描述三原色的透明度,阿尔法值越小越接近透明,阿尔法值越大越不透明。
158.可以理解的,在待渲染图片的颜色信息满足四个特征时,可以确定待渲染图片为白底图标。其中,第一个特征是颜色种类少,第二个特征是待渲染图片的四个角的颜色值接近白色像素,第三个特征是待渲染图片中非透明像素的占比高,第四个特征是待渲染图片中白色像素的占比高。在待渲染图片同时满足这四个特征时,即可确定待渲染图片为白底图标,从而可以对待渲染图片进行反色处理,使得应用界面的白底图标不再突兀,提升用户体验。
159.示例性的,白底图标的颜色种类较少,因此如果待渲染图片的颜色种类较少,确定符合第一个特征,该待渲染图片可能为白底图标。白底图标的四个角为白色像素或接近白色像素,因此如果待渲染图片的四个角的颜色接近白色,确定符合第二个特征,该待渲染图片可能为白底图标。白底图标可以为没有透明像素或者透明像素极少的图片,因此如果待渲染图片中非透明像素的占比非常高,确定符合第三个特征,该待渲染图片可能为白底图标。白底图标中白色像素的占比很高,因此当待渲染图片中白色像素的占比较高时,确定符合第四个特征,该待渲染图片可能为白底图标。如果待渲染图片四个特征都满足,确定待渲染图片为白底图标。
160.可选的,上述对白底图标进行反色处理可以是在渲染时对白底图标进行反亮度操作,从而使得反亮度以后的图标不再是以白底呈现,而是以深色背景和亮色前景呈现,因此反色处理后的白底图标与深色模式更匹配,使得应用界面显示的效果更自然,用户的视觉效果更好,提升了用户体验。
161.例如,结合图2中的(a)和图9中的(a),以待渲染图片为图2中的(a)所示的“零钱”图标为例,若基于该待渲染图片的颜色信息,确定该待渲染图片的颜色种类少,而且四个角的颜色值接近白色像素,而且非透明像素占比高,而且白色像素占比高,可以确定该待渲染图片为白底图标,从而可以对“零钱”图标进行反色处理,如图9中的(a)所示,为反色处理后的“零钱”图标,该“零钱”图标经过反色处理后使得应用界面的白底图标不再突兀,提升了用户体验。
162.例如,结合图2中的(a)和图9中的(a),以待渲染图片为图2中的(a)所示的“余额理财”图标为例,若基于该待渲染图片的颜色信息,确定该待渲染图片为白底图标,从而可以对“余额理财”图标进行反色处理,如图9中的(a)所示,为反色处理后的“余额理财”图标,该“余额理财”图标经过反色处理后使得应用界面的白底图标不再突兀,提升了用户体验。可选的,图2中的(a)所示的“我的卡包”图标和“我的收藏”图标也可以采用上述步骤s401-s402的方法,确定这两个待渲染图片为白底图标,并在渲染时对这两个白底图标进行反色处理,从而使得应用界面显示的效果更自然,用户的视觉效果更好,提升了用户体验。
163.再例如,结合图2中的(b)和图9中的(b),以待渲染图片为图2中的(b)所示的“首
页”图标为例,若基于该待渲染图片的颜色信息,确定该待渲染图片为白底图标,从而可以对“首页”图标进行反色处理,如图9中的(b)所示,为反色处理后的“首页”图标,该“首页”图标经过反色处理后使得应用界面的白底图标不再突兀,提升了用户体验。可选的,图2中的(b)所示的“分类”图标、“优惠”图标、“量贩图标”和“活动”图标也可以采用上述步骤s401-s402的方法,确定待渲染图片为白底图标,并在渲染时对白底图标进行反色处理,从而使得应用界面显示的效果更自然,用户的视觉效果更好,提升了用户体验。
164.可以理解的,因说明书附图要求以黑白颜色示意,因此图2中的(b)所示的界面中的其他图标,例如“时令生鲜”图标等虽在附图中以白底图标示意,但在电子设备的实际应用界面中该图标的颜色为彩色,采用本技术实施例的方法确定该待渲染图片不满足白底图标的四个特征,因此未对其进行反色处理。
165.需要说明的是,本技术实施例提供的图像处理方法,通过根据待渲染图片的颜色种类、待渲染图片的四个角的颜色值、待渲染图片中非透明像素的占比和待渲染图片中白色像素的占比,确定待渲染图片是否为白底图标,能够快速准确的识别应用界面中的多个待渲染图片,能够兼顾识别准确性和时延。而且通过将白底图标反色处理,使得应用界面显示的效果更自然,用户的视觉效果更好,提升了用户体验。
166.上述主要从方法步骤的角度对本发明实施例提供的方案进行了介绍。可以理解的是,计算机为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件和计算机软件的结合形式来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
167.本技术实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
168.在采用集成的单元的情况下,图10示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备1000包括:处理单元1001和存储单元1002。
169.其中,处理单元1001,用于对电子设备1000的动作进行控制管理。例如,可以用于执行图4中,s401-s402的处理步骤;或者,可以用于执行图5中,s4011-s4013的处理步骤;或者,可以用于执行图6中的(a)所示的处理步骤;或者,可以用于执行图7中,s4014-s4015的处理步骤;和/或用于本文所描述的技术的其它过程。
170.存储单元1002用于保存电子设备1000的程序代码和数据。
171.当然,上述电子设备1000中的单元模块包括但不限于上述处理单元1001和存储单元1002。例如,电子设备1000中还可以包括显示单元、通信单元等。显示单元用于显示电子设备应用界面。通信单元用于支持电子设备1000与其他装置的通信。
172.其中,处理单元1001可以是处理器或控制器,例如可以是中央处理器(central processing unit,cpu),数字信号处理器(digital signal processor,dsp),专用集成电路(application-specific integrated circuit,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或
者其任意组合。处理器可以包括应用处理器和基带处理器。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。存储单元1002可以是存储器。显示单元可以包括显示屏。通信单元可以是收发器、收发电路或通信接口等。
173.例如,处理单元1001为处理器(如图3所示的处理器110),存储单元1002可以为存储器(如图3所示的内部存储器121)。显示单元可以包括显示屏(如图3所示的显示屏194)。通信单元包括无线通信模块(如图3所示的无线通信模块160)。无线通信模块可以统称为通信接口。本技术实施例所提供的电子设备1000可以为图3所示的电子设备100。其中,上述处理器、存储器和通信接口等可以耦合在一起,例如通过总线连接。
174.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当上述处理器执行该计算机程序代码时,电子设备执行图4、图5、图6中的(a)或图7中的相关方法步骤实现上述任一实施例中的方法。
175.本技术实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行图4、图5、图6中的(a)或图7中的相关方法步骤实现上述任一实施例中的方法。
176.其中,本技术实施例提供的电子设备1000、计算机可读存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
177.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
178.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
179.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
180.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以使用硬件的形式实现,也可以使用软件功能单元的形式实现。
181.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
182.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献