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,true,true);%推荐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 *π/ 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.实现了64位pc与8gb RAM可以操作的全部1600万种颜色的24位TrueColor,允许整洁和简单的矢量化MATLAB代码。
这两种动机与两个非琐碎任务紧密相关,这两个任务必须得到解决,才能产生最大程度的不同颜色:
1.寻找最佳颜色组合的算法需要找到全局最优的颜色组合,这个任务随着所请求颜色的数量和色域的大小呈指数增长。在MAXDISTCOLOR中,我使用了一个简单的贪婪算法来反复应用来寻找最大清晰的颜色:重复贪婪算法不是特别快,也不是寻找全局最优的一般解决方案,但幸运的是,它对定期采样的RGB立方体给出了良好的结果。注意,该算法不包含随机数:它是完全确定的和可重复的。
2.定义一个真正统一的颜色空间:古老的CIELAB(我能找到的大多数现有工具都使用它)并不是真的非常统一。对于MAXDISTCOLOR,我推荐OSA-UCS或CAM02-UCS或CAM16-UCS,它们都能提供更准确的颜色距离测量。
引用作为
斯蒂芬(2021)。最大明显的颜色生成器(//www.tatmou.com/matlabcentral/fileexchange/70215-maximally-distinct-color-generator), MATLAB中央文件交换。检索.
MATLAB版本兼容性
平台的兼容性
窗户 macOS Linux标签
确认
启发:产生最大限度的感知鲜明的颜色,色彩光谱:创建N个不同的情节色彩,托尔的颜色,在RGB和颜色名称之间转换,CubeHelix色彩地图生成器:美丽和多才多艺!,ColorBrewer:吸引和独特的彩色地图,自定义绘图颜色,直观的RGB颜色值从XKCD,美丽和可分辨的线条颜色+彩图,颜色名称识别:模糊颜色