標籤:style blog http color 使用 os io 2014
1.4.2 灰階的計算方法
回過頭來看RGB,站在科學的角度來解釋,它們確實也有更明亮的理由,因為下面一排色彩反射出來的色光總量是上一排色的兩倍。
為此,作者曾自作聰明地發明了一條“原創”的灰階公式:
Gray=(r+g+b)/3
哈哈,用色光總量來表達顏色的灰階想必就比較準確了吧!沾沾自喜一番以後,我還試著用這條自創的定律來轉換這張測試圖片,上下色塊的灰階果然拉開了,可是很不幸地,左右相鄰,邊界分明的色塊依然粘連在一塊(圖 1.30)。
圖 1.30 筆者“自創”的灰階轉換
顯然此法產生的黑白照難登大雅之堂,色塊之間的分界線全部丟失,而且同一行的顏色在我們人類的視覺系統裡,亮度也不盡相同。比如視網膜會認為上排的綠色要比旁邊的紅和藍明亮一些,而下排的粉紅色則沒有相鄰的黃色與淡綠來得刺眼。
一項偉大的發明——灰階心理學公式誕生了!它匯聚了光學物理,眼球視光學,人類心理學,美術鑒賞等前沿學科之精華,集科技,藝術,社會科學於一體,高深莫測,唯美維妙,堪稱視覺科學史上最驚天地,泣鬼神之大作,沒有之一。
灰階心理學公式並不複雜,它深入淺出地描述了各種顏色對肉眼刺激程度的差異,僅僅使用最簡單的加法和乘法就完成了灰階的整個演算過程:
Gray = r*0.299 + g*0.587 + b*0.114
其中,r,g,b被標準化為0~1。
如果讀者有閱讀過fl.motion.AdjustColor類的代碼,想必就會對這條公式有一種似曾相識的感覺,AdjustColor裡用到了公式裡的3個係數(具體數值可能有一些微小的差異)。實際上,AdjustColor正是用灰階代替了亮度,至於為什麼,看看上面的黑白照轉換結果就不言而喻了。
令r=g=b=1,灰階就剛好等於100%,所以它實質上是對RGB三個數值做了一個加權平均數的運算,其中g的權重(通俗點說叫比重)最大,紅色次之,藍色最小。因此,心理學公式認為,綠色最刺眼,它比紅色要明亮1倍,反射一點綠光對視網膜的刺激相當於兩點紅光。
以上描述與肉眼的感知相當接近,但至於具體數值是如何測算出來的,我就無從考究了。
我嘗試運用灰階心理學公式對圖 1.27進行灰階轉換,效果要比自己“原創”的定律有水平多了(圖 1.31)。
圖 1.31 用心理學公式做灰階轉換
至此,亮度與灰階的關係已經比較明確,他們都為量化色彩的明暗而生,本著“科技以人為本”的精神推動著人類社會精神文明的進步。其中,亮度著重對整體的把握,從色彩類別,鮮豔程度,明暗程度三個人類感知屬性去描述被數理科學抽象過的色彩數值,而灰階則更強調對事物單項屬性的深度探討,有針對性地彌補HSB模式中亮度計算方法與視覺器官不夠吻合的缺陷。
現在大概再也沒有人會去拍攝黑白照片了(純粹抱著懷舊心態的除外),即使遇到了真正需要使用黑白映像的場合(例如紀實片錄製現場,汶川地震的哀悼日等),也不會專程從博物館借一台19世紀出廠的黑白相機來開展拍攝工作,而是選擇使用Photoshop等軟體對彩色映像進行轉灰的處理,而灰階處理的演算法,恰恰就來源於上述的心理學公式。
而在藝術編程領域,灰階除了用來直接製作黑白效果(比如遊戲按鈕的禁用狀態,玩家複活前的灰階效果等等)以外,還廣泛應用於Image Recognition,色彩調整,邊緣檢測,光影預先處理,模型上色等影像處理技術中(Photoshop的顏色混合模式就是一個成功的典範)。它的專一性使圖形的創作流程有章可循,讓藝術不再只掌握在設計師的手上。
下面我們就藉助灰階公式搭配出一套相對和諧的色系。