我得到的圖像的像素數據是這樣的:什麼範圍的RGB被認爲是「藍色」?
var p = c.getImageData(x, y, 1, 1).data;
var red = p[0];
var green = p[1];
var blue p[2];
對不起,這一點,但我的問題是沒有太大的有關代碼,什麼範圍的RGB的被認爲是藍色的? (例如,紅色也可能由藍色組成,但我們稱它爲紅色,如何確定它?)
我得到的圖像的像素數據是這樣的:什麼範圍的RGB被認爲是「藍色」?
var p = c.getImageData(x, y, 1, 1).data;
var red = p[0];
var green = p[1];
var blue p[2];
對不起,這一點,但我的問題是沒有太大的有關代碼,什麼範圍的RGB的被認爲是藍色的? (例如,紅色也可能由藍色組成,但我們稱它爲紅色,如何確定它?)
色調範圍從180到300的任何顏色都可以認爲是藍色,因爲那是原色優勢。然而,如果你也想考慮二次色,那麼你的範圍是210到270.然後你必須考慮像「它仍然看起來青色」的事情(因爲綠色比藍色更感知光明)以及類似的東西,有真的沒有硬性的定義。
所以你可以做的是說「如果(最大(紅色,綠色,藍色)==藍色),那麼它是藍色的」,沒有人會因此而犯錯。
我喜歡「如果(最大(紅色,綠色,藍色)==藍色)那麼它是藍色」的想法,這很簡單:) – karaxuna
我不認爲有一個固定的定義。我會打開一個調色板並嘗試爲自己定義它。 –
@Pekka웃謝謝,我以爲會有人已經爲我做了:) – karaxuna
@karaxuna你可以尋找藍色的空間。 http://www.wolframalpha.com/input/?i=blue&a=*C.blue-_*ColorSet-&a=*DPClash.ColorE.blue-_**Mathematica.Blue-.dflt- – raam86