2011-10-29 65 views
3

我有幾個不同的「隨機」顏色值(不少於1,不超過8種顏色)的列表。 (隨機意味着沒有說明它們的相互「對比度」。)與給定的一組顏色最相反的顏色?

顏色以RGB值給出(可能的簡化:作爲HSL模型中的H值或其他某種顏色系統的選擇 - 我有一定程度的控制原始顏色的生成方式)。

我需要計算一個單一的顏色值,它是列表中所有顏色中最「對比」的(即視覺上可區分的)。

的對比度的實際標準,對於8種顏色的情況:

如果我們畫的9個方塊,充斥着我們的顏色如下:

 
[1][2][3] 
[4][X][5] 
[6][7][8] 

方X的顏色必須清晰可辨來自所有相鄰的顏色。

可能的簡化:將最大顏色數從8減少到4(示例中的正方形2,4,5,7,忽略對角線)。

回答

1

我認爲最好的解決辦法是:與所有的顏色(簡單的線性優化)

  • 最大化照明

    1. 最大化色調差
    2. 最大化飽和

    http://www.colorsontheweb.com/colorcontrasts.asp

    編輯:使用線性編程,你可以給出更低的符號對對角線顏色的冷靜。

    編輯2:什麼最大化意味着: 您想最大化色調對比度,這意味着所有| Hi-result |之和,其中Hi代表色彩i的色調,將被最大化。您甚至可以創造最小差異的條件,例如| Hi - result | > Hmin。實際計算可以通過將方程式提供給線性優化算法來完成,或者可以嘗試0.0到1.0之間的所有色調值,步進0.05並保存最佳結果。 http://en.wikipedia.org/wiki/Linear_programming

  • +0

    你能詳細說一下在這種情況下「最大化」嗎? –

    +0

    看起來有效,謝謝,會嘗試。感知感知顏色模型(CIELAB?)可能會更好地工作 –