一种降低对设备像素依赖程度提高颜色取值精度的方法
技术领域
本发明涉及提高颜色取值精度与显示的技术领域,更具体地说,特别涉及一种降低对设备像素依赖程度提高颜色取值精度的方法。
背景技术
随着计算机技术、图像处理技术及各种智能终端的发展和广泛普及,彩色数字技术的应用举足轻重;各种智能设备,甚至普通设备对颜色的精准获取与显示的要求也越来越高,如智能家居彩灯、Photoshop图像处理工具等。
目前,彩色数字图像可以有很多种不同的彩色空间颜色模型来表示,包括HSV颜色模型、HSI颜色模型、RGB颜色模型、CMYK颜色模型、HSL颜色模型、YUV颜色模型等等,它们被广泛应用于自动识别技术(Auto Identification System,AIDS)、数字摄影处理(Digitalphotography processing)、计算机图像显示技术等高新技术领域。在计算机图像处理中,一般采用RGB模型和HSV模型。三原色光模式(RGB color model),是一种基于加色模型和人类视觉的三原色理论建立的彩色空间,将红(Red)、绿(Green)、蓝(Blue)三原色的色光以不同的比例相加,以产生多种多样的色光。主要目的是在电子***中检测,表示和显示图像,比如电视和电脑。在电子时代之前,基于人类对颜色的感知,RGB颜色模型已经有了坚实的理论支撑。HSV是一种将RGB色彩模型中的点在圆柱坐标系中的表示法。这种表示法试图做到比RGB基于笛卡尔坐标系的几何结构更加直观,HSV即色相、饱和度、明度(Hue,Saturation,Value),又称HSB,色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。明度(V),亮度(L),取0-100%。
各类成熟的颜色空间模型为颜色处理提供了坚实的理论支撑和处理方案。但是,以计算机最常用的RGB色彩模型(颜色种类为255*255*255)为例,就目前现有的普通设备包括电脑、平板、手机,像素大小受制于其硬件设备,以及计算机图像处理中具体颜色是三维数据模型这一现实,所有颜色基本无法实现在同一个二维界面显示,以供用户查看和获取;与此同时,各类智能家居设备以及图像处理设备、软件对颜色的精准度要求越来越高。总的来说,传统电脑、手机、平板等设备分辨率参差不齐,对颜色的显示能力各不相同,显示和可以选择的颜色范围比较小,同时精度不高,往往不能满足人们对获取某种精确颜色的要求。
传统的提供用户进行交互的颜色显示和获取的方法中,比较经典的是以Photoshop、ACDSee为代表的图像处理软件的调色板,这些方法大都基于HSV颜色空间模型,HSV彩色空间模型基于人的视觉感知特点,其中色度/相位H表示不同的颜色,如红绿蓝;饱和度S表示颜色的深浅,如深红浅红;亮度V表示颜色的明暗程度,如亮白和暗色。HSV的广泛应用基于他的两个重要属性特点,一是其亮度分量V与图像的彩色信息无关,二是相位H、饱和度S与人感受颜色的方式是紧密相连的,Photoshop、ACDSee等图片处理软件中的取色板将颜色的相位H独立出来,然后在选取颜色相位的基础上,根据颜色的饱和度和亮度绘制一个二维颜色区间,供用户选取具体颜色,该方法对颜色的显示受制于所用设备的像素条件,没有对颜色进行更精细的显示,很多颜色值(R、G、B)也不能在这些图像处理工具的调色板中获取;另外,该方法是将颜色的相位H值独立分开出来选取,在确定H值后根据饱和度和亮度重新绘制颜色区域,这样一来,在同一个二维颜色区域中,HSV三个最多有两个变量,这对颜色的显示和获取都有很大的欠缺。
因此,设计一种能摆脱设备性能依赖,且能在二维平面显示和获取任意一种颜色的方法尤为必要。
发明内容
本发明的目的在于提供一种降低对设备像素依赖程度提高颜色取值精度的方法,采用多次放大的方法,通过改变显示颜色的单位精度大小,降低智能设备像素对显示颜色种类范围的限制,采用HSV和RGB颜色空间模型相结合的方法,向用户展示尽可能多的颜色和获取更精确的颜色值域,满足各种不同应用场合(包括智能家居设备、图像处理设备、图像识别等)和客户对颜色的精准显示和提高颜色取值精度的要求。
为了达到上述目的,本发明采用的技术方案如下:
一种降低对设备像素依赖程度提高颜色取值精度的方法,包括以下步骤,
第一步、初始化第一颜色方案,选择颜色取色并获取参考颜色数据;
第二步、判断第一步中的参考颜色数据是否为目标颜色,若是则获取该目标颜色,否则执行第三步;
第三步、提高第一颜色方案精度,选择精确的颜色color(h,s,v),并获取参考颜色数据;
第四步、判断第三步中的参考颜色数据是否为目标颜色,若是则获取该目标颜色,否则执行第五步;
第五步、第二颜色方案显示,选择颜色并获取参考颜色数据;
第六步、判断第五步中的参考颜色数据是否为目标颜色,若是则获取该目标颜色,否则执行第七步;
第七步、第三颜色方案显示,选择颜色并获取参考颜色数据,将该参考颜色作为目标颜色。
进一步地,所述第一步中的第一颜色方案的界面为二维H/S/V调色板,在该二维H/S/V调色板中,纵坐标为相位H坐标变量,在横坐标上,饱和度S和亮度V在不同的坐标范围分别作为变量或者常量;
所述第五步中的第二颜色方案的界面为二维V/S调色板,在该二维平面调色板中,横坐标为饱和度S变量,纵坐标为亮度V变量;
所述第七步中的第三颜色方案的界面采用渐变的形式绘制RGB调色板。
进一步地,该方法采用HSV颜色空间模型,在一个二维平面区域展示可见颜色,该区域中颜色相位H、饱和度S和亮度V均有相应的变化;
首先,用户选定某部位颜色,设备根据用户所选颜色获取该颜色参考数据,并显示该数据下颜色情况;若用户需选择该颜色范围更精确的目标颜色,设备自动取出该颜色一定范围的区域,对该区域颜色进行显示;
然后,在上述步骤的基础上,用户再次选定精确的颜色后,设备根据用户所选颜色获取该颜色参考数据,并显示该数据下颜色情况;若用户需选择该颜色范围更精确的目标颜色,设备根据用户所选定颜色,重新绘制改颜色在不同饱和度和亮度下的颜色情况;
最后,在上述步骤的基础上,设备根据用户所选颜色获取该颜色参考数据,并显示该数据下颜色情况,若用户需选择该颜色范围更精确的目标颜色;设备根据用户选择的颜色,获取一定区域边界四个颜色对应的RGB值,用渐变渲染的方式再次对颜色进行更精确的显示,此时,用户可以看到该颜色下更精准的颜色情况,进行更精确的颜色获取动作。
与现有技术相比,本发明的优点在于:本发明降低对设备像素依赖程度提高颜色取值精度的方法,采用多次提高精度显示调色板的方法,实现在同样硬件设备条件下,对颜色进行更大范围的显示和更精确的颜色获取(精准的颜色获取主要体现在颜色的RGB值获取方面),在一定程度上摆脱了对设备像素水平的依赖,满足了用户对更精确颜色获取的需要。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明降低对设备像素依赖程度提高颜色取值精度的方法的流程图;
图2是本发明降低对设备像素依赖程度提高颜色取值精度的方法中基于HSV模型的第一颜色方案HSV调色板;
图3是本发明降低对设备像素依赖程度提高颜色取值精度的方法中各个颜色方案下选择颜色示意图;
图4是本发明降低对设备像素依赖程度提高颜色取值精度的方法在第一颜色方案H/S/V调色板中的仿真效果图。
具体实施方式
下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
为了使本发明方法的目的、方案及优点更加清晰,以下结合附图1~4及实施例,对本发明方法的一种降低对设备像素依赖程度提高颜色取值精度的方法作进一步详细说明。值得注意的是,以下所描述的具体实例仅用于解释发明方法内容,并不用于限定本发明方法。
本发明方法中所使用的HSV和RGB彩色空间模型之间可以相互转换,在不同的调色板界面采用不同的颜色显示方式来达到比较好的取色界面效果。RGB模式又称三原色光模式,三原色光显示主要用于电视和计算机的显示器,有阴极射线管显示、液晶显示和等离子显示等方法,将三种原色光在每一象素中组合成从全黑色到全白色之间各种不同的颜色光,目前在计算机硬件中采取每一象素用24比特(bit)表示的方法,所以三种原色光各分到8比特,每一种原色的强度依照8比特的最高值28分为256个值。H用这种方法可以组合16777216种颜色。HSV模型通常用于计算机图形应用中,HSV在数学上定义为在RGB空间中的颜色的R、G和B的坐标的变换。两者之间的转换公式有多种表达方式,其原理都是一样的,这里仅取其如下一个转换公式进行讨论,方便在不同设备上实现该方法提供一个参考公式。
设(R,G,B)分别是一个颜色的红、绿和蓝坐标,它们的值是在0到255之间的实数,对应的HSV空间中的(H,S,V)值,这里H∈[0°,360°],是色相角,而S,V∈[0,1]分别是是饱和度和亮度,RGB转化到HSV的计算公式为:
max=max(R,G,B) ⑴
min=min(R,G,B) ⑵
V=max; ⑸
类似的,给定在HSV中(H,S,V)值定义的一个颜色,带有如上的H,和分别表示饱和度和明度的S和V,在RGB空间中对应的(R,G,B)三原色可以计算为(R,G,B变化于0到1之间),从HSV到RGB的计算方法为:
v=V ⑻
p=V×(1-S) ⑼
q=V×(1-f×S) ⑽
t=V×(1-(1-f)×S) ⑾
本发明的降低对设备像素依赖程度提高颜色取值精度的方法,其设计方案如下:图1为所述第一颜色方案界面,图2为基于HSV模型的第一颜色方案HSV调色板,该二维平面调色板纵坐标为相位H坐标变量,横坐标上,饱和度S和亮度V在不同的坐标范围分别作为变量或者常量,在中间虚线部分饱和度S=1和亮度V=1,对相应的颜色进行绘制,如图2所示,图4为图2仿真效果图。受制于设备像素等原因,此时,纵坐标相位的单位精度为h1=360°/纵坐标像素,横坐标的单位精度为sl1=1/横坐标像素。
用户在H/S/V调色板选择颜色,***为用户提供用户所选颜色的参考颜色及显示相关数据。若该参考颜色为所需的目标颜色,用户选择结束取色过程;若该参考颜色为目标颜色范围值,***则将用户所选颜色一定范围的颜色进行精度更高的显示,此时,横坐标表示的变量、常量不变,纵坐标表示的相位单位精度为h2=x/纵坐标像素,x<<360°,很明显,h2<h1。用户可以观察到更清晰的待选颜色分布情况。用户再次在H/S/V调色板选择颜色,***为用户提供参考颜色及显示相关数据,此时用户获得较精确的color(h,s,v)值。若该color(h,s,v)为所需的目标颜色,用户选择结束取色过程;若该color(h,s,v)为目标颜色范围值,***采用第二颜色方案,显示该color(h,s,v)在不同亮度和饱和度下的颜色情况。
在第二颜色方案中,该方案调色板横坐标为饱和度S变量,纵坐标为亮度V变量,绘制color(h,s,v)进行不同亮度和饱和度的下的V/S调色板。用户选择颜色,***为用户提供参考颜色及显示相关数据。若该参考颜色为所需的目标颜色,用户选择结束取色过程;若该参考颜色为目标颜色范围值,设备获取该参考颜色一定大小矩形四个临界color值分别为Color1、Color2、Color3、Color4,进行第三颜色方案显示。
在第三颜色方案中,该方案调色板显示区域四个顶点颜色分别为Color1、Color2、Color3、Color4,采用渐变的形式绘制RGB调色板,经过以上步骤,用户可以在该界面获取误差值极小的具体颜色,并由设备获取该颜色,以数字及图片的形式向用户显示该颜色及其RGB和HSV值。
图3所示为各个颜色方案下选择颜色示意图,左边大矩形区域为调色板;虚线矩形所示为用户选择颜色后,***自动获取的目标颜色范围;右上角小矩形及对应RGB、HSV为用户选择颜色后,***为用户提供的参考颜色及其相关数据。
方法对所有的颜色分布情况一共进行了三次提高颜色显示精度的处理,在每一个取色板界面用户选取颜色后,设备都会提供一个参考颜色,并将对应的RGB/HSV值用数字和颜色图片的向用户展示。方法实现了提高颜色显示范围和取色精度的功能,通过改变显示的单位精度大小,降低了设备像素对显示颜色范围的限制,采用HSV和RGB颜色空间模型相结合的方法,向用户展示尽可能多的颜色和获取更精确的颜色值域,满足各种不同应用场合(包括智能家居设备、图像处理设备、图像识别、各种高低像素游戏设备等)客户对精准颜色显示和取值的要求。
虽然结合附图描述了本发明的实施方式,但是专利所有者可以在所附权利要求的范围之内做出各种变形或修改,只要不超过本发明的权利要求所描述的保护范围,都应当在本发明的保护范围之内。