最大明显的颜色生成器

버전2.4.2(459 kb)작성자: Stephen23
在RGB色图中最大限度地生成不同的颜色。

다운로드수:1.2k

업데이트날짜:2022/10/17

라이선스보기

MAXDISTCOLOR生成最大不同颜色的RGB色图。
MAXDISTCOLOR有两个必需的输入参数:
  1. 所需的颜色数量。
  2. 一个函数句柄,从sRGB转换到某种统一的颜色空间(例如CIELab, OKLab, DIN99, DIN99o, os - ucs, CAM02-LCD, CAM02-UCS, CAM16-LCD, CAM16-UCS等)。
可选输入参数允许用户:
  • 限制亮度范围。
  • 限制色度范围。
  • 提供要排除的颜色的色图(例如背景色)。
  • 提供要包含的颜色的色图(例如公司配色方案)。
  • 指定RGB位深度(例如每个通道8位,TrueColor)。
  • 对颜色图进行排序(例如,按色相、色度、明度、最远的颜色等)。
请参阅Examples选项卡(HTML文档),以了解所需和可选输入参数的解释。
警告
从大色域中请求许多颜色可能需要几个小时/几天/…的处理。有些选项组合不容易控制。
例子
>> n = 5;
>> fun = @sRGB_to_OKLab;
>> rgb = maxdistcolor(N,fun)
rgb =
0 0 0.8095
1.000 0.3858 0
0.8254 0 1.0000
0.4286 0 0.0159
0 0.8189 0
> >轴(“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,有趣,“exc”(0, 0, 0))排除黑色(例如背景)。
ans =
1.0000 1.0000 1.0000
00 1.0000
0 0.6772 0
1.0000 0.1969 1.0000
0.5238 0 0.0635
> > maxdistcolor(5,有趣,“公司”[1, 0, 1])包括洋红色。
ans =
1.0000 0 1.0000% <-洋红色!
0 0.8583 0
0.1111 0 1.0000
0 0.2677 0
0.8254 0.3858 0
>> [rgb,Lab] = maxdistcolor(6,@sRGB_to_CIELab,“Lmin”, 0.5,“Lmax”, 0.7)
rgb =
0.7619 0 1.0000
1.0000 0
0 0.7795 0
0 0.5591 1.0000
0.8254 0.6457 0.0794
0.8254 0.2835 0.5397
实验室=
50.3665 89.7885 -77.4167
53.2329 80.1093 67.2201
69.9972 -71.4464 68.9566
58.7262 9.8285 -64.4614
69.8987 5.1700 70.3789
52.1378 59.8754 -6.6658
动机
MAXDISTCOLOR的开发是由以下因素推动的:
  1. 现有的“不同颜色”生成器使用了不适当的颜色空间和/或算法,导致颜色不理想。
  2. 具有> 8gb RAM的64位pc可以在整个1600万种颜色的24位TrueColor上运行,允许整洁和简单的向量化MATLAB代码。
这两个动机与两个重要任务紧密相关,为了产生最大程度上不同的颜色,必须解决这两个任务:
  1. 寻找最佳颜色组合的算法需要找到全局最优,这是一项随着请求颜色的数量和色域大小呈指数增长的任务。在MAXDISTCOLOR中,我重复应用了一个简单的贪婪算法来寻找最大不同的颜色:重复贪婪算法不是特别快,也不是寻找全局最优的通解,但幸运的是,它对定期采样的RGB立方体给出了良好的结果。注意,这个算法不包含随机数:它是完全确定的和可重复的。
  2. 定义一个真正统一的色彩空间:可敬的CIELab(我能找到的大多数现有工具都在使用)并不是真的很统一,特别是在蓝色/绿色周围。对于MAXDISTCOLOR,我推荐CAM02-LCD或CAM02-UCS或CAM16-LCD或CAM16-UCS或OKLab或OSA-UCS,所有这些都提供了更准确的颜色距离测量。

化学式용양식

Stephen23(2022)。最大明显的颜色生成器(//www.tianjin-qmedu.com/matlabcentral/fileexchange/70215-maximally-distinct-color-generator), MATLAB中央文件交换。검색됨

버전 게시됨 릴리스정보
2.4.2

*色彩空间检测移动到主要功能内。
*改进HTML文档。
*改进显示文本。
*改进状态输出距离计算。

2.4.1

*小的编辑帮助和文档。

测试盒框

*添加OKLab色彩空间转换功能。
*为所有颜色空间转换添加测试函数。
*改进滤波器。
*改进文本。
*修改默认值为[0,0,0;1,1,1]。
* sRGB到XYZ的标准矩阵。

2.3.1

*添加选项'chroma'。
*调整HTML文档。

tripwire

*文本参数可以是字符串标量或字符向量。
*取消对INC和EXC的整数支持万博1manbetx
修复了_VIEW中的INC和EXC表的大小。

2.2.0

*第三个输出是贪婪算法状态信息的结构。

2.1.3

更新图片

2.1.2

更新示例映像。

2.1.1

*拼写错误。

魅惑

*增加OSA-UCS功能。
*将pointcloud添加到_VIEW。
*添加错误id。

2.0.6

*改进FEX示例。

2.0.5

*添加错误代码。

2.0.4

*更新截图

2.0.3

*增加DIN99转换功能。
*改进时间显示。
*基于达到稳定解的迭代限制。
* _VIEW:新的RGB值在色带图。
* _VIEW:在RGB立方体中显示排除的颜色。

2.0.2

固定时间显示。

2.0.1

添加正确的截图。

2.0.0

*使用新的CIECAM02版本文档。
*更快的VIEW功能(仅按需显示图域)。

1.2.0

添加交互式查看器功能

1.1.0

将默认值更改为[6,7,6]位。

1.0.2中

添加FEX图像

1.0.1

向HTML中添加链接。

1.0.0