2017-04-04 6 views
-1

私は3色に対するカラーコードをチェックする必要があるPythonスクリプトを書いていますRGBの色を色の範囲で確認する方法は?このように、赤、黄、緑:

if (255,255,255) is in green range: 
    print("green") 
else if (255,255,255) is in yellow range: 
    print("yellow") 
else if (255,255,255) is in red range: 
    print("red") 
else: 
    print("none") 

私は問題を抱えていますものは、それis in yellow rangeかどうかを確認する方法でありますか?

ご意見をお寄せください。

EDIT

以下の画像は、黄緑と赤の私の感覚を表します

enter image description here

+2

「緑色の範囲」とはどういう意味ですか?あなたはそれを定義できますか? –

+0

それは色が緑色の陰影である場合を意味します。 – Elisha512

+2

ええ、私はあなたが色が(r、g、b)であるとします。 '(255,0,0)'のみか '(200,10,10)'も許されますか?人々が緑色か青色かを識別したかどうかについての実験が行われました。ロシア語は青色(薄い青色と濃い青色)の2つの異なる言葉を持つので、iircロシア人はより多くの色を青色として見た。人々はそれに同意しないので、最初にそれを定義する必要があります。 –

答えて

2

私は、ターミナルで次の解決策をハッキングしていない非常にきれいしかし、私はあなたを願っていますアイデアを得ました。

TARGET_COLORS = {"Red": (255, 0, 0), "Yellow": (255, 255, 0), "Green": (0, 255, 0)} 

def color_difference (color1, color2): 
    return sum([abs(component1-component2) for component1, component2 in zip(color1, color2)]) 

my_color = (123, 234, 100) 

differences = [[color_difference(my_color, target_value), target_name] for target_name, target_value in TARGET_COLORS.items()] 
differences.sort() # sorted by the first element of inner lists 
my_color_name = differences[0][1] 

print(my_color_name) 

図、my_color = (123, 234, 100)最も近い緑色であった:)

+0

これは完全に機能します!まさに私が必要としたもの。ありがとう! – Elisha512

1

はHSLに色を変換して、具体的にHの値を、黄、赤と緑のあなたの定義を選択するthis oneようなカラーホイールを指します。

関連する問題