公开/公告号CN112529972A
专利类型发明专利
公开/公告日2021-03-19
原文格式PDF
申请/专利权人 泰山信息科技有限公司;
申请/专利号CN202011035224.8
申请日2020-09-27
分类号G06T7/90(20170101);G06F17/11(20060101);
代理机构11530 北京高航知识产权代理有限公司;
代理人乔浩刚
地址 271000 山东省泰安市泰山区明堂路泰山软件园1-4层
入库时间 2023-06-19 10:19:37
技术领域
本发明涉及计算机领域,具体为一种颜色RGB值转换名称的方法。
背景技术
办公软件作为一种注重视觉化的信息呈现方式,恰当的使用颜色在提高信息的观感和品位方面提供了重要的作用,现在一般都是通过RGB值直接输出颜色信息,但是这种新型并不直观,很多人都是需要手头的点颜色直观来调整,而不知道数值怎么去调整。
RGB模型:RGB是常用的一种彩色信息表达方式,它使用红、绿、蓝三原色的亮度来定量表示颜色。
HSV模型:HSV是个六棱锥模型。这个模型中颜色的参数分别是:色调(H), 饱和度(S),亮度(V)。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种根据颜色RGB值正确识别出颜色名称,简单、实用、高效,提高了用户体验的颜色RGB值转换名称的方法。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种颜色RGB值转换名称的方法,包括如下步骤;
步骤1、输入目标颜色的RGB数值;
步骤2、将输入的RGB数值转换成HSV模型;
步骤3、读取颜色库文件到内存中,与颜色库中的所有颜色进行相似度比较并取得相似度最大的颜色索引;
步骤4、根据颜色索引获得颜色名称。
本发明改进有,上述RGB值转换HSV值流程,具体如下;
步骤2-1、求出输入的RGB数值的R,G,B中最大值MAX值,MAX赋值给V;
步骤2-2、求出输入的RGB数值的R,G,B中最小值MIN值;
步骤2-3、判断MAX是否与MIN相等,如果判断成立,则进行步骤2-4;如果不成立,则转2-5;
步骤2-4、S赋值0,H赋值0,转步骤2-12;
步骤2-5、判断MAX是否与R相等,如果判断成立,转步骤2-6;否,转步骤2-9;
步骤2-6、判断G是否与大于等于B,如果判断成立,转步骤2-7;否,转步骤2-8;
步骤2-7、执行公式
步骤2-8、执行公式
步骤2-9、判断MAX是否与G相等。如果判断成立,转步骤2-10;否,转步骤2-11;
步骤2-10、执行公式
步骤2-11、执行公式
步骤2-12、结束。
本发明改进有,颜色库操作流程读取包括以下步骤;
步骤4-1、读取颜色库文件到内存;
步骤4-2、对内存中的颜色库通过界面进行功能操作:包括增加、删除和修改;
步骤4-3、最终修改后的数据保存到颜色库文件。
本发明改进有,所述步骤3所有颜色进行相似度比较的步骤如下;
步骤3-1、开始;
步骤3-2、设置变量min=0,index=-1;
步骤3-3、给计数器变量count赋值为1;
步骤3-4、判断count小于等于颜色库总颜色数量,如果判断成立,转步骤3-5;否,转步骤3-12;
步骤3-5、取出颜色库中第count个颜色RGB值并转换成HSV值;
步骤3-6、执行公式x=r*V*S*cosH、y=r*V*S*sinH、 z=h*(1-V),计算出颜色库中第count个颜色和目标颜色的空间坐标;
步骤3-7、执行公式
步骤3-8、判断空间距离是否小于min。如果判断成立,转骤3-9;否,转骤3-11;
步骤3-9、使用变量min记录最小颜色距离;
步骤3-10、使用变量index记录颜色库中空间距离最小的颜色索引;
步骤3-11、计数器变量count+1,转步骤3-4;
步骤3-12、返回index值;
步骤3-13、结束。
本发明改进有,颜色索引获取颜色名称步骤如下:
步骤4-1、开始;
步骤4-2、取得相似度最大的颜色索引index;
步骤4-3、读取颜色库文件到内存;
步骤4-4、给计数器变量count赋值为1;
步骤4-5、判断count是否小于等于颜色库总颜色的数量,如果判断成立,转步骤4-6;否,转步骤4-11;
步骤4-6、获取第count索引的颜色信息;
步骤4-7、获取颜色信息中的颜色索引;
步骤4-8、判断第count个颜色信息中的颜色索引是否等于输入的颜色索引值,如果判断成立,转步骤4-9;否,转步骤4-10;
步骤4-9、记录第count个颜色信息中的颜色名称;
步骤4-10、计数器变量count+1,转步骤4-5;
步骤4-11、返回记录的颜色名称;
步骤4-12、结束。
(三)有益效果
与现有技术相比,本发明提供了一种颜色RGB值转换名称的方法,具备以下有益效果:
本发明将给定的任意有效的RGB值转换成颜色名称,例如,给定颜色的 RGB值(255,192,203),能得到相应的颜色名称“粉红”,并且提供一个界面,让用户可以通过界面去操作,根据输入的RGB值转换相应的颜色名称,进一步的,用来将目标颜色与颜色库中的所有颜色进行相似度比较,得到相似度最大的颜色索引,转换方式简单、实用、高效。
附图说明
图1颜色RGB值转换名称的方法的流程图;
图2 RGB值转换HSV值流程;
图3颜色库操作流程读取流程图;
图4与颜色库中的所有颜色进行相似度比较流程图;
图5颜色索引获取颜色名称流程图;
图6为本发明的颜色输入界面图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明用到的公式具体如下:
x=r*V*S*cosH--------公式(6)
y=r*V*S*sinH--------公式(7)
z=h*(1-V)--------公式(8)
请参阅图1,本发明的一种颜色RGB值转换名称的方法,包括如下步骤;
步骤1、开始;
步骤2、输入目标颜色的RGB;
步骤3、转换成HSV模型;
步骤4、读取颜色库文件到内存中;
步骤5、与颜色库中的所有颜色进行相似度比较;
步骤6、取得相似度最大的颜色索引;
步骤7、根据颜色索引获得颜色名称;
步骤8、结束。
RGB颜色空间相对简单,也最为普遍,就分为三个颜色通道,分别为红色,绿色,蓝色这三种基本色调的值,然后将这三个颜色融合在一起,也就成为一种颜色,RGB比较颜色之间的相似度时,存在很大的问题,不建议直接使用,因为往往一个通道的一点改变,会导致最后融合在一起的颜色发生巨大变化,而如果三个通道的同时改变,却只会使最后的明暗发生变化,色调并不会产生巨大变化。
所以,这里要将RGB模型转换成HSV模型,HSV是个六棱锥模型,这个模 型中颜色的参数分别是:色调(H),饱和度(S),亮度(V);
参照图2,RGB值转换HSV值流程,具体如下;
步骤2-1、开始;
步骤2-2、RGB值输入;
步骤2-3、求出R,G,B中最大值MAX值,MAX赋值给V;
步骤2-4、将MAX的值赋给V;
步骤2-5、求出R,G,B中最小值MIN值;
步骤2-6、判断MAX是否与MIN相等,如果判断成立,则实现步骤2-7;否,转步骤2-8;
步骤2-7、S赋值0,H赋值0,转步骤2-15;
步骤2-8、判断MAX是否与R相等,如果判断成立,转步骤2-9;否,转步骤2-12;
步骤2-9、判断G是否与大于等于B,如果判断成立,转步骤2-10;否,转步骤2-11;
步骤2-10、执行公式
步骤2-11、执行公式
步骤2-12、判断MAX是否与G相等。如果判断成立,转步骤2-13;否,转步骤2-14;
步骤2-13、执行公式
步骤2-14、执行公式
步骤2-15、结束。
参照图3,颜色库操作流程读取包括以下步骤;
步骤4-1、开始;
步骤4-2、读取颜色库文件到内存,例如《颜色库.xml》;
步骤4-3、对内存中的颜色库通过界面进行功能操作:增加、删除、修改;
步骤4-4、最终修改后的数据保存到《颜色库.xml》;
步骤4-5、结束;
参照图4,与颜色库中的所有颜色进行相似度比较采用擂台法排序算法,具体流程;
步骤如下;
步骤3-1、开始;
步骤3-2、设置变量min=0,index=-1;
步骤3-3、给计数器变量count赋值为1;
步骤3-4、判断count小于等于颜色库总颜色数量,如果判断成立,转步骤3-5;否,转步骤3-12;
步骤3-5、取出颜色库中第count个颜色RGB值并转换成HSV值;
步骤3-6、执行公式x=r*V*S*cosH、y=r*V*S*sinH、 z=h*(1-V),计算出颜色库中第count个颜色和目标颜色的空间坐标;
步骤3-7、执行公式
步骤3-8、判断空间距离是否小于min。如果判断成立,转步骤3-9;否,转步骤3-11;
步骤3-9、使用变量min记录最小颜色距离;
步骤3-10、使用变量index记录颜色库中空间距离最小的颜色索引
步骤3-11、计数器变量count+1,转步骤3-4;
步骤3-12、返回index值;
步骤3-13、结束。
参照图5,颜色索引获取颜色名称步骤如下:
步骤4-1、开始;
步骤4-2、取得相似度最大的颜色索引index;
步骤4-3、读取颜色库文件到内存;
步骤4-4、给计数器变量count赋值为1;
步骤4-5、判断count是否小于等于颜色库总颜色的数量。如果判断成立,转6;否,转步骤4-11;
步骤4-6、获取第count索引的颜色信息;
步骤4-7、获取颜色信息中的颜色索引;
步骤4-8、判断第count个颜色信息中的颜色索引是否等于输入的颜色索引值。如果判断成立,转步骤4-9;否,转步骤4-10;
步骤4-9、记录第count个颜色信息中的颜色名称;
步骤4-10、计数器变量count+1,转步骤4-5;
步骤4-11、返回记录的颜色名称;
步骤4-12、结束。
参照附图5,上述方法在终端上的体现直接通过软件界面来实现,具体的,所述界面包括RGB值的输入框、转换按钮、颜色名显示框、颜色库配置按钮、算法选择按钮。
参照附图6,本实施例中,本发明的RGB值转换颜色名称界面的RGB值的输入框,可供用户输入颜色RGB值的输入框;
RGB值的输入框:可供用户输入颜色RGB值的输入框。
转换按钮,点击之后,将RGB值的输入框中的RGB值转换成颜色名称显示到颜色名显示框中;
颜色名显示框,点击转换按钮之后,颜色名显示框中会显示相应的颜色名称;
颜色库配置按钮,点击之后,进入颜色库的具体配置;
算法选择按钮,点击之后,可以随时更新和修改算法;一般采用的是快速排序按钮、冒泡排序按钮、选择排序按钮、插入排序按钮及擂台法排序按钮。
本实施例中,所述颜色库也通关软件界面实现,本发明的颜色库配置界面的颜色信息一览,可查阅颜色库中的所有颜色信息,包括颜色索引、RGB值、颜色名称;同时上具有,颜色信息的修改按钮、颜色信息的删除按钮、颜色信息的新增按钮及返回按钮;
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
机译: 使用白值提取将RGB转换为RGBW颜色的系统和方法
机译: 使用白值提取将RGB转换为RGBW颜色的系统和方法
机译: 使用白值提取将RGB转换为RGBW颜色的系统和方法