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

如何确定颜色接近白色或黑色?

章宏峻
2023-03-14
问题内容

我正在处理图像,并想确定一组像素是否更接近白色或黑色。

因此,给定一组 颜色/像素 ,如何确定它们接近白色还是黑色?

我尝试了一些笨拙的算法,有人知道我该怎么做吗?


问题答案:

我要说的是,您可以先将颜色转换为灰度,然后检查它是否更接近黑色或白色。

首先将RGB颜色值转换为通过以下公式计算亮度

Y = 0.2126*R + 0.7152*G + 0.0722*B

然后检查该值是接近于0还是255,并相应地选择黑色或白色

color c = Y < 128 ? black : white

请注意,如果未对颜色空间进行伽玛压缩,则此方法效果很好,否则您必须在计算亮度( 伽玛扩展) 之前添加一个步骤,计算Y,然后执行 伽玛压缩
以获得您所需要的非线性亮度值然后可以使用来确定颜色是接近于黑色还是白色。



 类似资料:
  • 问题内容: 我试图确定图像是否是简单的黑白图像,或者是否具有颜色(使用Java)。如果它有颜色,我需要向用户显示一条警告消息,说颜色将丢失。 问题答案: 所述的BufferedImage类有一个方法即返回整数表示像素的(x,y)处的颜色六角(和另一方法,该方法返回像素的矩阵)。由此可以得到r,g和b值,如下所示: 然后检查图像中每个像素的像素是否均相等。如果每个像素的r == g == b,那么它

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

  • 原文:Specifying Colors 在 matplotlib 的几乎所有地方,用户都可以指定颜色,它可以以如下形式提供: RGB 或者 RGBA 浮点值元组,[0, 1]之间,例如(0.1, 0.2, 0.5)或者(0.1, 0.2, 0.5, 0.3)。 RGB 或者 RGBA 十六进制字符串,例如#0F0F0F或者#0F0F0F0F。 [0, 1]之间的浮点值的字符串表示,用于表示灰度,

  • 问题内容: 有人遇到过这个问题吗?这看起来像是苹果代码中的错误,如果人们同意该代码应按我认为的方式工作,我将提交雷达报告。我对颜色管理不是很熟悉,因此我在问苹果问题报告之前询问我。 这是直接来自模板项目的,唯一的非模板代码是您在下面看到的内容。请注意,红色,绿色和蓝色均显示正确的组件值,但不显示白色或黑色。 如果先更改顺序,例如黑色和白色,然后更改红色,绿色和蓝色,则问题仍然存在。 这是Swift

  • 我以前也发布过同样的问题,但我现在再次发布,因为我在代码中发现了更多的错误并更正了它们。然而,我仍然面临着和以前一样的问题! 原始帖子:我几周前刚开始学习Python,我正在学习一个教程,用pygame构建一个数独解算器! 我现在面临的问题是,每当我尝试运行代码时,只会弹出一个黑色的空白窗口。我已经一遍又一遍地检查我的代码,但我似乎找不到问题。。。我不确定我的代码中到底是哪里出了问题,所以请原谅我