首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将图像调色板缩小到特定的颜色?

如何将图像调色板缩小到特定的颜色?
EN

Stack Overflow用户
提问于 2013-10-15 19:00:40
回答 1查看 2.6K关注 0票数 2

我正在使用Python中的一个程序来创建十字绣方案,并且需要将图像中的颜色减少到特定的牙线颜色像这样。没有必要使用牙线调色板上的所有颜色。关于Python或伪码。

示例

自定义调色板(例如在药片/枕头中)是不可定位的。有256种颜色最多,但牙线调色板有大约450种颜色,我计划使用多种颜色图表来自不同的制造商。

在交叉缝合时也不能抖动。

我想这可能是:

代码语言:javascript
复制
result = []
for pixel_color in image:
    nearest = None
    for floss_color in floss_palette:
        distance = delta_e_cie2000(pixel_color, floss_color)
        if distance < nearest:
            nearest = floss_color
    result.append(nearest)

可能有更快的算法吗?(image_width * image_heigh *调色板中的颜色=112米delta_e计算和比较,平均500×500 on图像)。很多。)

已经计算过的delta_e词典?另一种算法/算法/优化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-15 19:33:29

这是一个回忆录的例子。我还使用了内置的min

代码语言:javascript
复制
def nearest(pixel_color, mem={}):
    if pixel_color in mem:
        return mem[pixel_color]
    n = min(floss_palette, key=lambda fc:delta_e_cie2000(pixel_color, fc))
    mem[pixel_color] = n
    return mem[pixel_color]

result = [nearest(pixel_color) for pixel_color in image]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19389006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档