Re: [討論] 顏色混合
※ 引述《jacklions (史東)》之銘言:
: 一般來說,混合純RGB顏色是把RGB三項分開,個別相加。
: 那如果要混合三個不是純RGB的顏色,
: 例如
: R G B
: A : 162 114 0
: B : 235 0 156
: AB 244 0 0
: 以上是在一篇paper看到的結果,混出來的AB是接近紅色的,不知道有沒有人有想法是如何完成的,希望有人可以幫我解惑,感謝大家^__^
: -----
: → jacklions: https://imgur.com/a/AIvh1 09/25 15:47
: → jacklions: 感覺是要求弧度的中點
: → jacklions: https://imgur.com/a/PxGdP 09/25 15:49
: → jacklions: 麻煩了~~~ 09/25 15:51
: ※ 編輯: jacklions (140.117.176.197), 09/25/2017 15:54:42
: → YoursEver: 我現在才看到,明天中午幫你翻. orz 09/26 01:04
你給的段落裡面沒有看見求弧中點的部分.
不過,那段文字的確只是告訴讀者該怎麼定義pseudocolor的color map.
首先,基於HSV的特性,文章作者認為要在CIELAB color space上面定義顏色.
主要定義了8個錨點(anchor point)
(1) 三個channel全為0或全為FF: 黑/白.
(2) 三個channel中,僅單一channel不為0且為最大值.
(3) 三個channel中,單一channel為0,另兩個為最大值.
(4) 上述第2,3項的顏色,定義在CIELAB space中 L = 50 的hyperplane上. (註1)
這個部分就只有提到這麼多事情,
其餘的顏色是從這8個錨點內插出來的.
至於怎麼內插,這個段落內沒說.
接下來解釋(註1),
基本上,關於第4項的原文敘述顯然和第2,3項衝突.
除非,作者所指的 "三個channel" 是指RGB,而非LAB.
也就是說,
那8個anchor point是定義在RGB space上,
只是color interpolation的計算是在LAB space上完成.
不過,這樣的解釋又和程式碼內所定義的anchor point不合,
所以說,別理會作者說的,
你只要自己訂好三對互補色,加上黑白,總共8個錨點,
接下來在LAB space上進行color interpolation就好.
例如:
黑, (L,A,B) = (0, 0, 0)
白, (L,A,B) = (100, 0, 0);
其他, (L,A,B) = (50, aa, bb);
(aa, bb)是六個等分點的位置.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.96.100.130
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1506402904.A.679.html
推
09/26 22:47, , 1F
09/26 22:47, 1F
推
09/27 18:02, , 2F
09/27 18:02, 2F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章