具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的图像处理方案可以应用于互联网领域的多个场景中,例如:可以应用于音频文件的播控场景,如可提取专辑图像的特征色彩作为音频文件的播放色彩,在播放控制音频文件时调整播放界面的色彩;或者,可以应用于音频管理场景,如可基于专辑图像的特征色彩为音频库中的音频文件设置色彩标签,实现对音频库的色彩分类管理;或者,还可以应用于音频推荐场景,如可采集用户对音频文件的收听习惯,分析用户所收听的音频文件对应的专辑图像的色彩以确定用户所关注的音频类别,然后为用户推荐所关注的音频类别的歌曲以提升音频推荐的精准度;等等。
下面将结合附图1-附图3,对本发明实施例提供的图像处理方法进行详细介绍。需要说明的是,附图1-附图3所示的图像处理方法可以由本发明实施例提供的图像处理装置所执行,该图像处理装置可运行于终端设备或服务器中,其中,终端设备可包括但不限于:PC(Personal Computer,个人计算机)、PAD(平板电脑)、手机、智能手机、笔记本电脑等设备。
请参见图1,为本发明实施例提供的一种图像处理方法的流程图;该方法可包括以下步骤S101-步骤S103。
S101,将待处理的图像进行色彩转换处理。
图像由多个像素点按照位置、色彩等信息排列组成;图像的像素点的色彩可以采用RGB(Red Green Blue,红绿蓝)色彩空间的向量进行表示,也可以采用HSV(Hue,Saturation,Value,色调,饱和度,亮度)色彩空间的向量进行表示。为了直观的向用户展示图像,所述图像的像素点的色彩通常采用RGB色彩空间的向量进行表示;然而,为了方便图像的处理,通常需要基于HSV色彩空间对所述图像的像素点的色彩进行分析处理;因此,本步骤需要对图像进行色彩转换处理,即对图像的像素点的色彩进行转换处理,将图像的像素点的色彩从RGB色彩空间转换至HSV色彩空间。
S102,对所述色彩转换处理后的图像进行色彩分析,提取特征色彩。
图像的特征色彩可用于体现所述图像的基本颜色;例如:若图像的特征色彩为红色,则可体现所述图像的基本颜色为红色;或者,若图像的特征色彩为绿色,则可体现所述图像的基本颜色为绿色,等等。本步骤中,对所述色彩转换处理后的图像进行色彩分析,即是针对HSV色彩空间的所述图像的像素点的色彩进行分析处理,从中提取所述图像的特征色彩。需要说明的是,本步骤并不限定所提取的特征色彩的数量,即所提取的特征色彩可以为一个,或者为多个,或者为用户根据实际需要所指定的个数。
S103,将所述特征色彩进行色彩反转换处理。
步骤S102所提取的所述图像的特征色彩采用HSV色彩空间的向量进行表示,为了直观地展示所述特征色彩,本步骤还需要对所述特征色彩进行色彩反转换处理,即需要将所述特征色彩从HSV色彩空间转换至RGB色彩空间。
请参见图2,为本发明实施例提供的另一种图像处理方法的流程图;该方法可包括以下步骤S201-步骤S209。
S201,遍历所述图像的指定像素点的色彩,获得所述指定像素点中的各像素点的色彩的第一向量。
图像由多个像素点按照位置、色彩等信息排列组成。本发明实施例中,所述第一向量指RGB色彩空间中的向量,该第一向量包括:红色分向量(可采用r表示)、蓝色分向量(可采用b表示)和绿色分向量(可采用g表示)。本步骤中,遍历所述图像的指定像素点,获得所述指定像素点中的各像素点的色彩的第一向量;其中,指定像素点可以指定为所述图像的全部像素点,也可以指定为所述图像的部分像素点;例如:假设所述图像共有n(n为正整数)个指定像素点,所述图像的指定像素点中的第一个像素点的色彩的第一向量可表示为(r1,g1,b1);所述图像的指定像素点中的第二个像素点的色彩的第一向量可表示为(r2,g2,b2),以此类推,所述图像的指定像素点中的第n个像素点的色彩的第一向量可表示为(rn,gn,bn)等等。
S202,对所述各像素点的色彩的第一向量进行归一化处理。
本发明实施例中,所述第一向量的各分向量的取值范围均为0至255之间的实数,即:针对所述图像的指定像素点中的任一个像素点i(i为正整数且0<i≤n)的色彩的第一向量可表示为(ri,gi,bi),其中ri∈[0,255],gi∈[0,255],bi∈[0,255]。本步骤中,通过下述公式(1)可对所述图像的指定像素点中的任一个像素点i的色彩的第一向量进行归一化处理,该公式(1)如下:
上述公式(1)中,r'i表示对ri进行归一化处理所获得的值;g'i表示对gi进行归一化处理所获得的值;b'i表示对bi进行归一化处理所获得的值;则归一化的所述像素点i的色彩的第一向量可表示为(r'i,g'i,b'i)。
本步骤中,根据上述公式(1)可对所述图像的指定像素点中的各像素点的色彩的第一向量进行归一化处理。
S203,按照预设的第一色彩转换规则对归一化的所述各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量。
本发明实施例中,所述第二向量指HSV色彩空间中的向量,该第二向量包括:色调分向量(可采用h表示)、饱和度分向量(可采用s表示)和亮度分向量(可采用v表示)。本步骤的转换处理过程可包括:
首先,根据步骤S202所获得的归一化的所述图像的指定像素点中的各像素点的色彩的第一向量,读取所有第一向量中的r、g、b的值,从所读取的值中查找最大值max以及最小值min;
其次,针对归一化的所述图像的指定像素点中的任一个像素点i的色彩的第一向量(r'i,g'i,b'i),按照预设的第一色彩转换规则进行转换处理,可获得该像素点i的色彩的第二向量;其中,所述预设的第一色彩转换规则可采用如下公式(2)所示:
vi=max
上述公式(2)中,hi表示像素点i的色彩的第二向量的色调分向量;si表示像素点i的色彩的第二向量的饱和度分向量;vi表示像素点i的色彩的第二向量的亮度分向量;则所述像素点i的色彩进行转换处理后获得的第二向量可表示为(hi,si,vi)。
根据上述公式(2),可对归一化的所述图像的指定像素点中的各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量。
S204,对所述各像素点的色彩的第二向量进行归一化处理。
本发明实施例中,针对所述图像的指定像素点中的任一个像素点i的色彩的第二向量可表示为(hi,si,vi),其中hi∈[0,360),si∈[0,1],vi∈[0,1]。本步骤可采用下述公式(3),对像素点i的色彩的第二向量(hi,si,vi)进行归一化处理;该公式(3)可表示如下:
h'i=hi
s'i=round(si*255) (3)
v'i=round(vi*255)
上述公式(3)中,h'i表示对hi进行归一化处理所获得的值;s'i表示对si进行归一化处理所获得的值;v'i表示对vi进行归一化处理所获得的值;则归一化的所述像素点i的色彩的第二向量可表示为(h'i,s'i,v'i)。
本步骤中,根据上述公式(3)可对所述图像的指定像素点中的各像素点的色彩的第二向量进行归一化处理。
本实施例的步骤S201-步骤S204可以为图1所示实施例的步骤S101的具体细化步骤。
S205,根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像;若判断结果为是,转入步骤S206;否则,结束。
其中,图像可以分为彩色图像和灰度图像,针对彩色图像通常需要进行色彩分析,而针对灰度图像通常仅需要进行亮度分析。因此,在将所述图像的指定像素点中的各像素点的色彩从RGB色彩空间转换至HSV色彩空间之后,本步骤则判断所述图像是否为彩色图像,如果判断结果为是,即判断所述图像为彩色图像,则可转入步骤S206继续后续的色彩分析过程;如果判断结果为否,即判断所述图像为灰度图像,则可结束本实施例后续的色彩分析过程。具体实现中,步骤S205的判断过程具体可包括以下步骤A-D:
A、获取归一化的所述各像素点的色彩的饱和度分向量。
按照本实施例中的例子,假设所述图像共有n(n为正整数)个指定像素点,则步骤A可获取共n个归一化的饱和度分向量,可包括:s'1、s'2…s'n。
B、针对所获取的任一饱和度分向量,若所针对的饱和度分向量小于预设阈值,将所针对的饱和度分向量赋为参考值。
针对任一饱和度分向量s'i(i为正整数且0<i≤n),步骤B将s'i的大小与一预设阈值Ts的大小进行比较,如果满足s'i<Ts,则可将s'i的值赋为参考值,需要说明的是,该参考值可根据实际需要进行设置,例如:可设置为0,1等等,本实施例优选可将该参考值设置为0。其中,预设阈值Ts可根据实际需要进行设定。
C、计算为参考值的饱和度分向量的数量占所获取的饱和度分向量的总数量的比例。
步骤C首先统计值为参考值的饱和度分向量的数量,假设统计出值为参考值的饱和度分向量的数量为m(m为正整数且0≤m≤n),其次计算为参考值的饱和度分向量的数量占所获取的饱和度分向量的总数量的比例为m/n。
D、若所述比例大于或等于预设占比值,则判断所述图像为彩色图像,若所述比例小于预设占比值,则判断所述图像为灰度图像。
步骤D将计算得到的比例m/n的大小与一预设占比值Tr的大小进行比较,如果满足m/n≥Tr,则可判断所述图像为彩色图像;如果满足m/n<Tr,则可判断所述图像为灰度图像。其中,预设占比值Tr可根据实际需要进行设定。
S206,对归一化的所述各像素点的色彩的第二向量中的色调分向量进行统计分析,提取特征色彩的色调分向量。
本实施例的步骤S206-步骤S208阐述了提取所述图像的特征色彩的过程,步骤S206-步骤S208可以为图1所示实施例的步骤S102的具体细化步骤。需要说明的是,本实施例并不限定所提取的特征色彩的数量,即所提取的特征色彩可以为一个,或者为多个,或者为用户根据实际需要所指定的个数。除特别说明外,下述步骤S206-步骤S208将以提取一个特征色彩为例进行阐述。
步骤S206具体可包括:
首先,根据所述归一化的所述指定像素点中的各像素点的色彩的第二向量中的色调分向量以及每个色调分向量的出现频率,生成统计序列Hisi(h'i)(i为正整数且0<i≤n);其中,Hisi(h'i)表示h'i的出现频率。
其次,采用下述公式(4),获得indxh;该公式(4)如下:
[indxh,valh]=max(hisi(h'i)) (4)
上述公式(4)中,max()表示求取最大值操作,valh表示求得的最大值,indxh表示最大值valh对应的h'i。
最后,将公式(4)获得的indxh确定为所述特征色彩的色调分向量,即令所述特征色彩的色调分向量hT=indxh。
S207,根据所述特征色彩的色调分向量,提取所述特征色彩的亮度分向量。
步骤S207具体可包括:
首先,从所述归一化的所述指定像素点中的各像素点的色彩的第二向量中的色调分向量中,查找所有h'i=hT的像素点的色彩,此处可假设共查找到p(p为正整数且0<p≤n)个h'i=hT的像素点的色彩,则获取所查找到的各像素点的色彩的第二向量中的亮度分量(即获取p个v'i)。
其次,根据所查找到的各像素点的色彩的第二向量中的亮度分向量以及每个亮度分向量的出现频率,生成统计序列Hisi(v'i)(i为正整数且0<i≤n);其中,Hisi(v'i)表示v'i的出现频率。
再次,采用下述公式(5),获得indxv;该公式(5)如下:
[indxv,valv]=max(hisi(v'i)) (5)
上述公式(5)中,max()表示求取最大值操作,valv表示求得的最大值,indxv表示最大值valv对应的v'i。
最后,将公式(5)获得的indxv确定为所述特征色彩的亮度分向量,即令所述特征色彩的亮度分向量vT=indxv。
S208,根据所述特征色彩的色调分向量和亮度分向量,提取所述特征色彩的饱和度分向量,以获得所述特征色彩的第二向量。
步骤S208具体可包括:
首先,从所述归一化的所述指定像素点中的各像素点的色彩的第二向量中,查找所有h'i=hT且v'i=vT的像素点的色彩,此处可假设共查找到q(q为正整数且0<q≤n)个h'i=hT且v'i=vT的像素点的色彩,则获取所查找到的各像素点的色彩的第二向量中的饱和度分量(即获取q个s'i)。
其次,根据所查找到的各像素点的色彩的第二向量中的饱和度分向量以及每个饱和度分向量的出现频率,生成统计序列Hisi(s'i)(i为正整数且0<i≤n);其中,Hisi(s'i)表示s'i的出现频率。
再次,采用下述公式(6),获得indxs;该公式(6)如下:
[indxs,vals]=max(hisi(s'i)) (5)
上述公式(6)中,max()表示求取最大值操作,vals表示求得的最大值,indxs表示最大值vals对应的s'i。
再次,采用下述公式(7),对获得的indxs进行归一化处理;该公式(7)可表示如下:
indx's=indxs/255 (7)
最后,将公式(7)获得的indx'v确定为所述特征色彩的饱和度分向量,即令所述特征色彩的饱和度分向量sT=indx's。
经过上述步骤S206-步骤S208,可提取所述图像的特征色彩,该特征色彩的第二向量可表示为(hT,sT,vT)。
需要说明的是,如果所提取的特征色彩的数量大于一个,其提取过程可参见步骤S206-步骤S208类似分析,与提取一个特征色彩的区别在于:通过步骤S206可将公式(4)求得的第一最大值对应的indxh作为第一个特征色彩的色调分向量;再去掉与indxh相距预设距离的像素点,在剩余的像素点中重复步骤S206求取第二最大值对应的indxh并作为第二个特征色彩的色调分向量;以此类推。同理采用步骤S207可提取所有特征色彩的亮度分向量,采用步骤S208可提取所有特征色彩的饱和度分向量,从而完成所有特征色彩的提取。另外,当提取大于一个特征色彩时,还可以将其中的一部分特征色彩作为主特征色彩,另一部分特征色彩作为副特征色彩。
S209,按照预设的第二色彩转换规则,对所述特征色彩的第二向量进行转换处理,获得所述特征色彩的第一向量。
通过步骤S206-步骤S208可提取所述图像的特征色彩,该特征色彩的第二向量可表示为(hT,sT,vT)。为了直观地展示所述特征色彩,本步骤还需要对所述特征色彩进行色彩反转换处理,即需要将所述特征色彩从HSV色彩空间转换至RGB色彩空间。其中,所述预设的第二色彩转换规则可采用如下公式(8)表示:
上述公式(8)中,(rT,gT,bT)表示所述特征色彩的第一向量,e、t、f、j、k均为变量,且e、t、f、j、k分别满足以下条件:j=vT×(1-sT),k=vT×(1-f×sT),t=vT×(1-(1-f)×sT)。
本实施例的步骤S209可以为图1所示实施例的步骤S103的具体细化步骤。
请参见图3,为本发明实施例提供的又一种图像处理方法的流程图;该方法可包括以下步骤S301-步骤S310。
S301,遍历所述图像的指定像素点的色彩,获得所述指定像素点中的各像素点的色彩的第一向量。
S302,对所述各像素点的色彩的第一向量进行归一化处理。
S303,按照预设的第一色彩转换规则对归一化的所述各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量。
S304,对所述各像素点的色彩的第二向量进行归一化处理。
S305,根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像;若判断结果为是,转入步骤S306;否则,结束。
S306,对归一化的所述各像素点的色彩的第二向量中的色调分向量进行统计分析,提取特征色彩的色调分向量。
S307,根据所述特征色彩的色调分向量,提取所述特征色彩的亮度分向量。
S308,根据所述特征色彩的色调分向量和亮度分向量,提取所述特征色彩的饱和度分向量,以获得所述特征色彩的第二向量。
S309,按照预设的第二色彩转换规则,对所述特征色彩的第二向量进行转换处理,获得所述特征色彩的第一向量。
本实施例的步骤S301-步骤S309可参见图2所示实施例的步骤S201-步骤S209,在此不赘述。需要说明的是,经过上述步骤S301-步骤S309,可获得所述特征色彩的第一向量(rT,gT,bT)。
S310,对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩。
本步骤中,对所述特征色彩进行映射处理可包括以下两种可行的实施方式。在其中一种可行的实施方式中,步骤S310的映射处理过程可包括以下步骤E-F:
E、读取预设的第一色彩映射表,所述预设的第一色彩映射表中包括至少一种映射色彩,以及每种映射色彩的第一向量范围。
本步骤E中,所述预设的第一色彩映射表中包含的映射色彩的数量可以根据实际需要进行设定,例如:可以为12个星座色彩,或者可以为256种web色,等等。每种映射色彩的色彩值范围可采用RGB格式表示,例如:映射色彩为绿色的色彩值范围可表示为(r绿,g绿,b绿),且r绿∈(rx,ry),g绿∈(gx,gy),b绿∈(bx,by);其中,rx<ry,gx<gy,bx<by。
F、根据所述预设的第一色彩映射表以及所述特征色彩的第一向量,将所述特征色彩映射为所述预设的第一色彩映射表中的映射色彩。
所述特征色彩的第一向量可表示为(rT,gT,bT);若rT∈(rx,ry),gT∈(gx,gy),bT∈(bx,by),本步骤F则可将所述特征色彩映射为预设的第一色彩映射表中的绿色。
在另一种可行的实施方式中,步骤S310的映射处理过程可包括以下步骤G-I:
G、读取预设的第二色彩映射表,所述预设的第二色彩映射表中包含包括至少一种映射色彩,以及每种映射色彩的第一向量。
本步骤G中,所述预设的第二色彩映射表中包含的映射色彩的数量可以根据实际需要进行设定,例如:可以为12个星座色彩,或者可以为256种web色,等等。每种映射色彩的色彩值可采用RGB格式表示,例如:假设所述预设的第二色彩映射表中共包含2个映射色彩,其中一种映射色彩为绿色的色彩值可表示为(r绿,g绿,b绿),另一种映射色彩为红色的色彩值可表示为(r红,g红,b红)。
H、计算所述特征色彩的第一向量分别与所述预设的第二色彩映射表中的各映射色彩的第一向量的欧式距离。
所述特征色彩的第一向量可表示为(rT,gT,bT);按照步骤G中的例子,本步骤H需要计算(rT,gT,bT)分别与(r绿,g绿,b绿)和(r红,g红,b红)的欧式距离。其中,(rT,gT,bT)与(r绿,g绿,b绿)欧式距离Dis1可采用下述公式(9)进行计算。
Dis1=(rT-r绿).∧2+(gT-g绿).∧2+(bT-b绿).∧2 (9)
(rT,gT,bT)与(r红,g红,b红)欧式距离Dis2可采用下述公式(10)进行计算。
Dis2=(rT-r红).∧2+(gT-g红).∧2+(bT-b红).∧2 (10)
I、将所述预设的第二色彩映射表中与所述特征色彩的第一向量的欧式距离最小的映射色彩确定为所述特征色彩的映射色彩。
按照步骤H中的例子,若(rT,gT,bT)与(r绿,g绿,b绿)的欧式距离Dis1小于(rT,gT,bT)与(r红,g红,b红)的欧式距离Dis2,本步骤则将所述特征色彩映射为所述预设的第二色彩映射表中的绿色。
需要说明的是,步骤S310所示的两种实施方式中,可以根据实际需要灵活选择其中一种或两种的组合进行映射处理,且获得的映射色彩相对于所述特征色彩能够获得更好的颜色展示效果。
通过附图1-附图3所示实施例的描述,本发明实施例中,通过对图像进行一系列处理过程,包括:色彩转换处理、色彩分析和色彩反转换处理,可提取图像的特征色彩,既实现了对图像色彩的分析处理,提升了图像处理技术手段的多元性和智能性,同时,所提取的图像的特征色彩可被广泛应用于互联网领域中,扩展了图像处理技术的应用范围,满足了对图像处理技术的实际需求。
下面将结合附图4-附图9,对本发明实施例提供的图像处理装置进行详细介绍。需要说明的是,附图4-附图9所示的图像处理装置可运行于终端设备或服务器中,用于执行附图1-附图3所示的图像处理方法。其中,终端设备可包括但不限于:PC、PAD、手机、智能手机、笔记本电脑等设备。
请参见图4,为本发明实施例提供的一种图像处理装置的结构示意图;该装置可包括:色彩转换模块101、色彩分析模块102和色彩反转换模块103。
色彩转换模块101,用于将待处理的图像进行色彩转换处理。
图像由多个像素点按照位置、色彩等信息排列组成;图像的像素点的色彩可以采用RGB色彩空间的向量进行表示,也可以采用HSV色彩空间的向量进行表示。为了直观的向用户展示图像,所述图像的像素点的色彩通常采用RGB色彩空间的向量进行表示;然而,为了方便图像的处理,通常需要基于HSV色彩空间对所述图像的像素点的色彩进行分析处理;因此,所述色彩转换模块101需要对图像进行色彩转换处理,即对图像的像素点的色彩进行转换处理,将图像的像素点的色彩从RGB色彩空间转换至HSV色彩空间。
色彩分析模块102,用于对所述色彩转换处理后的图像进行色彩分析,提取特征色彩。
图像的特征色彩可用于体现所述图像的基本颜色;例如:若图像的特征色彩为红色,则可体现所述图像的基本颜色为红色;或者,若图像的特征色彩为绿色,则可体现所述图像的基本颜色为绿色,等等。所述色彩分析模块102对所述色彩转换处理后的图像进行色彩分析,即是针对HSV色彩空间的所述图像的像素点的色彩进行分析处理,从中提取所述图像的特征色彩。需要说明的是,本实施例并不限定所提取的特征色彩的数量,即所提取的特征色彩可以为一个,或者为多个,或者为用户根据实际需要所指定的个数。
色彩反转换模块103,用于将所述特征色彩进行色彩反转换处理。
所述色彩分析模块102所提取的所述图像的特征色彩采用HSV色彩空间的向量进行表示,为了直观地展示所述特征色彩,所述色彩反转换模块103还需要对所述特征色彩进行色彩反转换处理,即需要将所述特征色彩从HSV色彩空间转换至RGB色彩空间。
请参见图5,为本发明实施例提供的另一种图像处理装置的结构示意图;该装置可包括:色彩转换模块101、色彩分析模块102、色彩反转换模块103、判断模块104和映射处理模块105。其中,色彩转换模块101、色彩分析模块102和色彩反转换模块103的结构和功能可参见图4所示实施例的相关描述,在此不赘述。
判断模块104,用于根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像,并在判断结果为是时,通知所述色彩分析模块对所述色彩转换处理后的图像进行色彩分析,提取特征色彩。
本发明实施例中,所述第一向量指RGB色彩空间中的向量,该第一向量包括:红色分向量(可采用r表示)、蓝色分向量(可采用b表示)和绿色分向量(可采用g表示)。所述第二向量指HSV色彩空间中的向量,该第二向量包括:色调分向量(可采用h表示)、饱和度分向量(可采用s表示)和亮度分向量(可采用v表示)。其中,图像可以分为彩色图像和灰度图像,针对彩色图像通常需要进行色彩分析,而针对灰度图像通常仅需要进行亮度分析。因此,在将所述图像的指定像素点中的各像素点的色彩从RGB色彩空间转换至HSV色彩空间之后,所述判断模块104则判断所述图像是否为彩色图像,如果判断结果为是,即判断所述图像为彩色图像,则可采用本发明实施例的图像处理方案对所述图像进行色彩分析过程;如果判断结果为否,即判断所述图像为灰度图像,则可结束本发明实施例的图像处理过程。
映射处理模块105,用于对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩。其中,所述特征色彩的映射色彩相对于所述特征色彩能够获得更好的颜色展示效果。
下面将结合附图6-附图9,对本发明实施例提供的图像处理装置中的各模块进行详细介绍。
请参见图6,为本发明实施例提供的色彩转换模块的实施例的结构示意图;该色彩转换模块101包括:遍历单元1101、第一归一化单元1102、色彩转换单元1103和第二归一化单元1104。
遍历单元1101,用于遍历所述图像的指定像素点的色彩,获得所述指定像素点中的各像素点的色彩的第一向量。
图像由多个像素点按照位置、色彩等信息排列组成。本发明实施例中,所述第一向量指RGB色彩空间中的向量,该第一向量包括:红色分向量(可采用r表示)、蓝色分向量(可采用b表示)和绿色分向量(可采用g表示)。所述遍历单元1101遍历所述图像的指定像素点,获得所述指定像素点中的各像素点的色彩的第一向量;其中,指定像素点可以指定为所述图像的全部像素点,也可以指定为所述图像的部分像素点;例如:假设所述图像共有n(n为正整数)个指定像素点,所述图像的指定像素点中的第一个像素点的色彩的第一向量可表示为(r1,g1,b1);所述图像的指定像素点中的第二个像素点的色彩的第一向量可表示为(r2,g2,b2),以此类推,所述图像的指定像素点中的第n个像素点的色彩的第一向量可表示为(rn,gn,bn)等等。
第一归一化单元1102,用于对所述各像素点的色彩的第一向量进行归一化处理。
本发明实施例中,所述第一向量的各分向量的取值范围均为0至255之间的实数,即:针对所述图像的指定像素点中的任一个像素点i(i为正整数且0<i≤n)的色彩的第一向量可表示为(ri,gi,bi),其中ri∈[0,255],gi∈[0,255],bi∈[0,255]。所述第一归一化单元1102可采用图2所示实施例中的公式(1),对所述图像的指定像素点中的任一个像素点i的色彩的第一向量进行归一化处理,获得归一化的所述像素点i的色彩的第一向量可表示为(r'i,g'i,b'i)。所述第一归一化单元1102采用图2所示实施例中的公式(1),可对所述图像的指定像素点中的各像素点的色彩的第一向量进行归一化处理。
色彩转换单元1103,用于按照预设的第一色彩转换规则对归一化的所述各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量。
本发明实施例中,所述第二向量指HSV色彩空间中的向量,该第二向量包括:色调分向量(可采用h表示)、饱和度分向量(可采用s表示)和亮度分向量(可采用v表示)。所述色彩转换单元1103的转换处理过程可包括:
首先,根据所获得的归一化的所述图像的指定像素点中的各像素点的色彩的第一向量,读取所有第一向量中的r、g、b的值,从所读取的值中查找最大值max以及最小值min;
其次,针对归一化的所述图像的指定像素点中的任一个像素点i的色彩的第一向量(r'i,g'i,b'i),按照预设的第一色彩转换规则进行转换处理,可获得该像素点i的色彩的第二向量;其中,所述预设的第一色彩转换规则可采用图2所示实施例中的公式(2)进行表示。根据图2所示实施例中的公式(2),所述色彩转换单元1103可对归一化的所述图像的指定像素点中的各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量。
第二归一化单元1104,用于对所述各像素点的色彩的第二向量进行归一化处理。
本发明实施例中,针对所述图像的指定像素点中的任一个像素点i的色彩的第二向量可表示为(hi,si,vi),其中hi∈[0,360),si∈[0,1],vi∈[0,1]。所述第二归一化单元1104可采用图2所示实施例中的公式(3),对像素点i的色彩的第二向量(hi,si,vi)进行归一化处理,获得归一化的所述像素点i的色彩的第二向量可表示为(h'i,s'i,v'i)。所述第二归一化单元1104采用图2所示实施例中的公式(3),可对所述图像的指定像素点中的各像素点的色彩的第二向量进行归一化处理。
请参见图7,为本发明实施例提供的色彩分析模块的实施例的结构示意图;该色彩分析模块102可包括:色调提取单元1201、亮度提取单元1202和饱和度提取单元1203。
色调提取单元1201,用于对归一化的所述各像素点的色彩的第二向量中的色调分向量进行统计分析,提取特征色彩的色调分向量。
所述色调提取单元1201的提取过程具体可包括:
首先,根据所述归一化的所述指定像素点中的各像素点的色彩的第二向量中的色调分向量以及每个色调分向量的出现频率,生成统计序列Hisi(h'i)(i为正整数且0<i≤n);其中,Hisi(h'i)表示h'i的出现频率。
其次,采用图2所示实施例中的公式(4),获得indxh。
最后,将indxh确定为所述特征色彩的色调分向量,即令所述特征色彩的色调分向量hT=indxh。
亮度提取单元1202,用于根据所述特征色彩的色调分向量,提取所述特征色彩的亮度分向量。
所述亮度提取单元1202的提取过程具体可包括:
首先,从所述归一化的所述指定像素点中的各像素点的色彩的第二向量中的色调分向量中,查找所有h'i=hT的像素点的色彩,此处可假设共查找到p(p为正整数且0<p≤n)个h'i=hT的像素点的色彩,则获取所查找到的各像素点的色彩的第二向量中的亮度分量(即获取p个v'i)。
其次,根据所查找到的各像素点的色彩的第二向量中的亮度分向量以及每个亮度分向量的出现频率,生成统计序列Hisi(v'i)(i为正整数且0<i≤n);其中,Hisi(v'i)表示v'i的出现频率。
再次,采用图2所示实施例中的公式(5),获得indxv。
最后,将获得的indxv确定为所述特征色彩的亮度分向量,即令所述特征色彩的亮度分向量vT=indxv。
饱和度提取单元1203,用于根据所述特征色彩的色调分向量和亮度分向量,提取所述特征色彩的饱和度分向量,以获得所述特征色彩的第二向量。
所述饱和度提取单元1203的提取过程具体可包括:
首先,从所述归一化的所述指定像素点中的各像素点的色彩的第二向量中,查找所有h'i=hT且v'i=vT的像素点的色彩,此处可假设共查找到q(q为正整数且0<q≤n)个h'i=hT且v'i=vT的像素点的色彩,则获取所查找到的各像素点的色彩的第二向量中的饱和度分量(即获取q个s'i)。
其次,根据所查找到的各像素点的色彩的第二向量中的饱和度分向量以及每个饱和度分向量的出现频率,生成统计序列Hisi(s'i)(i为正整数且0<i≤n);其中,Hisi(s'i)表示s'i的出现频率。
再次,采用图2所示实施例中的公式(6),获得indxs。
再次,采用图2所示实施例中的公式(7),对获得的indxs进行归一化处理,获得的indx'v。
最后,将获得的indx'v确定为所述特征色彩的饱和度分向量,即令所述特征色彩的饱和度分向量sT=indx's。
经过本实施例的所述色调提取单元1201、所述亮度提取单元1202和所述饱和度提取单元1203,可提取所述图像的特征色彩,该特征色彩的第二向量可表示为(hT,sT,vT)。
请参见图8,为本发明实施例提供的判断模块的实施例的结构示意图;该判断模块104可包括:获取单元1401、赋值处理单元1402、比例计算单元1403和判断单元1404。
获取单元1401,用于获取归一化的所述各像素点的色彩的饱和度分向量。
假设所述图像共有n(n为正整数)个指定像素点,归一化的所述指定像素点中的各像素点的色彩的饱和度分向量可表示为:s'1、s'2…s'n。所述获取单元1401可获取共n个归一化的饱和度分向量,可包括:s'1、s'2…s'n。
赋值处理单元1402,用于针对所获取的任一饱和度分向量,若所针对的饱和度分向量小于预设阈值,将所针对的饱和度分向量赋为参考值。
针对任一饱和度分向量s'i(i为正整数且0<i≤n),所述赋值处理单元1402将s'i的大小与一预设阈值Ts的大小进行比较,如果满足s'i<Ts,则可将s'i的值赋为参考值,需要说明的是,该参考值可根据实际需要进行设置,例如:可设置为0,1等等,本实施例优选可将该参考值设置为0。其中,预设阈值Ts可根据实际需要进行设定。
比例计算单元1403,用于计算为参考值的饱和度分向量的数量占所获取的饱和度分向量的总数量的比例。
所述比例计算单元1403首先统计值为参考值的饱和度分向量的数量,假设统计出值为参考值的饱和度分向量的数量为m(m为正整数且0≤m≤n),其次计算为参考值的饱和度分向量的数量占所获取的饱和度分向量的总数量的比例为m/n。
判断单元1404,用于当所述比例大于或等于预设占比值时,判断所述图像为彩色图像,当所述比例小于预设占比值时,判断所述图像为灰度图像。
所述判断单元1404将计算得到的比例m/n的大小与一预设占比值Tr的大小进行比较,如果满足m/n≥Tr,则可判断所述图像为彩色图像;如果满足m/n<Tr,则可判断所述图像为灰度图像。其中,预设占比值Tr可根据实际需要进行设定。
请参见图9a,为本发明实施例提供的映射处理模块的一个实施例的结构示意图;该映射处理模块105可包括:第一读取单元1501和第一映射单元1502。
第一读取单元1501,用于读取预设的第一色彩映射表,所述预设的第一色彩映射表中包括至少一种映射色彩,以及每种映射色彩的第一向量范围。
所述预设的第一色彩映射表中包含的映射色彩的数量可以根据实际需要进行设定,例如:可以为12个星座色彩,或者可以为256种web色,等等。每种映射色彩的色彩值范围可采用RGB格式表示,例如:映射色彩为绿色的色彩值范围可表示为(r绿,g绿,b绿),且r绿∈(rx,ry),g绿∈(gx,gy),b绿∈(bx,by);其中,rx<ry,gx<gy,bx<by。
第一映射单元1502,用于根据所述预设的第一色彩映射表以及所述特征色彩的第一向量,将所述特征色彩映射为所述预设的第一色彩映射表中的映射色彩。
所述特征色彩的第一向量可表示为(rT,gT,bT);若rT∈(rx,ry),gT∈(gx,gy),bT∈(bx,by),所述第一映射单元1502则可将所述特征色彩映射为预设的第一色彩映射表中的绿色。
请参见图9b,为本发明实施例提供的映射处理模块的另一个实施例的结构示意图;该映射处理模块105可包括:第二读取单元1511、距离计算单元1512和第二映射单元1513。
第二读取单元1511,用于读取预设的第二色彩映射表,所述预设的第二色彩映射表中包含包括至少一种映射色彩,以及每种映射色彩的第一向量。
所述预设的第二色彩映射表中包含的映射色彩的数量可以根据实际需要进行设定,例如:可以为12个星座色彩,或者可以为256种web色,等等。每种映射色彩的色彩值可采用RGB格式表示,例如:假设所述预设的第二色彩映射表中共包含2个映射色彩,其中一种映射色彩为绿色的色彩值可表示为(r绿,g绿,b绿),另一种映射色彩为红色的色彩值可表示为(r红,g红,b红)。
距离计算单元1512,用于计算所述特征色彩的第一向量分别与所述预设的第二色彩映射表中的各映射色彩的第一向量的欧式距离。
所述特征色彩的第一向量可表示为(rT,gT,bT);按照本实施例中的例子,所述距离计算单元1512需要计算(rT,gT,bT)分别与(r绿,g绿,b绿)和(r红,g红,b红)的欧式距离。其中,(rT,gT,bT)与(r绿,g绿,b绿)欧式距离Dis1可采用图3所示实施例中的公式(9)进行计算,(rT,gT,bT)与(r红,g红,b红)欧式距离Dis2可采用图3所示实施例中的公式(10)进行计算。
第二映射单元1513,用于将所述预设的第二色彩映射表中与所述特征色彩的第一向量的欧式距离最小的映射色彩确定为所述特征色彩的映射色彩。
按照本实施例中的例子,若(rT,gT,bT)与(r绿,g绿,b绿)的欧式距离Dis1小于(rT,gT,bT)与(r红,g红,b红)的欧式距离Dis2,所述第二映射单元1513则将所述特征色彩映射为所述预设的第二色彩映射表中的绿色。
通过附图4-附图9所示实施例的描述,本发明实施例中,通过对图像进行一系列处理过程,包括:色彩转换处理、色彩分析和色彩反转换处理,可提取图像的特征色彩,既实现了对图像色彩的分析处理,提升了图像处理技术手段的多元性和智能性,同时,所提取的图像的特征色彩可被广泛应用于互联网领域中,扩展了图像处理技术的应用范围,满足了对图像处理技术的实际需求。
请参见图10,为本发明实施例提供的终端设备的结构示意图;本发明实施例的终端设备可包括但不限于:PC、PAD、手机、智能手机、笔记本电脑等设备,该终端设备包括:至少一个处理器201,例如CPU,至少一个通信总线202,至少一个网络接口203,存储器204。其中,通信总线202用于实现这些组件之间的连接通信。其中,所述网络接口203可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。所述存储器204可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。所述存储器204可选的还可以是至少一个位于远离前述处理器201的存储装置。如图10所示,作为一种计算机存储介质的存储器204中存储有操作系统、网络通信模块,并存储有用于进行图像处理的程序以及其他程序。
其中具体的,所述处理器201可以用于调用所述存储器204中存储的用于进行图像处理的程序,执行以下步骤:
将待处理的图像进行色彩转换处理;
对所述色彩转换处理后的图像进行色彩分析,提取特征色彩;
将所述特征色彩进行色彩反转换处理。
进一步地,所述处理器201在执行所述将待处理的图像进行色彩转换处理的步骤时,具体执行如下步骤:
遍历所述图像的指定像素点的色彩,获得所述指定像素点中的各像素点的色彩的第一向量;
对所述各像素点的色彩的第一向量进行归一化处理;
按照预设的第一色彩转换规则对归一化的所述各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量;
对所述各像素点的色彩的第二向量进行归一化处理。
其中,所述第一向量包括:红色分向量、蓝色分向量和绿色分向量;所述第二向量包括:色调分向量、饱和度分向量和亮度分向量。
进一步地,所述处理器201在执行所述对所述各像素点的色彩的第二向量进行归一化处理的步骤之后,还可执行如下步骤:
根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像;
若所述图像为彩色图像,则执行对所述色彩转换处理后的图像进行色彩分析,提取特征色彩的步骤。
进一步地,所述处理器201在执行所述根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像的步骤时,具体执行如下步骤:
获取归一化的所述各像素点的色彩的饱和度分向量;
针对所获取的任一饱和度分向量,若所针对的饱和度分向量小于预设阈值,将所针对的饱和度分向量赋为参考值;
计算为参考值的饱和度分向量的数量占所获取的饱和度分向量的总数量的比例;
若所述比例大于或等于预设占比值,则判断所述图像为彩色图像,若所述比例小于预设占比值,则判断所述图像为灰度图像。
进一步地,所述处理器201在执行所述对所述色彩转换处理后的图像进行色彩分析,提取特征色彩的步骤时,具体执行如下步骤:
对归一化的所述各像素点的色彩的第二向量中的色调分向量进行统计分析,提取特征色彩的色调分向量;
根据所述特征色彩的色调分向量,提取所述特征色彩的亮度分向量;
根据所述特征色彩的色调分向量和亮度分向量,提取所述特征色彩的饱和度分向量,以获得所述特征色彩的第二向量。
进一步地,所述处理器201在执行所述将所述特征色彩进行色彩反转换处理的步骤时,具体执行如下步骤:
按照预设的第二色彩转换规则,对所述特征色彩的第二向量进行转换处理,获得所述特征色彩的第一向量。
进一步地,所述处理器201在执行所述将所述特征色彩进行色彩反转换处理的步骤之后,还可执行如下步骤:对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩。
进一步地,所述处理器201在执行所述对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩的步骤时,具体执行如下步骤:
读取预设的第一色彩映射表,所述预设的第一色彩映射表中包括至少一种映射色彩,以及每种映射色彩的第一向量范围;
根据所述预设的第一色彩映射表以及所述特征色彩的第一向量,将所述特征色彩映射为所述预设的第一色彩映射表中的映射色彩。
或者进一步地,所述处理器201在执行所述对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩的步骤时,具体执行如下步骤:
读取预设的第二色彩映射表,所述预设的第二色彩映射表中包含包括至少一种映射色彩,以及每种映射色彩的第一向量;
计算所述特征色彩的第一向量分别与所述预设的第二色彩映射表中的各映射色彩的第一向量的欧式距离;
将所述预设的第二色彩映射表中与所述特征色彩的第一向量的欧式距离最小的映射色彩确定为所述特征色彩的映射色彩。
本发明实施例中,通过对图像进行一系列处理过程,包括:色彩转换处理、色彩分析和色彩反转换处理,可提取图像的特征色彩,既实现了对图像色彩的分析处理,提升了图像处理技术手段的多元性和智能性,同时,所提取的图像的特征色彩可被广泛应用于互联网领域中,扩展了图像处理技术的应用范围,满足了对图像处理技术的实际需求。
请参见图11,为本发明实施例提供的服务器的结构示意图;本发明实施例的服务器包括:至少一个处理器301,例如CPU,至少一个通信总线302,至少一个网络接口303,存储器304。其中,通信总线302用于实现这些组件之间的连接通信。其中,所述网络接口303可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。所述存储器304可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。所述存储器304可选的还可以是至少一个位于远离前述处理器301的存储装置。如图11所示,作为一种计算机存储介质的存储器304中存储有操作系统、网络通信模块,并存储有用于进行图像处理的程序以及其他程序。
其中具体的,所述处理器301可以用于调用所述存储器304中存储的用于进行图像处理的程序,执行以下步骤:
将待处理的图像进行色彩转换处理;
对所述色彩转换处理后的图像进行色彩分析,提取特征色彩;
将所述特征色彩进行色彩反转换处理。
进一步地,所述处理器301在执行所述将待处理的图像进行色彩转换处理的步骤时,具体执行如下步骤:
遍历所述图像的指定像素点的色彩,获得所述指定像素点中的各像素点的色彩的第一向量;
对所述各像素点的色彩的第一向量进行归一化处理;
按照预设的第一色彩转换规则对归一化的所述各像素点的色彩的第一向量进行转换处理,获得所述各像素点的色彩的第二向量;
对所述各像素点的色彩的第二向量进行归一化处理。
其中,所述第一向量包括:红色分向量、蓝色分向量和绿色分向量;所述第二向量包括:色调分向量、饱和度分向量和亮度分向量。
进一步地,所述处理器301在执行所述对所述各像素点的色彩的第二向量进行归一化处理的步骤之后,还可执行如下步骤:
根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像;
若所述图像为彩色图像,则执行对所述色彩转换处理后的图像进行色彩分析,提取特征色彩的步骤。
进一步地,所述处理器301在执行所述根据归一化的所述各像素点的色彩的第二向量,判断所述图像是否为彩色图像的步骤时,具体执行如下步骤:
获取归一化的所述各像素点的色彩的饱和度分向量;
针对所获取的任一饱和度分向量,若所针对的饱和度分向量小于预设阈值,将所针对的饱和度分向量赋为参考值;
计算为参考值的饱和度分向量的数量占所获取的饱和度分向量的总数量的比例;
若所述比例大于或等于预设占比值,则判断所述图像为彩色图像,若所述比例小于预设占比值,则判断所述图像为灰度图像。
进一步地,所述处理器301在执行所述对所述色彩转换处理后的图像进行色彩分析,提取特征色彩的步骤时,具体执行如下步骤:
对归一化的所述各像素点的色彩的第二向量中的色调分向量进行统计分析,提取特征色彩的色调分向量;
根据所述特征色彩的色调分向量,提取所述特征色彩的亮度分向量;
根据所述特征色彩的色调分向量和亮度分向量,提取所述特征色彩的饱和度分向量,以获得所述特征色彩的第二向量。
进一步地,所述处理器301在执行所述将所述特征色彩进行色彩反转换处理的步骤时,具体执行如下步骤:
按照预设的第二色彩转换规则,对所述特征色彩的第二向量进行转换处理,获得所述特征色彩的第一向量。
进一步地,所述处理器301在执行所述将所述特征色彩进行色彩反转换处理的步骤之后,还可执行如下步骤:对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩。
进一步地,所述处理器301在执行所述对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩的步骤时,具体执行如下步骤:
读取预设的第一色彩映射表,所述预设的第一色彩映射表中包括至少一种映射色彩,以及每种映射色彩的第一向量范围;
根据所述预设的第一色彩映射表以及所述特征色彩的第一向量,将所述特征色彩映射为所述预设的第一色彩映射表中的映射色彩。
或者进一步地,所述处理器301在执行所述对所述特征色彩进行映射处理,获得所述特征色彩的映射色彩的步骤时,具体执行如下步骤:
读取预设的第二色彩映射表,所述预设的第二色彩映射表中包含包括至少一种映射色彩,以及每种映射色彩的第一向量;
计算所述特征色彩的第一向量分别与所述预设的第二色彩映射表中的各映射色彩的第一向量的欧式距离;
将所述预设的第二色彩映射表中与所述特征色彩的第一向量的欧式距离最小的映射色彩确定为所述特征色彩的映射色彩。
本发明实施例中,通过对图像进行一系列处理过程,包括:色彩转换处理、色彩分析和色彩反转换处理,可提取图像的特征色彩,既实现了对图像色彩的分析处理,提升了图像处理技术手段的多元性和智能性,同时,所提取的图像的特征色彩可被广泛应用于互联网领域中,扩展了图像处理技术的应用范围,满足了对图像处理技术的实际需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。