特定颜色的RGB范围是什么?

8

我想在一张图片中找到特定的颜色,通常是红色、绿色、蓝色、橙色、白色、黑色和栗色等。但是图片中有很多颜色。RGB具有256x256x256的范围。问题是我不知道什么样的RGB组合范围可以得出任何特定的颜色。例如,如果我想找到黑色,我可以尝试找到RGB范围在[0, 0, 0],[10, 10, 10]之间的像素。有什么想法或技巧吗?


1
RGB颜色空间只是一个立方体,其中一个角落是黑色,对角线相对的是白色,主要和次要颜色在顶点上,因此您可以通过差分红色值并平方、差分两个绿色值并平方、差分两个蓝色值并平方,然后将所有这些平方相加并开方以给出类似颜色的球体的半径来计算两种颜色之间的颜色距离。超过该值的颜色是不同的 - Mark Setchell
2个回答

2

这很简单。网络上有许多颜色匹配资源,甚至可以为您的颜色组合命名。您必须决定与您想要的“颜色”有多接近。传统上,颜色以十六进制给出,因此0xFFFFFF是最亮的白色,而0x000000是最黑的黑色,前两位是红色,接下来的两位是绿色,最后两位是蓝色。因此,纯红色为0xFF0000,绿色为0x00FF00,蓝色为0x0000FF。与另一种颜色相差10左右的颜色非常接近于同一种颜色,具体取决于您的眼睛、人类对光的敏感度以及您的显示设备重现可见光的全部范围(称为色域)的能力。因此,虽然0x000000是黑色,但0x101010也很暗,而0x202020则是非常暗的灰色等等。当然,所有颜色都会混合在一起。希望这有所帮助。


对于黑白色,使用+ - 10阈值是可以的,对于红蓝绿三原色也适用。如果考虑到黄色、橙色等次要颜色,每种颜色都有各自的范围。例如,如果将前两个主要颜色设为常量,变化第三个主要颜色以找到特定颜色。如果第三个颜色保持不变,变化其他两个或一个,则可以从该场景中获得相同的颜色。我认为,定义每种颜色的RGB范围非常冗长和困难。 - Khurram Shahzad
选择最橙的颜色或者你喜欢的任何颜色,找到它的RGB值,然后在该值的基础上加减10。 - ggb667
你能否选择这个作为答案并点赞它? - ggb667

1
在这个页面上,你可以找到不同的原色渐变。我建议你使用这些值来设置红、绿、蓝三种颜色的最小值和最大值,以便于你所需的操作。页面链接

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接