[C#] 画像のコントラストを調整する

画像のコントラストを調整するには、ヒストグラムを圧縮したり伸張すれば良いように思う。

ColorMatroxを使うのならば、入力対出力の線形特性の傾きを変化させてやればよい。しかし、係数をうまく調整しないと、少しの変化でレベルがすぐに飽和してしまったり、逆に値を大きく変化させてもなかなか結果に現れないなど、思うような結果が得られないこともあるので注意が必要だ。

以下サイトに具体例があったので、掲載されていたサンプルコードを拝借。

コントラストを変更して画像を表示する: .NET Tips: C#, VB.NET
http://dobon.net/vb/dotnet/graphics/contrast.html

サンプルコード

実行例

0010

左から、コントラスト-25、元画像、コントラスト+25