2012/11/21

コントラスト調整

概要

OpenCVならコントラスト調整する関数くらいあるべえと考える田舎者も多いが、
ない
ヒストグラム均一化の関数ならある。equalizeHistね。
詳細はググってもらうとして、たぶん君の求めている答えじゃないと思う。
あの写真加工ソフトみたく、S字みたいなカーブで黒をより黒く、白をより白くいじろう。

実装

のLUT生成部分を以下に変更。

 // ルックアップテーブル作成
 float a = 20.0; // 入力パラメータ
 uchar lut[256];
 for (int i = 0; i < 256; i++) 
  lut[i] = 255.0 / (1+exp(-a*(i-128)/255));

解説

あのS字みたいなカーブは、シグモイド関数という。
詳細はウィキペディって頂こうか。
なお、LUT作成に当たっては以下のサイトを参照した。
http://d.hatena.ne.jp/matsu4512/20090625/1245882295

出力結果

元画像

a = 20.0
a = 1.0
コントラスト強くするとなんでもかっこよくみえる。
あつあつ料理にのせる半熟タマゴと同じ。なんでもおいしくなる。

ところでaが負値のときはどうなっちゃうか、気にならないかい。

0 件のコメント:

Related Posts Plugin for WordPress, Blogger...