本发明涉及图像处理技术领域,特别是涉及一种调整图像颜色的方法及装置。
背景技术:
在图像处理技术领域中,经常会遇到需要对图像颜色进行调整的情况,现有的方案通常是以rgb颜色空间中红、绿、蓝三原色为标准色,通过调整标准色的rgb值来实现对图像颜色的调整和校正。
虽然,现有技术能够实现对图像颜色进行调整,但是,由于rgb空间中作为标准色的数量较少,导致图像颜色的调整不够精确。
技术实现要素:
本发明实施例的目的在于提供一种调整图像颜色的方法及装置,通过多路标准色来调整图像颜色,以实现对图像颜色的精确调整。具体技术方案如下:
本发明实施的一方面提供了一种调整图像颜色的方法,所述方法包括:
获取图像中每一像素点的rgb值;
获取各个标准色hsv值的增益量,其中,所述标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色;
针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,其中,所述目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
可选的,所述利用目标标准色hsv值的增益量调整像素点的rgb值的步骤,包括:
对像素点的rgb值进行归一化,得到像素点的r'g'b'值;
将像素点的r'g'b'值转化为hsv值;
利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量;
利用所得到的增益量调整像素点的hsv值,得到像素点的h's'v'值;
将像素点的h's'v'值转化为r"g"b"值,并将像素点的rgb值更新为r"g"b"值。
可选的,所述利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量的步骤,包括:
分别确定像素点与各个目标标准色在色调h分量上的夹角;
根据所确定的夹角为各个目标标准色分配权重;
利用目标标准色hsv值的增益量、目标标准色的hsv值以及目标标准色的权重进行差值计算,得到像素点hsv值的增益量。
可选的,所述根据所确定的夹角为各个目标标准色分配权重的步骤,包括:
按照所确定的夹角越大分配的权重越小为分配原则,根据所确定的夹角为各个目标标准色分配权重。
可选的,所述方法还包括:
分别获取黑色rgb值的增益量和白色rgb值的增益量;
利用黑色rgb值的增益量、白色rgb值的增益量、黑色的rgb值以及白色的rgb值进行差值计算,得到像素点rgb值的增益量;
利用像素点rgb值的增益量调整像素点的rgb值。
本发明实施的又一方面,还提供了一种调整图像颜色的装置,所述装置包括:
第一获取模块,用于获取图像中每一像素点的rgb值;
第二获取模块,用于获取各个标准色hsv值的增益量,其中,所述标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色;
调整模块,用于针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,其中,所述目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
可选的,所述调整模块,包括:
得到子模块,用于对像素点的rgb值进行归一化,得到像素点的r'g'b'值;
转化子模块,用于将像素点的r'g'b'值转化为hsv值;
计算子模块,用于利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量;
调整子模块,用于利用所得到的增益量调整像素点的hsv值,得到像素点的h's'v'值;
更新子模块,用于将像素点的h's'v'值转化为r"g"b"值,并将像素点的rgb值更新为r"g"b"值。
可选的,所述计算子模块,包括:
确定单元,用于分别确定像素点与各个目标标准色在色调h分量上的夹角;
分配单元,用于根据所确定的夹角为各个目标标准色分配权重;
计算单元,用于利用目标标准色hsv值的增益量、目标标准色的hsv值以及目标标准色的权重进行差值计算,得到像素点hsv值的增益量。
可选的,所述分配单元,还用于
按照所确定的夹角越大分配的权重越小为分配原则,根据所确定的夹角为各个目标标准色分配权重。
可选的,所述装置还包括:
第三获取模块,用于分别获取黑色rgb值的增益量和白色rgb值的增益量;
计算模块,用于利用黑色rgb值的增益量、白色rgb值的增益量、黑色的rgb值以及白色的rgb值进行差值计算,得到像素点rgb值的增益量;
调整模块520,还用于利用像素点rgb值的增益量调整像素点的rgb值。
本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的调整图像颜色的方法。
本发明实施例提供的一种调整图像颜色的方法及装置,可以基于色调h分量将hsv颜色空间划分为预设份数之后、相邻两份在色调h分量上交点所表征的每一个颜色均作为一个标准色,实现在调整图像颜色时,可以调整多个标准色的hsv值,从而能够针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,以实现图像颜色的调整。通过调整hsv空间中多路标准色来调整图像的颜色,能够实现精确的调整和校正图像颜色。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种调整图像颜色方法的流程示意图;
图2为本发明实施例提供的一种基于色调h分量将hsv颜色空间划分的示意图;
图3为本发明实施例提供的一种调整界面;
图4为本发明实施例提供的一种计算像素点hsv值的增益量的示意图;
图5为本发明实施例提供的一种调整图像颜色装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种调整图像颜色方法的流程示意图,该方法包括:
s100,获取图像中每一像素点的rgb值。
s110,获取各个标准色hsv值的增益量。
其中,标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色。
如图2所示,为本发明实施例提供的一种基于色调h分量将hsv颜色空间划分的示意图,图中相邻两份在色调h分量上交点均代表一种颜色,即图中每一条半径与圆的交点均代表一种颜色。
在实施中,可以根据需要进行hsv颜色空间的划分,具体的,可以进行平均划分即划分得到的每一份大小相同;还可以不平均划分。而不难理解的是所划分的份数越多得到的标准色也就越多,图像颜色的调整精度也就越高。
在实施中,可以向用户提供一个用于调整标准色的界面,比如图3所示的调整界面,调整界面中提供多个标准色以及用于调整各个标准色hsv值增益量的调整按钮,用户可以通过各个标准色hsv值对应的调整按钮来调整增益量,用户通过界面调整结束之后,也就得到了各个标准色hsv值的增益量。
s120,针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值。
其中,目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
具体的,可以通过以下步骤a1-a5来实现利用目标标准色hsv值的增益量调整像素点的rgb值:
步骤a1,对像素点的rgb值进行归一化,得到像素点的r'g'b'值。
在实施中,可以将像素点的rgb值分别除以255来对像素点的rgb值进行归一化。
步骤a2,将像素点的r'g'b'值转化为hsv值。
在实施中,rgb的值分别表示像素点的红、绿和蓝坐标,rgb的值是在0到1之间的实数。具体的,可以设max等于r、g和b中的最大者;设min等于r、g和b中的最小者,通过以下表达式将像素点的r'g'b'值转化为hsv值:
υ=max
步骤a3,利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量。
在实施中,在计算像素点hsv值的增益量的过程中,可以分别确定像素点与各个目标标准色在色调h分量上的夹角;根据所确定的夹角为各个目标标准色分配权重;利用目标标准色hsv值的增益量、目标标准色的hsv值以及目标标准色的权重进行差值计算,得到像素点hsv值的增益量。
一种实现方式中,可以按照所确定的夹角越大分配的权重越小为分配原则,根据所确定的夹角为各个目标标准色分配权重。也就是距离像素点之间的夹角越小,为目标标准色分配的权值越大,相应地,在调整像素点的hsv值的过程中,目标标准色hsv值的增益量的权重越大,从而进一步增加图像颜色调整的精确性。
如图4所示,为本发明实施例提供的一种计算像素点hsv值的增益量的示意图,图中与像素点相邻的目标标准色为红色和橙色,像素点与红色之间的夹角为α,与橙色之间的夹角为β,相应地,则可以为红色分配权重β;为橙色分配权重α。之后利用红色hsv值的增益量、红色的hsv值、红色的权重、橙色hsv值的增益量、橙色的hsv值以及橙色的权重进行差值计算,得到像素点hsv值的增益量。
步骤a4,利用所得到的增益量调整像素点的hsv值,得到像素点的h's'v'值。
步骤a5,将像素点的h's'v'值转化为r"g"b"值,并将像素点的rgb值更新为r"g"b"值。
在实施中,可以通过以下表达式来将像素点的h's'v'值转化为r"g"b"值:
p=υ×(1-s)
q=υ×(1-f×s)
t=υ×(1-(1-f)×s)
对于每个颜色向量(r、g、b):
将像素点的rgb值转化为hsv值,然后利用目标标准色hsv值的增益量来调整像素点的hsv值,将调整后的hsv转化为rgb值之后,也就得到了调整之后的像素点的rgb值。
一种实现方式中,黑色和白色作为标准色时,可以直接利用黑色和白色rgb值的增益量来调整图像中像素点的rgb值,从而改变图像颜色,具体的,可以分别获取黑色rgb值的增益量和白色rgb值的增益量;利用黑色rgb值的增益量、白色rgb值的增益量、黑色的rgb值以及白色的rgb值进行差值计算,得到像素点rgb值的增益量;利用像素点rgb值的增益量调整像素点的rgb值。
在上述利用多路标准色来调整图像颜色的基础上,增加黑色和白色作为标准色,进一步增加标准色的数量,提高图像颜色的调整精度。
参见图5,为本发明实施例提供的一种调整图像颜色装置的结构示意图,包括:
第一获取模块500,用于获取图像中每一像素点的rgb值;
第二获取模块510,用于获取各个标准色hsv值的增益量,其中,所述标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色;
调整模块520,用于针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,其中,所述目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
一种实现方式中,所述调整模块520,包括:
得到子模块,用于对像素点的rgb值进行归一化,得到像素点的r'g'b'值;
转化子模块,用于将像素点的r'g'b'值转化为hsv值;
计算子模块,用于利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量;
调整子模块,用于利用所得到的增益量调整像素点的hsv值,得到像素点的h's'v'值;
更新子模块,用于将像素点的h's'v'值转化为r"g"b"值,并将像素点的rgb值更新为r"g"b"值。
一种实现方式中,所述计算子模块,包括:
确定单元,用于分别确定像素点与各个目标标准色在色调h分量上的夹角;
分配单元,用于根据所确定的夹角为各个目标标准色分配权重;
计算单元,用于利用目标标准色hsv值的增益量、目标标准色的hsv值以及目标标准色的权重进行差值计算,得到像素点hsv值的增益量。
一种实现方式中,所述分配单元,还用于
按照所确定的夹角越大分配的权重越小为分配原则,根据所确定的夹角为各个目标标准色分配权重。
一种实现方式中,所述装置还包括:
第三获取模块,用于分别获取黑色rgb值的增益量和白色rgb值的增益量;
计算模块,用于利用黑色rgb值的增益量、白色rgb值的增益量、黑色的rgb值以及白色的rgb值进行差值计算,得到像素点rgb值的增益量;
调整模块520,还用于利用像素点rgb值的增益量调整像素点的rgb值。
本发明实施例提供的方案,可以基于色调h分量将hsv颜色空间划分为预设份数之后、相邻两份在色调h分量上交点所表征的每一个颜色均作为一个标准色,实现在调整图像颜色时,可以调整多个标准色的hsv值,从而能够针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,以实现图像颜色的调整。通过调整hsv空间中多路标准色来调整图像的颜色,能够实现精确的调整和校正图像颜色。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器001、通信接口002、存储器003和通信总线004,其中,处理器001,通信接口002,存储器003通过通信总线004完成相互间的通信,
存储器003,用于存放计算机程序;
处理器001,用于执行存储器003上所存放的程序时,上述任一项所述的调整图像颜色的方法,该方法包括:
获取图像中每一像素点的rgb值;
获取各个标准色hsv值的增益量,其中,所述标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色;
针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,其中,所述目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
本发明实施例提供的方案,可以基于色调h分量将hsv颜色空间划分为预设份数之后、相邻两份在色调h分量上交点所表征的每一个颜色均作为一个标准色,实现在调整图像颜色时,可以调整多个标准色的hsv值,从而能够针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,以实现图像颜色的调整。通过调整hsv空间中多路标准色来调整图像的颜色,能够实现精确的调整和校正图像颜色。
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
1.一种调整图像颜色的方法,其特征在于,所述方法包括:
获取图像中每一像素点的rgb值;
获取各个标准色hsv值的增益量,其中,所述标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色;
针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,其中,所述目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
2.如权利要求1所述的方法,其特征在于,所述利用目标标准色hsv值的增益量调整像素点的rgb值的步骤,包括:
对像素点的rgb值进行归一化,得到像素点的r'g'b'值;
将像素点的r'g'b'值转化为hsv值;
利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量;
利用所得到的增益量调整像素点的hsv值,得到像素点的h's'v'值;
将像素点的h's'v'值转化为r"g"b"值,并将像素点的rgb值更新为r"g"b"值。
3.如权利要求2所述的方法,其特征在于,所述利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量的步骤,包括:
分别确定像素点与各个目标标准色在色调h分量上的夹角;
根据所确定的夹角为各个目标标准色分配权重;
利用目标标准色hsv值的增益量、目标标准色的hsv值以及目标标准色的权重进行差值计算,得到像素点hsv值的增益量。
4.如权利要求3所述的方法,其特征在于,所述根据所确定的夹角为各个目标标准色分配权重的步骤,包括:
按照所确定的夹角越大分配的权重越小为分配原则,根据所确定的夹角为各个目标标准色分配权重。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
分别获取黑色rgb值的增益量和白色rgb值的增益量;
利用黑色rgb值的增益量、白色rgb值的增益量、黑色的rgb值以及白色的rgb值进行差值计算,得到像素点rgb值的增益量;
利用像素点rgb值的增益量调整像素点的rgb值。
6.一种调整图像颜色的装置,其特征在于,所述装置包括:
第一获取模块,用于获取图像中每一像素点的rgb值;
第二获取模块,用于获取各个标准色hsv值的增益量,其中,所述标准色为hsv颜色空间中基于色调h分量将hsv颜色空间划分为预设份数后、相邻两份在色调h分量上交点所表征的颜色;
调整模块,用于针对每一像素点,利用目标标准色hsv值的增益量调整像素点的rgb值,其中,所述目标标准色为hsv颜色空间中在h分量上与像素点相邻的标准色。
7.如权利要求6所述的装置,其特征在于,所述调整模块,包括:
得到子模块,用于对像素点的rgb值进行归一化,得到像素点的r'g'b'值;
转化子模块,用于将像素点的r'g'b'值转化为hsv值;
计算子模块,用于利用目标标准色hsv值的增益量和目标标准色的hsv值进行差值计算,得到像素点hsv值的增益量;
调整子模块,用于利用所得到的增益量调整像素点的hsv值,得到像素点的h's'v'值;
更新子模块,用于将像素点的h's'v'值转化为r"g"b"值,并将像素点的rgb值更新为r"g"b"值。
8.如权利要求7所述的装置,其特征在于,所述计算子模块,包括:
确定单元,用于分别确定像素点与各个目标标准色在色调h分量上的夹角;
分配单元,用于根据所确定的夹角为各个目标标准色分配权重;
计算单元,用于利用目标标准色hsv值的增益量、目标标准色的hsv值以及目标标准色的权重进行差值计算,得到像素点hsv值的增益量。
9.如权利要求8所述的装置,其特征在于,所述分配单元,还用于
按照所确定的夹角越大分配的权重越小为分配原则,根据所确定的夹角为各个目标标准色分配权重。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
技术总结