藍色に画像を変える
藍色
藍色はきれいな色です。透明感があり、清々しい気分になる色で、ほんの少し神秘的な感じもします。
藍色に関しては次のサイトで詳しくまとめられています。
BEI(http://www.blue-edge.jp)
そのサイトの記事で「藍四十八色」とあり、どうやら藍色といっても48色あるようです。
また、原色大辞典(http://www.colordic.org)において、「藍」で検索すると、13色でてきます。
藍海松茶(あいみるちゃ#56564b)、藍鼠(あいねず#6c848d)、藍鉄(あいてつ#393f4c)
藍白(あいじろ#ebf6f7)、白藍(しらあい#c1e4e9)、薄藍(うすあい#0094c8)、
藍色(あいいろ#165e83)、青藍(せいらん#274a78)、濃藍(こいあい#0f2350)、
紺藍(こんあい#4a488e)、二藍(ふたあい#915c8b)、藍媚茶(あいこびちゃ#555647)、
藍墨茶(あいすみちゃ#474a4d)
青藍
例えば、青藍(せいらん#274a78)の場合、#274a78はカラーコードです
最初の2桁が赤成分(Red)で、値の27は16進数です(27)16
ちなみに、16進数(27)16を10進数に直すと以下となります
(27)16 = 2×16 + 7 = (39)10
次の2桁が緑成分(Green)で、値は(4a)16で、10進数に直すと(74)10となります
最後の2桁が青成分(Blue)で、値は(78)16で、10進数に直すと(120)16となります
画像を藍色に変換する
これは、「真っ白な生地を藍染する」ことに相当する画像処理です
考え方としては、カラー画像から白黒画像にし、白黒画像から藍黒画像にします
画像は、色の付いた小さな点(画素とよぶ)が縦横に集まったものです
例えば、横に640画素、縦に480画素集まった画像には、
合計で307,200個(640×480)の画素があります(約31万画素)
手順1. カラー画素を白黒画素にする
カラー画素(色の付いた1個の点)の赤成分をr、緑成分をg、青成分をbとすると、
白黒成分:輝度(Y)は例えば以下の式となります(別の計算式もある)
Y = 0.3×r + 0.59×g + 0.11×b
ここで、先ほどのカラー画素の赤成分(r)、緑成分(g)、青成分(b)を
白黒成分:輝度(Y)に書き換えることで、カラー画素が白黒画素になります
これをプログラム的に書くと、次のようです
- r = Y
- g = Y
- b = Y
画素の赤成分(r)、緑成分(g)、青成分(b)全てが同じ値(Y)になることで白黒画素となっています
手順2. 白黒画素を藍黒画素にする
青藍の場合、カラーコードは#274a78でした。これを10進数に直すと、それぞれ39、74、120となります
そこで、先ほどの白黒画素の赤成分(r)、緑成分(g)、青成分(b)に以下の式を適用することで、白黒画素から藍黒画素に変換します
- r = ( 39 / 255) × Y
- g = ( 74 / 255) × Y
- b = (120 / 255) × Y
画像は画素(色の付いた点)が集まってできています
最初のカラー画像の中の画素を、順番に1個ずつ、カラー画素から藍黒画素に換えていき、最終的に藍黒画像にします。
ちなみに、セピア(sepia#622d18)で上記処理を行うことで、セピア調画像を作ることができます。