gpt4 book ai didi

php - 从数据库中找到最匹配的颜色

转载 作者:可可西里 更新时间:2023-11-01 07:08:31 25 4
gpt4 key购买 nike

我们有一个数据库表,我们在其中管理一系列颜色。在此表中,我们为颜色保存以下属性:

  • RBG 值
  • HSV 值
  • 和实验室值

这些值中的每一个都在一个单独的字段中。如果您搜索这些值,我们现在想要实现的是找到最匹配的颜色。

用户可以选择他想要搜索的那些颜色模型。我们的第一种方法是在数据库中搜索范围内的这些值(因此,如果用户搜索红色 (RGB) 值 150,我们将使用 BETWEEN 100 AND 200 查询数据库。

结果不是很好,因为组合的值总是与您搜索它们并找到合适的行时不同。

是否有更好的方法来搜索我们的数据库以获得最佳匹配颜色?

“最佳匹配”的解释:
我们想找到最近的颜色,所以如果我们搜索红色,我们只需要红色。也许可以计算匹配百分比,以便用户可以选择是否必须是 100% 匹配或者 50% 也可以。

最佳答案

我之前参与过一个类似的项目...他们使用一个简单的公式来确定哪种颜色最接近...

假设 Rm,Gm,Bm 是要匹配的颜色....并且 Rx,Gx,Bx 是另一种颜色....

因此,我们计算 e = (Rm-Rx)^2 + (Gm-Gx)^2 + (Bm-Bx)^2....具有最低值的是考虑接近...我们的目标是找到具有最小 e(Rx,Gx,Bx)

我们的查询看起来像这样从 Colortable order by (Rm-Rx)*(Rm-Rx)+...(Bm-Bx) TOP 10 中选择 ColorName(我不记得确切的查询要么……)

这为您提供了前 10 种最匹配的颜色...

注意:我不支持这个公式,但它在实际情况下工作得很好。

关于php - 从数据库中找到最匹配的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4387499/

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