RGB

2016-09-25 5 views
2

から真の色を取得するにはどうすればその出力はRGBにあるカメラを持っています。 「グリーン」(例えば)、または任意の他の色にRGB値を変換するための好ましい方法は何ですか? はここでおよそ0,255,0もちろんのが、より微妙な値RGB

+0

等間隔グリッド上のRGB値の3次元アレイを設定します。入力RGBの各トリプルは、_nearest_既知の色にマップされます。 –

+1

実装に役立つことを前提に、使用している言語を含める必要があります。 –

+0

私はこれをWindowsでC++で書いています。私はあなたのアイデアを得ていません。私が(12,13,14)を得ることはもちろん、黒のバリエーションですが、それを黒と解釈したいのですが、マトリックスにはどのような価値がありますか? – jkally

答えて

0

あなたは人間がそれらを分類する方法に応じて色を割り当てたいなら、あなたはRGBスペースを残して、HSLまたはHSVに例えば移動する必要があります。

those spaces(色相)は、人間が通常「色」(「緑色」など)を意味するものです。

Hを取得する簡単な方法は、3つすべてからR、G、Bの最小値を差し引いて、残っている値の最大値を1にします。次に、6つの場合(カラーホイールの6スライス)がどちらの成分が0になったかは1になり、中間は1になります。 Pythonで

def H(r, g, b): 
    # Remove min (this maximizes saturation) 
    minv = min(r, g, b) 
    r -= minv 
    g -= minv 
    b -= minv 

    # Scale max to 1 (this normalizes brightness) 
    maxv = max(r, g, b) 
    if maxv == 0: 
     return None # H for pure black is undefined 

    k = 60.0/maxv 
    r = int(r * k + 0.5) 
    g = int(g * k + 0.5) 
    b = int(b * k + 0.5) 

    # Compute result 
    if r == 60: 
     return (g - b) % 360 
    elif g == 60: 
     return 120 + b - r 
    else: 
     return 240 + r - g 
+0

ありがとう、それを調べます。標準の変換ライブラリや関数について知っていますか? – jkally

+0

[color package](https://pypi.python.org/pypi/colour)を試してください。簡単に_pythonの色を検索して見つけてくださいpackage_ – miraculixx

+0

私は同意しません。色相だけがあなたを全く助けません。ちょうど色相を使用する場合は、貴重な情報をスローします。 – Piglet

1

を話していない、あなたが考えることができ1Dアルゴリズムです。まず、ドメイン上にいくつの色の名前を付けたいかを決めます。さて、あなたのプログラムがでポイントに遭遇したとき

[255, 170, 85, 0] 

:これらの色は、次の赤の値で発生するであろう

[bright red, red, burgundy, black] 

:私たちは赤を見ていた場合たとえば、あなたは4色を持っているかもしれませんランダムな赤の値は、最も近い色の名前を選択できます。たとえば、赤の値200は170に最も近く、これは赤であるため、赤であるとレポートします。

このアプローチは、ほとんどの作業でRGBの三次元に拡張することができます。

+0

ありがとうございます、しかし、私はRGBを持っているので、赤の値自体は無意味です。すべての3つの値が255、または170、または85の場合は、灰色ではなく、赤色です。それでは、RGBの3つの値を人間の色に変換するにはどうすればいいですか? – jkally

+1

私はあなたが3次元に拡張する必要があると言いました。だから、あなたは色の名前にマップされたRGB空間の_nearest_点を見つけるでしょう。 –

+0

赤、緑、青に最も近い値を見つけ、その色の名前をつかみます。 –

0

何らかの種類のリストを使用してRGB値を色名にマッピングする必要があります。

私はあなたのソフトウェアの中にそのような何かを得るお勧め: https://en.wikipedia.org/wiki/List_of_colors:_A%E2%80%93F

次にあなたがそのテーブルからベストマッチを取得する必要がRGB値を使用します。

照明やホワイトバランスの重要性に注意してください。正確な色認識は非常に困難です。