我一直在試驗HTML5 canvas api,並編寫了一個腳本,可以從彩色圖像中創建黑白圖像。RGB操作公式
爲RGB的公式爲灰度,我使用的是:r * 0.2989 + g * 0.5870 + b * 0.1140
我想知道是否有人通過RGB值操縱圖像的任何更多的公式知道。
我一直在試驗HTML5 canvas api,並編寫了一個腳本,可以從彩色圖像中創建黑白圖像。RGB操作公式
爲RGB的公式爲灰度,我使用的是:r * 0.2989 + g * 0.5870 + b * 0.1140
我想知道是否有人通過RGB值操縱圖像的任何更多的公式知道。
這裏有一些
// ADD
c = Math.min(255, Math.max(0, c0 + c1))
// SUBTRACT
c = Math.max(0, c0 - c1)
// MULTIPLY
c = Math.floor((c1 * c0)/0xff)
// SCREEN
c = 255 - Math.floor((255 - c0) * (255 - c1)/255)
// LIGHTEN
c = c0 > c1 ? c0 : c1
// DARKEN
c = c0 < c1 ? c0 : c1
// DIFFERENCE
c = c0 > c1 ? c0 - c1 : c1 - c0
// INVERT (no influence from c1)
c = 255 - c0
// OVERLAY
c = c0 < 128 ? Math.floor((c1 * c0)/127) : 255 - Math.ceil((255 - c0) * (255 - c1)/127)
// HARDLIGHT
c = c1 < 128 ? Math.floor((c1 * c0)/127) : 255 - Math.ceil((255 - c0) * (255 - c1)/127)
其中C0和C1是彩色的十進制值,c是輸出值
這裏是變暗的圖像的方式:
(r*0.5) + (g*0.5) + (b*0.5)
還有其它幾種方法來操縱RGB的顏色,如閾值處理,交換顏色通道,僅示出紅,綠,或藍色通道,反轉色彩,以及對比度和亮度等等。使用這些關鍵字搜索Web可以揭示改變圖像顏色的其他方法。 This question解釋如何使現有色彩的色調或陰影。特別要注意關於線性RGB和伽馬校正的說法。
[RGB轉換爲灰度/強度]的可能重複(http://stackoverflow.com/questions/687261 /轉換-rgb-to-grayscale-intensity) –
實際上這個問題比這個更廣泛。它一直在尋求改變圖像顏色的方法。 –
謝謝彼得澄清 –