首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找与调色板算法最接近的颜色,而不是欧几里德距离。

查找与调色板算法最接近的颜色,而不是欧几里德距离。
EN

Stack Overflow用户
提问于 2014-08-22 15:02:53
回答 2查看 2.2K关注 0票数 2

我试图找出调色板中最接近的颜色,基于像素。调色板减少了(可能有3-4种颜色)。我使用的是高斯距离(语言无关紧要)

代码语言:javascript
复制
double colorRGBEuclideanDistance(const QColor& c1, const QColor& c2)
{
    return sqrt(pow(c1.red()-c2.red(), 2) +
                pow(c1.green()-c2.green(), 2) +
                pow(c1.blue()-c2.blue(), 2));
}

我的问题是,用绿色,darkRed和蓝色调色板运行它,就像绣球花一样,从窗户的图片样本中,我得到了深红的叶子,而不是绿色。根据原始的图像颜色,从调色板中选择的颜色可能与我们用眼睛感知的颜色不同。

我想改进这个算法..。但是一个不会太慢的发现颜色。

我发现实现CIELab算法是可能的.但我找不到任何细节,只字不提。

我也认为加权距离可能是有益的.但是如何设置权重呢?

我在寻找一个更好的算法来找到最好的颜色..。但这不会对业绩造成太大影响。我希望有人能帮忙?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-22 15:30:23

这是所有的转换算法。我想您必须将RGB转换为绝对颜色空间XYZ,然后-转换为CIE La*b*。

下面是的文章解释了色差,以及如何用La*b*值测量色差。

票数 2
EN

Stack Overflow用户

发布于 2022-06-03 19:19:02

我已经编写了一个基于CIEDE2000的命令行工具,它将给出两个24位十六进制值的CIEDE2000距离。它是用C++编写的,代码应该很容易适应。

看一看这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25450115

复制
相关文章

相似问题

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