#color-palette #color-space #palette #k-means #color-themes #themes #oklab

okolors

通过在 Oklab 颜色空间中进行 k-means 聚类,从图像中创建颜色调色板

11 个版本 (7 个破坏性版本)

0.8.1 2024 年 7 月 4 日
0.7.0 2024 年 3 月 21 日
0.5.1 2023 年 10 月 28 日
0.3.0 2023 年 6 月 13 日

#414图像

每月 25 次下载

MIT/Apache

32KB
355

Okolors

Crate Docs

Okolors 可以从图像生成高质量的调色板以满足您的主题需求。它通过将图像的像素转换为 Oklab 颜色空间,然后执行 k-means 聚类来实现。通过使用合适的颜色空间来处理颜色差异以及更精确的聚类算法,这有助于确保生成的调色板真正代表输入图像。

如果您正在寻找 CLI 应用程序,请参阅 Github 页面。

示例

以下是 Okolors 生成的调色板的一些示例(使用默认选项)。

卢浮宫

Louvre Louvre Palette

北海道

Hokkaido Hokkaido Palette

樟宜机场珠宝

Jewel Changi Jewel Changi Palette

捷克克鲁姆洛夫

Český Krumlov Český Krumlov Palette

密歇根湖

Lake Mendota Lake Mendota Palette

性能

Okolors 考虑到性能而设计,即使是对于非常大的图像也能提供快速的结果。以下是通过 CLI 应用程序报告的调色板生成时间,使用了 --verbose 标志,使用了 4 个线程和默认选项。

图像 宽度 高度 独特颜色 时间(毫秒)
卢浮宫 6056 4000 616101 63
北海道 6000 4000 576339 57
樟宜机场珠宝 6000 4000 400788 48
捷克克鲁姆洛夫 4608 3456 743552 51
密歇根湖 3839 5758 467802 55
卢浮宫(25%) 1514 1000 238332 18
北海道(25%) 1500 1000 262207 18
樟宜机场珠宝(25%) 1500 1000 147678 11
捷克克鲁姆洛夫(25%) 1152 864 294989 20
密歇根湖(25%) 960 1440 264149 18

许可证

Okolors 采用以下许可证之一:

由您选择。

依赖关系

~7MB
~146K SLoC