画像処理工学
画像の濃度変換
画質改善方法:コントラスト強調(変換)
濃淡画像処理
• 濃度変換
– コントラスト( contrast ;画像の明暗の差)の強調
– コントラスト変換関数やヒストグラムを用いて濃度値を変換 する
• ノイズの除去
– ノイズの除去や濃度値の細かい変動を少なくする – 平滑化など
• 特徴抽出
– 鮮鋭化(ぼやけた画像を鮮明にさせる)やエッジ検出
• 幾何学的形状の変換
– 座標変換
– 画像上の対象物を拡大や回転,平行移動させる
ヒストグラムを用いた濃度変換
• ヒストグラム
– 画像データ全体で同じ濃度値を持つ画素の数を求め グラフ化したもの
– 横軸に濃度値(画素値),縦軸にその濃度値を持つ 画素の数をとる
濃度値
画素数
0 127 255
ヒストグラムを用いた濃度変換
全体的に明るい画像の ヒストグラムの分布は 右側にかたよる
全体的に暗い画像の ヒストグラムの分布は 左側にかたよる
平均値が高い
平均値が低い
ヒストグラムを用いた濃度変換
• ヒストグラムのダイナミックレンジの変更
– ヒストグラムのダイナミックレンジ(最小値-最大値の幅)を 変更することによりコントラストを改善する
( )
( )
( )
( )
min min
max min
min min min max
max min
max max
f f f
g g
g f f g f f f
f f
f f f
<
−
= − + ≤ ≤
−
>
f
minf f
maxg
ming g
maxヒストグラムを用いた濃度変換
• ヒストグラムのダイナミックレンジの変更に基づく コントラスト強調処理のアルゴリズム
コントラスト強調
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
入力画像:img[N][M]
結果画像:res_img[N][M]
入力画像img[][]の入力
img[][]の最大値fmax,最小値fminを求める
強調後の最大値gmax,最小値gminを入力するfor(y = 0; y < N; y++){
for(x = 0; x < M; x++){
前ページの式で,
fをimg[y][x],gをres_img[y][x]として fmax, fmin, gmax, gminを用いて計算する }
}
結果画像res_img[][]の出力
ヒストグラムを用いた濃度変換
コントラストが悪い画像
コントラストが良い画像
ダイナミックレンジが狭い
(画素値が近い値)
ダイナミックレンジが広い
ヒストグラムを用いた濃度変換
• ヒストグラムの平坦化
– 濃度変換式などを用いず,やや複雑なアルゴリズムによって ヒストグラムの分布形状を強制的に平坦にする
– 画素数の多い濃度値の範囲ではヒストグラムの横軸の間隔
を細かくし,少ない範囲では間隔を粗くする
ヒストグラムを用いた濃度変換
• ヒストグラムの平坦化のアルゴリズム
– 画像サイズを16×16(総数256画素)
– 濃度レベル数を8(0~7の整数値)
– 平坦化を行うとすべての濃度値の画素数は32となる
2 14
42 70
画素数
80
0 1 2 3 4
ヒストグラムを用いた濃度変換
• ヒストグラムの平坦化のアルゴリズム
– 濃度値の低い方からその画素数を加え,その和がはじめて 32を超える濃度値を求める
– 2+14+42>32 なので,濃度値 0,1 のすべての画素と 濃度値 2 の画素のうち 16個 を濃度値 0 に変換する
2 14
42 70
画素数
80
0 1 2 3 4
26 70
画素数
80
0 1 2 3 4
32
ヒストグラムを用いた濃度変換
• ヒストグラムの平坦化のアルゴリズム
– 次に,和がはじめて64を超える濃度値を求める
– 2+14+42+70>64 なので,濃度値 2 の残りの26個と 濃度値 3 のうち 6個 を濃度値 1 に変換する
– 以上の処理を繰り返していく
26 70
画素数
80
0 1 2 3 4
64
画素数
80
0 1 2 3 4
32 3232
ヒストグラムを用いた濃度変換
• ヒストグラムの平坦化のアルゴリズム
– 同じ濃度値の画素数が多い場合,複数の濃度値に割り当て られる
– どの画素をどの濃度値に割り当てるかが問題となる – 方法1:ランダムに割り当てる
– 方法2:周りの画素の濃度値に応じて順序付けて割り当てる
– 一般には方法2がとられる
コントラスト変換関数を用いた濃度変換
• 線形変換
– ヒストグラムのダイナミックレンジの変更と同じ
– 変換式をグラフにすると線形関数(直線式)になる
0 g
maxf
maxf
min( )
( )
( )
( )
min min
max min min max
max min
max max
f f f
g g f f f f f
f f
f f f
<
= − ≤ ≤
−
>
[ f
min, f
max] を [0, g
max] に変更する線形変換
コントラスト変換関数を用いた濃度変換
• 非線形変換
– ガンマ特性( CRT ディスプレイの電気-光変換特性)
などを利用した変換
– 変換式をグラフにすると曲線になる
max
max
g f f
f
γ=
0 g
maxf
maxガンマ補正による濃度変換(非線形変換)
ガンマ補正式
0 g
maxf
max1
γ < γ > 1
明るくなる 暗くなる
ルックアップテーブルを用いた濃度変換
• ルックアップテーブル
– 変換前の画素値と変換後の画素値の対応表
– 変換式の計算がいらないので,高速に変換処理が 行える
変換前濃度値 変換後濃度値
0 0
1 0
~ ~
83 164
84 170
~ ~
254 255
255 255
65 3 19
83
63 96
125 127 254
65 3 19
164
63 96
125 127 254