gpt4 book ai didi

javascript - JavaScript 中颜色量化/减少图像调色板的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:18:27 24 4
gpt4 key购买 nike

<分区>

我正在编写一个网络应用程序,它获取用户提交的图像,通过 canvas 元素获取像素数据,进行一些处理,然后使用矢量形状渲染图像(使用 Protovis ) .它运行良好,但我最终得到了几千种颜色,我想让用户选择一个目标调色板大小并将调色板缩小到该大小。

在我想要减少色彩空间的地方,我正在处理一组 RGB 像素数据,如下所示:

[[190,197,190], [202,204,200], [207,214,210], [211,214,211], [205,207,207], ...]

我尝试了从颜色中删除最低有效位的天真选项,但结果非常糟糕。我对 color quantization 算法做了一些研究,但还没有找到关于如何实现算法的清晰描述。我可能会想出一种笨拙的方法来将它发送到服务器,通过图像处理程序运行它,然后将生成的调色板发回,但我更愿意在客户端用 JavaScript 来完成。

有没有人有一个可以在这里工作的清晰解释算法的例子?目标是将数千种颜色的调色板减少为针对该特定图像优化的较小调色板。

编辑 (7/25/11): 我采纳了@Pointy 的建议并在 JavaScript 中实现了(大部分)Leptonica 的 MMCQ(改进的中值切割量化)。有兴趣的可以see the code here.

编辑 (8/5/11):clusterfck library 看起来是另一个很好的选择(尽管我认为它比我的实现慢一点)。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com