色空間では、RGBがよく知られています。これは、ディスプレイを表示するための基本的な設定です。RGB8ビットの場合には、各ピクセルがRGB各チャンネルで、0から254の値をとります。画面の表示は、各ピクセルのRGBの値がすべてなので、RGBの値を変えれば、なんでもできるのですが、draktableは、これを、古典的な方法として、推奨していません。
色空間
RGBは、Jpegでの色の指定、ディスプレイでの色の指定にかかわっています。
RGB色空間
ます、RGBについて、復習します。
色を3原色に分けるとき、光の3原色と印刷(絵の具)の3原色があります。
RGBに8bitを使う場合、一つの1色は、0から255の整数で表されます。数字が大きい方が信号が強くなります。RGBの順に信号の強度を表すと、(125,0,0)ように、Rだけに、信号がある場合には赤になります。
(0,0,0)は黒に、(255,255,255)は白になります。光の色は、重ね合わせていくと、だんだん明るくなり、最終的には白になります。
絵の具の場合には、色を混ぜ合わせると、逆に、段々と暗くなり、最終的には黒になります。
このためディスプレイの色(光の色)をプリンターで印刷(絵の具の色)する場合には、適切な変換をしないと、見た通りには印刷されません。この変換は複雑なので、さしあたり、変換が必要で、パソコンがプリンターにデータを送るときに、変換が行われていることを理解しておけばよいと思います。
光の3原色で考えれば、ディスプレイ上に表現できる色は、1ピクセルあたり、256x256x256=1670万色がすべてです。
これは、rawやJpegファイルを読み込んで、変数するとき、
ピクセルの位置が変化するような編集を除けば、
全ての編集作業はあるピクセルのRGB値を
(R_before,G_before_B_before)=>(R_after,B_after,G_after)
に変換する関数になります。
簡単に言えば、
RGBトーンカーブ変換で表現できないような加工は存在しない
ことになります。RGBのトーンカーブ変換は、万能のエースなのです。
しかし、ここには、2つの問題点があります。
-
8bitの整数の計算では、変換に伴う桁落ちが大きく、誤差が累積する点です。これは、内部処理の有効数字の桁数を確保することで、防ぐことができます。
-
RGBの色空間で、RGB値を変更すると明暗と色が同時に変化してしまいます。人間の目は、明暗と色を区別しますので、明るさは、そのままで、もう少し赤くしたいといった感じで、色の変化を表現しますが、RGBでは、そのような変化に対応できないのです。
Lab空間
Lab空間もRGBと同じように3つの数字の組み合わせで、色を表します。この色空間の長所は、明度はLで表され、色彩は、a、bで表され、明暗と色が独立している点です。Lab色空間は 色の値が同じだけ変化したとき、人間がそれを見たときに感じられる変化も等しくなる長所があります。
Darktableの色操作
Darktableの色操作は次の図のようになっています。
Darktableでは、色の変更が目の色認識に近いLab色空間を基本的に使います。また、32ビットの浮動小数点を用いることで桁落ちを防いでいます。
ただし、モジュールによっては、RGB空間を使っているものもあります。
画像の編集
次が元の画像です。
モノクロームモジュールでは色空間はLabになっています。
L(明度)、a(色成分a)、b(色成分b)、C(LChの彩度)、h(LChの色相)が選択できます。マニュアルの例題では、hを使っていたのですが、赤色の花を分離することができませんでした。そこで、ここでは、aチャンネルを使います。aチャンネルは、次の図に見るように、緑を赤の間のバンドになっています。カラーピッカーをつかって、赤い花をピックすると、次図の入力スライダーにある位置の赤が抽出されます。そこで、一度含むように左側の2つの三角形を16の位置に動かしました。
この範囲選択関数を使った結果が、次の図です。ハスの花が抽出されています。
テーマは、ハスの花の赤を残し、周辺をモノクロームにすることでしたので、選択関数の+をーに反転させます。カラーピッカーは外しました。
次が、反転結果で、課題の花の赤色だけをのこし、周囲をモノクロームにすることが出来ました。
今回はここまでです。
次回は、マスクを使わずに、部分的な修正を行う「シャドウとハイライト」を取り上げます。