【画像処理】トーンカーブ(線形濃度変換)の原理・計算式

スポンサーリンク
ビッグバナー(上2)

この記事では、画像処理におけるトーンカーブ(線形濃度変換)の原理や仕組みについてまとめました。

トーンカーブで画像の濃度変換

トーンカーブとは、横軸を入力画像の画素値、縦軸を出力画像の画素値とするマッピングです。
GIMPやPhotoshopなどの画像加工ソフトに濃度を変更するツールとして組み込まれています。

トーンカーブは画像を人が観やすい物に調整する上で役に立ちます。
以下では、トーンカーブの中でも代表的な変換方法をいくつか紹介します。

線形変換1(コントラスト調整)

画素値をa倍する変換です。
入力画像の座標(x, y)における画素値をI_{in}、出力画像の座標(x, y)における画素値をI_{out}とすると関数は以下のように定義できます。

(1) \begin{eqnarray*} I_{out}(x, y)=aI_{in}(x, y) \end{eqnarray*}

a>1のとき、コントラストが高くなる
a=1のとき、無変換
a<1 のとき、コントラストが低くなる

線形変換2(コントラストを全体的に明るく・暗く)

コントラストを全体的に明るくする変換は次式で定義できます。

(2) \begin{eqnarray*} I_{out}(x, y)= \begin{cases}  I_{in}(x, y)+k\hspace{15px} (I_{in}(x, y)+k>256 )\\  255 \hspace{15px} (I_{in}(x, y)+k<255) \end{cases} \end{eqnarray*}

コンストラストを全体的に暗くする変換は次式で定義できます。

(3) \begin{eqnarray*} I_{out}(x, y)= \begin{cases}  0 \hspace{15px} (I_{in}(x, y)-k<0)\\  I_{in}(x, y)-k \hspace{15px} (I_{in}(x, y)-k>0) \end{cases} \end{eqnarray*}

kの値が大きいほど効果も大きくなります。

線形変換3(コントラスト強調・減少)

コントラストを強調・減少する変換は次式で定義できます。

(4) \begin{eqnarray*} I_{out}(x, y)= \begin{cases}  0 \hspace{15px} (T<0 )\\  T \hspace{15px} (0\le T\le255)\\ 255 \hspace{15px} (T>255) \end{cases}\\ T=a(I_{in}(x, y)-127)+277 \end{eqnarray*}

・a>1でコントラスト強調
・a<1でコントラスト減少

【関連記事】
【画像処理入門】アルゴリズム&プログラミング

スポンサーリンク
レクタングル(下2)
レクタングル(下2)

シェア&フォローお願いします!