一篇文章徹底搞清PS混合模式的原理

理解混合模式的原理,需熟知這些概念:像素、圖層、通道、RGB模式基本原理

我們先建立兩個圖層:

當前選中層(Active Layer)為A層,或稱「混合色 blend color」

下層(Background Layer)為B層,或稱「基色 base color」,兩者混合得到「結果色 Result color」

混合模式的基本原理

取A層任意一個像素a [R1, G1, B1],與B層對應位置的像素b [R2, G2, B2] 進行數學運算,得到c [R3, G3, B3]

  • R1 某種運算 R2 = R3

  • G1 某種運算 G2 = G3

  • B1 某種運算 B2 = B3

A、B兩層所有像素都獨立進行同樣的運算,即得到混合後的結果C,即新的A層(注意雖然A層縮略圖沒有變,但直方圖已經變了),而B保持不變

舉一個簡單例子,PS默認的圖層混合模式是「正常」,在不透明度為100%時,

  • R1 正常 R2 = R1

  • G1 正常 G2 = G1

  • B1 正常 B2 = B1

也就是說,「正常」模式下,A層在B層之上,看到的只有A層,看不到B層

混合模式的分類

一般系:正常、溶解

變暗系:變暗、深色、正片疊底、顏色加深、線性加深

變亮系:變亮、淺色、濾色、顏色減淡、線性減淡

對比系:疊加、強光、柔光、亮光、線性光、點光、實色混合

    • 該組特點是讓亮的更亮,暗的更暗,每一個「對比系」的混合模式都可看作「變暗系」和「變亮系」的結合,如「疊加」是對較暗的像素進行「正片疊底」,對較亮的像素進行「濾色」

負片系:差值、排除

相消系:減去、劃分

HSL系:色相、飽和度、顏色、明度

混合模式彼此之間的聯繫

1. 對於大多數混合模式,圖層「不透明度」和「填充度」對混合效果影響是一樣的,也就是說,60%的不透明度,與60%的填充度,得到的效果一樣;但以下8種混合模式是例外

  • 顏色加深、顏色減淡
  • 線性加深、線性減淡
  • 亮光、線性光、實色混合
  • 差值

2. 以下5組混合模式是相反對應關係(從後面的公式就可以看出)

  • 變暗 - 變亮
  • 深色 - 淺色
  • 正片疊底 - 濾色
  • 顏色加深 - 顏色減淡
  • 線性加深 - 線性減淡

3. 具有「互逆」關係的混合模式有兩組,舉例,A層在上,對A「疊加」;B層在上,對B「強光」:兩種情況得到的效果是一樣的

  • 疊加 leftrightarrow 強光
  • 顏色 leftrightarrow 明度

每一種混合模式的運算方法

當通道位深度為8位時,R、G、B三通道數值範圍在0到255,我們除以255,得到0~1範圍內的數值

我們用下圖所示的兩個100像素的圖層做實驗

A層有一個顏色, [R, G, B]值分別是 [102, 153, 204],即[0.4, 0.6, 0.8]

B層有兩個顏色,[0, 51, 102] 和 [255, 204, 153],即 [0, 0.2, 0.4] 和 [1, 0.8, 0.6]

選中A層,調節混合模式

I 正常系

正常 Normal

設不透明度為n

c = n*a + (1-n)*b

當不透明度為100%

c = a

溶解 Dissolve

對每個像素而言,其結果色是基色或混合色的隨機值,取決於其「不透明度」:「不透明度」高時,更多像素取自當前層;低時,更多像素取自背景層

II 變暗和變亮系

變暗 Darken

c = min(a,b) 逐通道進行運算

B: 顏色1 [0,0.2, 0.4] 顏色2 [1,0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0.2, 0.4] 顏色2 [0.4,0.6, 0.6]

得到變暗的效果

變亮 Lighten

c = max(a,b) 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0.4,0.6, 0.8] 顏色2 [1,0.8, 0.8]

得到變亮的效果

深色Darker Color

c = min(a, b) 三通道整體進行運算,不會產生新的顏色

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0.2, 0.4] 顏色2 [0.4,0.6, 0.8]

該混合模式不會產生新的顏色,注意與「變暗」的區別

淺色Lighter Color

c = max(a, b) 三通道整體進行運算,不會產生新的顏色

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0.4,0.6, 0.8] 顏色2 [1,0.8, 0.6]

該混合模式不會產生新的顏色,注意與「變亮」的區別

正片疊底 Multiply

c = a*b 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0.12, 0.32] 顏色2 [0.4,0.48, 0.48]

常用的加深模式,用於產生陰影、去除白色和其他淺色。如同將所有的圖層都疊在一起,上方一束光投下來到屏幕上;「顏色加深」和「線性加深」比「正片疊底」效果更為強烈

任何顏色和黑色混合結果都是黑的,任何顏色跟白色混合結果都是原來的顏色

「正片疊底」即所謂「減色」或「CMYK」模式,現實中相當於用染料、水彩筆繪畫效果,如圖所示

濾色 Screen

c = 1 ? (1?a)*(1?b)逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0.4,0.68, 0.88] 顏色2 [1,0.92, 0.92]

常用的減淡方法,產生髮光效果。如同將所有圖層分開擺放,各有一束光通過各圖層,匯聚在一塊屏幕上

基色或混合色為白色時,結果會是白色;任何顏色和黑色混合,結果仍原來的顏色

「濾色」即所謂「加色」模式,現實中相當於發光體發光的疊加效果,如圖所示

顏色加深 ColorBurn

c = 1 ? (1?b)/a 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0, 0.25] 顏色2 [1,0.67, 0.5]

得到的效果比「正片疊底」更深,中調更高飽和,高光減弱

任何顏色跟白色(B=1)混合結果都是白色

顏色減淡 ColorDodge

c = b / (1?a)逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0.5, 1] 顏色2 [1,1, 1]

得到的效果比「濾色」更亮,色彩對比更加強烈,中調更高飽和,高光增強

任何顏色跟黑色(B=0)混合結果都是黑色

線性加深 LinearBurn

c = a + b ? 1 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0, 0, 0.2] 顏色2 [0.4, 0.4, 0.4]

得到的效果比「顏色加深」更深,比顏色加深飽和度低

任何顏色跟白色(B=1)混合結果都是原來的顏色

線性減淡 LinearDodge

c = a+b 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0.4, 0.8, 1] 顏色2 [1, 1, 1]

得到的效果比「顏色減淡」更亮,但對比稍弱

任何顏色跟黑色(B=0)混合結果都是原來的顏色

III 對比系

該組特點是讓亮的更亮,暗的更暗,每一個「對比系」的混合模式都可看作「變暗系」和「變亮系」的結合,如「疊加」是對較暗的像素進行「正片疊底」,對較亮的像素進行「濾色」

疊加 Overlay

逐通道進行運算

若 b <= 0.5: c = 2ab

若 b > 0.5:c = 1 - 2(1-a)(1-b)

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0.24, 0.64] 顏色2[1,0.84, 0.84]

類似於 「正片疊底」+「濾色」的結合,但效果更柔和

A層在上,對A「疊加」;B層在上,對B「強光」:兩種情況得到的效果是一樣的

強光 HardLight

逐通道進行運算

若 a <= 0.5: c = 2ab

若 a > 0.5:c = 1 - 2(1-a)(1-b)

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0, 0.36, 0.76] 顏色2 [0.8, 0.84, 0.84]

類似於 「正片疊底」+「濾色」的結合,但效果更柔和

A層在上,對A「疊加」;B層在上,對B「強光」:兩種情況得到的效果是一樣的

柔光 SoftLight

逐通道進行運算

若 a <= 0.5, c = 2ab + b^{2} (1-2a)

若 a > 0.5,c = 2b(1-a) + sqrt{b} (2a-1)

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0, 0.25, 0.54] 顏色2 [1, 0.82, 0.71]

效果類似於「疊加」,但效果更柔和,有透明的光線和陰影

類似於 「淺色」+「深色」的結合

亮光 VividLight

逐通道進行運算,近似公式

若 a <= 0.5, c = 1 + (b-1)/2a

若 a > 0.5,c = b / 2(1-a)

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0, 0.25, 1] 顏色2 [1, 0.996, 1]

類似於「實色混合」,但效果通常更加劇烈

類似於 「顏色減淡」+「顏色加深」的結合

線性光 LinearLight

c = b + 2a -1 逐通道進行運算,近似公式

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0, 0.4,0.996] 顏色2 [0.8,0.996, 1]

類似於「亮光」,但效果通常更加劇烈

類似於 「線性加深」+「線性減淡」的結合

點光 PinLight

逐通道進行運算

若 a > 0.5, c = max ( 2(a-0.5) , b )

若 a <= 0.5, c = min ( 2a , b )

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0.2, 0.6] 顏色2 [0.796,0.8, 0.6]

該混合模式較為強烈,容易形成色塊色斑和噪點

類似於 「變亮」+「變暗」的結合

實色混合 HardMix

若 a+b >= 1, c = 1; 否則 c=0 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0, 1] 顏色2 [1,1, 1]

結果只有8個顏色:R、G、B、C、M、Y 、K、White

如果「填充度」不為100,結果色會多於8

IV 負片系

差值Difference

c = |b - a| 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0.4,0.4, 0.4] 顏色2 [0.6,0.2, 0.2]

會有一定負片效果

排除Exclusion

c = a + b - 2ab 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0.4,0.56, 0.56] 顏色2 [0.6,0.44, 0.44]

會有一定負片效果

V 相消系

減去Subtract

c = b?a逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0,0, 0] 顏色2 [0.6,0.2, 0]

變深效果

常結合「應用圖像」,用於高低頻法調色

劃分Divide

c = b/a 逐通道進行運算

B: 顏色1 [0, 0.2, 0.4] 顏色2 [1, 0.8, 0.6]

A: [0.4, 0.6, 0.8]

C: 顏色1 [0, 0.33, 0.5] 顏色2 [1, 1, 0.75]

變亮效果

匯總在一張A4紙上


推薦閱讀:

這樣拍頭像,簡直帥到炸裂!
[手機後期Snapseed-8]新增功能和色調控制
極光攝影套路深 | 我懷疑「極光」是一場成功的營銷炒作
如何讓照片更乾淨?

TAG:AdobePhotoshop | Photoshop使用技巧 | 摄影后期技术 |