MAXDISTCOLOR生成最大区分颜色的RGB颜色图。
MAXDISTCOLOR有两个必需的输入参数:
1.所需的颜色数量。
2.从sRGB转换为统一颜色空间的函数句柄(如CIELAB, DIN99, CAM02-UCS, CAM16-UCS, OSA-UCS等)。
可选输入参数允许用户:
*限制亮度范围。
*限制色度范围。
*提供被排除的颜色的颜色图(例如背景色)。
*提供要包括的颜色的颜色图(例如公司配色方案)。
*指定RGB位深度(例如,每个通道8位,TrueColor)。
*对色彩图进行排序(例如,通过色相,亮度,最远的颜色等)。
有关必需和可选输入参数的解释,请参见Examples选项卡(HTML文档)。
% % % %的警告
在大范围内要求多种颜色可能需要数小时/几天/..的处理。有些期权组合是不容易处理的。
%%示例%%
>> n = 5;
>>fun=@(m)sRGB_to_OSAUCS(m,真,真);%推荐OSA-UCS
>> rgb = maxdistcolor(N,fun)
rgb=
1.0000 0.0000 1.0000
0.0000 0.0000 1.0000
0.3016 0.0000 0.3492
1.0000 0.0000 0.0000
0.0000 0.4331 0.0000
>>轴('ColorOrder',rgb,'NextPlot','replacechildren')
> X = linspace(0,pi*3,1000);
>>Y=bsxfun(@(x,n)n*sin(x+2*n*pi/n),x(:),1:n);
> >的情节(X, Y,“线宽”,4)
>> maxdistcolor(5,fun, 'exc',[0,0,0]) %排除黑色(例如背景)。
ans =
1.0000 0.0000 1.0000
0.0000 0.0000 1.0000
0.0000 1.0000 0.0000
1.0000 0.0315 0.0000
0.7619 0.8189 1.0000
>> maxdistcolor(5,fun, 'inc',[1,0,1]) %包含品红。
ans =
1.0000 0.0000 1.0000%品红
0.0000 0.0000 1.0000
0.3016 0.0000 0.3492
1.0000 0.0000 0.0000
0.0000 0.4331 0.0000
> > (rgb、实验室)= maxdistcolor (6 @sRGB_to_CIELab Lmin, 0.5,“Lmax”,0.7)
rgb=
0.7619 0.0000 1.0000
1.0000 0.0000 0.0000
0.0000 0.7795 0.0000
0.0000 0.5591 1.0000
0.8254 0.6457 0.0794
0.8254 0.2835 0.5397
实验室=
50.3682 89.7713 -77.4020
53.2408 80.0925 67.2032
69.9953 -71.4448 68.9550
58.7226 09.8163 -64.4545
69.9008 05.1696 70.3753
52.1421 59.8639 -06.6541
%%动机%%
MAXDISTCOLOR的开发是由以下因素推动的:
1.现有的“独特颜色”生成器使用不充分的颜色空间和/或算法,导致不佳的颜色清晰度。
2.实现具有8GB RAM的64位PC可以在整个1600万色的24位TrueColor上运行,允许整洁简单的矢量化MATLAB代码。
这两种动机与两个非琐碎任务紧密相关,这两个任务必须得到解决,才能产生最大程度的不同颜色:
1.寻找最佳颜色组合的算法需要找到全局最优值,这是一项随着所需颜色数量和色域大小呈指数增长的任务。在MAXDISTCOLOR中,我使用了一个简单贪婪算法的重复应用来寻找最大不同的颜色:重复贪婪算法不是特别快,也不是寻找全局最优值的一般解决方案,但幸运的是,它对规则采样的RGB立方体给出了很好的结果。请注意,该算法不包含随机数:它是完全确定的,可重复的。
2.定义一个真正统一的颜色空间:古老的CIELAB(我能找到的大多数现有工具都使用它)并不是真的非常统一。对于MAXDISTCOLOR,我推荐OSA-UCS或CAM02-UCS或CAM16-UCS,它们都能提供更准确的颜色距离测量。
引用作为
斯蒂芬(2021)。最大不同颜色发生器(//www.tianjin-qmedu.com/matlabcentral/fileexchange/70215-maximally-distinct-color-generator), MATLAB中央文件交换。检索.
MATLAB版本兼容性
平台的兼容性
窗户 马科斯 Linux标签
确认
启发:产生最大限度的感知鲜明的颜色,颜色光谱:创建N种不同的打印颜色,托尔颜色,在RGB和颜色名称之间转换,CubeHelix彩色地图生成器:美观且多功能!,ColorBrewer:吸引人且与众不同的彩色地图,打印的自定义颜色,直观的RGB颜色值从XKCD,美丽且可分辨的线条颜色+彩色地图,颜色名称识别:fuzzycolor