当前位置: 首页 > 面试题库 >

在数组中找到与另一种颜色最接近的颜色的最佳算法是什么?

赵禄
2023-03-14
问题内容

我有一个从传感器读取的颜色(RGB)。我还列出了“已知”颜色,每种颜色都与一个字符串名称配对。

将最佳颜色从列表中拉出的最佳方法(即表现得像人类选择颜色)是什么?

我用RGB尝试了最短的笛卡尔距离,但这使灰色更接近绿色,而不是黑色或白色。


问题答案:

而不是使用RGB,请尝试使用HSL(色相,饱和度,亮度)或HSV(色相,饱和度和值)颜色模型。然后尝试使用不同的偏差元素,例如,在计算距离时,色相比亮度更重要。



 类似资料:
  • 问题内容: 当混合蓝色和黄色油漆时,结果是某种绿色。 我有两种rgb颜色: 蓝色=(0,0,255) 黄色=(255,255,0) 找到两种颜色混合使用时产生的rgb颜色的算法是什么(就像使用油漆时会出现的一样)?该算法产生的颜色不必十分精确。对于上面的示例,它只需要看起来像某种绿色即可。 提前致谢。 编辑: 根据LaC的回答,用Go编写的此功能对我有用。 编辑#2 虽然如此,但设法将青色和黄色混

  • 问题内容: 编辑: 给出答案后,我执行了此功能 我的目标是这个。我抓取图片并遍历每个像素,然后抓取其x,y和rgb。 我拥有一个预定义的数组,而不是仅仅抓住rgb,我正在寻找从我抓取的颜色到预定义数组的最接近的匹配项。这里的目标是仅使用预定义数组中的颜色。这是我的颜色数组。 这是我现有的遍历所有内容的代码。 rgb2hex是用户定义的函数,但是我要完成的功能是使用该函数更改该函数以获取最接近的颜色

  • 问题内容: 所以我有一个带有火山的图像文件。其他所有内容均为0xFFFF00FF(不透明的洋红色)。我想将包含该颜色的每个像素替换为0(透明)。到目前为止,我的方法如下所示: 这工作正常,但似乎很慢。我见过有人以其他方式执行此操作,但是我不知道发生了什么。如果有人知道更好的方法,我非常想听听。 问题答案: 为了避免遍历像素,请更改基础ColorModel。这是一个例子。以下是作者使用原始Buffe

  • 问题内容: 如果我使用的是.Net和SQL Server 2008,那么对我来说,将颜色存储在数据库中的最佳方法是什么?我应该使用ToString还是将其转换为整数,或者其他方式? 编辑: 我想要的颜色是能够检索它并以指定的颜色在屏幕上绘制一些东西。我不需要能够对此进行查询。 问题答案: 颜色是如何本地存储的? 如果您仅使用0xRRGGBB格式,则最好将其作为整数存储在数据库中,并在使用时重新将其

  • 问题内容: 我在应用程序的各个位置使用 JColorchooser 。面板可以有多个实例,可以调用JColorChooser。 选择器中的“色板”面板具有 “最近”颜色区域 ,该区域仅存在于JColorChooser的每个实例中。我想 (a) 在我的应用程序 中的所有选择器 中 都具有相同的“最近”颜色 ,并且 (b)将颜色保存到磁盘中, 以便这些颜色在关闭并重新启动应用程序后仍然存在。 (至少(

  • 我如何创建一个简单的标题与此属性: 作为这个图像?

  • 问题内容: 给定一个有效的CSS颜色值的字符串: ffffff 白色 rgb(255,255,255) 需要获取以下格式的数字数组:[R,G,B] 用JavaScript(假设使用主要的浏览器)最有效的方法是什么? 问题答案: 显然,数值比名称更容易解析。所以我们先做那些。 那是一个 现在获取完整的六位数格式: 现在是格式: 另外,您还可以添加支持的格式,甚至/ 如果添加HSL2RGB转换功能。

  • 我正在开发一个可视化引擎(简单的CAD风格)(使用python和pyopengl绑定),可以同时显示和动画多达10-20个身体。我使用VBO数据对象来存储顶点数据并显示每个主体。我想知道为VBO分配颜色的最佳(最实用、最简单、成本更低的GPU)方法是什么。每个机身都有统一的颜色,外观可以设置为透明-可选。据我所知,这可以用以下方法完成(我测试了方法1和2): GLF(R、G、B、A) GLMATE