RGB值检测和实现

时间:2011-09-08 21:48:56

标签: rgb

我正在编写一个显示不同颜色样本的应用程序,以帮助人们进行颜色协调。如何找到现实世界对象的RGB值?

例如,其中一种颜色是红苹果,但显然红苹果不仅仅是红色。它有其他颜色的暗示。

3 个答案:

答案 0 :(得分:0)

对于每个对象,我都会这样做:

  1. 使用goolge图像搜索所需对象的图片。
  2. 选择颜色最准确的颜色,例如,根据您对“红苹果”的想法。
  3. - 如果您有对象的数码照片,则可以跳过1和2。

    1. 在Paint中打开该图像;你可以在键盘上按下“Impr Pant”键,打开Paint,然后“ctrl + v”将在画中粘贴画面。
    2. 选择Paint上的拾取颜色工具(像滴管一样),然后单击图像,就在所需颜色的位置。
    3. 从菜单中选择“颜色 - >编辑颜色”,然后在打开的颜色调色板中选择“定义自定义颜色”。
    4. 你知道了,你的右边有RGB值。
    5. 必须有一种更简单的方法,但这会有效。

答案 1 :(得分:0)

嗯,说实话并不是一件容易的事,但是一个好的起点就是使用数码相机和/或平板扫描仪。

一旦你在计算机上有了一个图像,那么任务就更容易了,因为你需要的只是使用图片/照片编辑软件包,如photoshop或gimp,在你的应用程序中使用它们之前对一些颜色进行采样。 / p>

一旦你有几个不同的样本,那么你需要对它们进行平均,这很容易做到。假设你拍了5个RGB值样本:

    255,50,10
    250,40,11
    253,51,15
    248,60,13
    254,45,20

您只需要添加每个组件并除以您拍摄的样本数量:

    Red = (255 + 250 + 253 + 248 + 254) / 5
    Green = (50 + 40 + 51 + 60 + 45) / 5
    Blue = (10 + 11 + 15 + 13 + 20) / 5

现在,如果你问的是我如何在程序代码中自动执行此操作,那就是完全不同的鱼,首先你需要像网络摄像头这样的东西,然后你需要编写代码来捕获图像从网络摄像头开始,一旦你有你的图像,你不仅需要选择颜色的能力,而且要实际找出图像中你想从实际中选择颜色的对象。

现在,我会考虑使用第一种方法,这是我同意的一点手册,但更容易,并且会让你开始。

进行第二次数学运算所需的图像处理给了软件工程师& comp科学家头疼多年,仍然不是一门完美的科学......那是在我们开始考虑数学之前。

答案 2 :(得分:0)

如果您正在寻找程序化解决方案,那么您可以查看bitwise operations。这里的一般想法是你会读取它的二进制根中的图像,然后你可以逻辑地将这些位转换为RGB值。根据编程语言,有几种方法可以执行此操作。这是Actionscript3的一种方法。

http://www.flashandmath.com/intermediate/rgbs/explanations.html

如果您在这里寻找平均颜色,(对于AS3)

http://blog.soulwire.co.uk/code/actionscript-3/extract-average-colours-from-bitmapdata

Java的相关方法和解释

Bitwise version of finding RGB in java