我有一个网络,其中节点是分层定义的(通过UN SITC coding)。在我的应用程序中,每个节点都有四个标识数字,它们具有递增的层次特异性(例如,请参阅产品7431),但我定义的网络不仅仅是明显的层次结构。我试图做的是对节点进行分层着色,但根据我的网络计算来布置它们,看看这两个节点在多大程度上重合。
一般来说,我正在寻找一种方法来生成N个调色板,这些调色板在视觉上尽可能地区别于一个和另一个(显然,随着N的增长,它的效率越来越低),然后将它们划分为子调色板,直到我达到所需的层次深度。
具体地说,这意味着为第一个数字选择10个基色,并为每个数字生成K<=10颜色调色板,其中K是第二个数字可以采用的可能值的数量,第三和第四个数字也是如此,直到我最终根据节点的层次结构信息对所有节点进行着色。绿色是一种类型,其中特定的绿色阴影定义了与视觉相似性相对应的某些节点系列。
看起来我想要实现的颜色属性是"Analagous“。在HSV/HSL方案中简单地定期拆分色调参数可以实现这一点吗?还是有更好的方法?
我将用Python实现它,但是任何算法基本上都应该是语言不可知的。
发布于 2013-01-01 22:51:32
我解决了一个类似的问题(可能与您正在做的相反),我比较了不同图像的光谱输出,以确定基于相似性的排序。
在摆弄了几个星期的RGB颜色立方体之后,我放弃了,转而使用HSV --再也不回头了。我会找出那些定义颜色的色调,然后根据这些色调进行排列,这样你就不会有两种类似黄色的颜色-相反,你会从x开始,然后添加k的倍数,这样你就会有这样的东西:
x is red
x+k is yellow
x+2k is green
... so forth在这种情况下,我会细分并可能对“值”和“饱和度”进行少量的置换,以增加您可以使用的颜色数量。
如果您最终要在系统之间进行转换,我使用colorsys没有任何问题。
https://stackoverflow.com/questions/8833214
复制相似问题