暗い画像を明るくするプログラム

暗い画像を明るくするプログラム

2020年8月6日
Facebook にシェア
Pocket

概要

いい感じに明るくしたい。C言語をいじるために、iphoneのカメラのナイトモード的なのを作ってみる。C言語っていいよね。

プログラム

明るくするのはこの画像(拾い画)

変換には簡単な数学を用いています。
縦軸を出力画素の明るさ(0~255)
横軸を入力画素の明るさ(0~255)
としています。

例えば
f(x)=x
のような入力画素をそのまま返すような式だとこのようなグラフ。

単純にすべての画素を明るくするなら、すべての画素に+100とかしてみるといい。
その場合はこのような式

しかし、このような一次式だと一定以上(オレンジ色で表した部分)の色が同じ明るさとして出力されてしまう。
ならこのような式で最大値を255にすればいいのではないか。

それでも黒い部分がグレーっぽくなってぼやけた画像になってしまう。

なので、多次元の式で考えたり、場合分けなどをしてうまいことやってあげるといい具合に明るくできるのではないかと考えた。
コードをかくのがめんどくさかったので今回は最大値255の2次式で考えた。

こうすればこう!(一回じゃまだちょっと暗かったので、二回実行した)