当前位置: 首页 > 专利查询>吴亚西专利>正文

一种基于RGB空间的不定长颜色列表生成算法制造技术

技术编号:39183736 阅读:8 留言:0更新日期:2023-10-27 08:31
本发明专利技术公开了一种基于RGB空间的不定长颜色列表生成算法,属于颜色列表生成算法技术领域。首先颜色个数小于等于8时,将RGB三个通道分别使用0和1进行排列组合,当数量大于8则对各个通道的颜色值进行中值切分来产生新的尽可能与已有数值差值更大的数值,将0和1加入“旧数值列表”,同时取0和1的中值,即0.5,加入“新数值列表”,然后分别在RGB三个通道对“旧数值列表”和“新数值列表”的选择进行排列组合,无论产生多少颜色都能保证在现有颜色列表长度下尽可能保持不同颜色之间的差异最大,对于工业渲染中需要按照id给不同物体赋予不同颜色的情况下十分实用,并且可以在颜色列表长度上更加灵活,可以根据实际使用需求随时加长或者截短。者截短。者截短。

【技术实现步骤摘要】
一种基于RGB空间的不定长颜色列表生成算法


[0001]本专利技术涉及颜色列表生成算法
,更具体地说,涉及一种基于RGB空间的不定长颜色列表生成算法。

技术介绍

[0002]RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一,RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于三者亮度之总和,越混合亮度越高,即加法混合,红、绿、蓝三盏灯的叠加情况,中心三色最亮的叠加区为白色,加法混合的特点:越叠加越明亮,红、绿、蓝三个颜色通道每种颜色各分为256阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色灰度数值相同时,产生不同灰度值的灰色调,即三色灰度都为0时,是最暗的黑色调;三色灰度都为255时,是最亮的白色调,在数字模型可视化领域中,时常会出现需要将不同的物体按照一些非视觉信息(比如物体编号,材质编号等信息)进行视觉上的区分的需求,通常解决方案为给每个区分出来的类别标记为一个单独的颜色。
[0003]因此,我们需要一个颜色之间差别较大的颜色列表用来分配给每一个类别的物体,目前可用的方案主要包括随机颜色和预设颜色列表两种,随机颜色方案顾名思义,使用随机数生成每个ID对应的颜色。通常是通过生成三个0~255(包括0和255)之间的随机数,并将它们填入颜色的RGB通道来生成颜色值,成随机颜色,这种方法简单快速,但是容易产生一些自己不太满意的颜色,比如纯的黑色、白色等会与文本颜色一样的颜色,预设颜色列表方案则是人工挑选一系列差异较大的颜色,并将它们组成一个列表,在使用时,按照列表的顺序逐个抽取颜色进行分配。
[0004]现有颜色列表算法,依然存在下列问题:在随机颜色方案中,由于完全依赖随机数生成颜色,可能会出现相近颜色的情况。这可能导致视觉上的混淆,特别是当大量的ID需要进行颜色分配时,使用随机颜色因为每个类别的颜色都是独立的随机计算,所以有一定概率出现比较接近的颜色,降低了辨识度。
[0005]另一方面,预设颜色列表方案在一些情况下也有局限性,当需要分配的ID数量超过预设颜色列表的长度时,就会出现不足的情况,比如预设颜色列表的情况下,则存在一个列表长度限制,如果需要的颜色数量超过列表的长度,就无法满足需求。
[0006]鉴于此,我们提出一种基于RGB空间的不定长颜色列表生成算法。

技术实现思路

[0007]1.要解决的技术问题
[0008]本专利技术的目的在于提供一种基于RGB空间的不定长颜色列表生成算法,以解决上

技术介绍
中提出的问题。
[0009]2.技术方案
[0010]1.一种基于RGB空间的不定长颜色列表生成算法,其特征在于:包括算法实现步骤如下:
[0011]S1:当颜色小于等于八个时:首先颜色个数小于等于8时,将RGB三个通道分别使用0和1进行排列组合,其中RGB均为0时即时黑色保留为背景色,其他7个颜色加入颜色列表。
[0012]S2:当颜色大于八个时:当数量大于8则对各个通道的颜色值进行中值切分来产生新的尽可能与已有数值差值更大的数值,将0和1加入“旧数值列表”,同时取0和1的中值,即0.5,加入“新数值列表”。
[0013]S3:数值划分:然后分别在RGB三个通道对“旧数值列表”和“新数值列表”的选择进行排列组合,方便通过各个通道新生成的数值参与旧数值混合进行颜色生成,其中注意过滤掉三个通道都使用旧数值的情况,即最终有7种组合,且每种组合中至少包含一个通道选择了“新数值列表”。
[0014]S4:颜色排列生成:然后针对每种组合中的可选数字进行全排列组合,并将结果加入颜色列表,方便生成任意长度的颜色列表。
[0015]S5:中值切分排列:如果此时颜色列表长度依然不够,则将0.5从“新数值列表”移除,加入“旧数值列表”,并将0.25和0.75加入“新数值列表”,重复以上操作继续扩展颜色列表,以此类推,直到颜色列表长度满足需求。
[0016]3.有益效果
[0017]相比于现有技术,本专利技术的优点在于:与使用随机颜色相比,本专利技术中的算法不会产生重复颜色,且无论产生多少颜色都能保证在现有颜色列表长度下尽可能保持不同颜色之间的差异最大,对于工业渲染中需要按照id给不同物体赋予不同颜色的情况下十分实用;
[0018]与预设颜色列表相比,本专利技术中的算法可以在颜色列表长度上更加灵活,因为主要的颜色都提前到列表前列,所以列表长度可以根据需求灵活调整,可以根据实际使用需求随时加长或者截短。
附图说明
[0019]图1为本专利技术的当颜色小于等于八个时流程示意图;
[0020]图2为本专利技术的当颜色大于八个时流程示意图;
具体实施方式
[0021]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0022]在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0023]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设
置有”、“套设/接”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0024]请参阅图1

2,本专利技术提供一种技术方案:
[0025]一种基于RGB空间的不定长颜色列表生成算法,包括算法实现步骤如下:
[0026]S1:当颜色小于等于八个时:首先颜色个数小于等于8时,将RGB三个通道分别使用0和1进行排列组合,其中RGB均为0时即时黑色保留为背景色,其他7个颜色加入颜色列表。
[0027]在一些实施例中:在RGB颜色模式中,当RGB取值都为0时,即没有任何光,则显示为黑色。当RGB的值都为10时,则显示为白色,颜色理解成光线,太阳光约等于白色,可以从太阳光折射出七彩,没有光,自然就是黑色,还有就屏幕来说,R=0,G=0,B=0,屏幕不亮,自然是黑色的。R=10,G=10,B=10,屏幕全亮,就是白色,作为黑色作为背景色使得颜色更加显目。
[0028]S2:当颜色大于八个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RGB空间的不定长颜色列表生成算法,其特征在于:包括算法实现步骤如下:S1:当颜色小于等于八个时:首先颜色个数小于等于8时,将RGB三个通道分别使用0和1进行排列组合,其中RGB均为0时即时黑色保留为背景色,其他7个颜色加入颜色列表。S2:当颜色大于八个时:当数量大于8则对各个通道的颜色值进行中值切分来产生新的尽可能与已有数值差值更大的数值,将0和1加入“旧数值列表”,同时取0和1的中值,即0.5,加入“新数值列表”。S3:数值划分:然后分别在RGB三个通道对“旧数值列表”和“新数值列表”的选择进...

【专利技术属性】
技术研发人员:吴亚西
申请(专利权)人:吴亚西
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1