画像処理・実習 第一回:

画像処理・実習
第三回: 濃度変換
東海大学
情報理工学部情報メディア学科
濱本和彦
今回の内容
前回の復習

ヒストグラム
2.2 コントラストの改善
線形な濃度変換
 非線形な濃度変換
 ルックアップテーブルを用いる濃度変換

実習
頻度
復習:ヒストグラム
2000
1000
0
0
100
200
階調数
頻度
復習:ヒストグラム
2000
1000
0
0
100
200
階調数
頻度
復習:ヒストグラム
2000
1000
0
0
100
200
階調数
頻度
復習:ヒストグラム
2000
1000
0
0
100
200
階調数
前回の最後のスライド
次回の講義項目
頻度
濃度変換
600
400
200
0
0
100
200
画素値(輝度値)
ヒストグラムの変化
コントラストの改善
線形な濃度変換
コントラストとは? → 明暗の差
高コントラストとは?
明暗の差が大きい
 画像がくっきりはっきりと表現される

高コントラスト
低コントラスト
0
a
b 255
階調レベル
0
255
階調レベル
コントラストの改善
線形な濃度変換
0
a
b 255
階調レベル
0
255
階調レベル
255
出力画像の濃度値
0
a
b
255
原画像の濃度値
コントラストの改善
0
a
0
a
b
255
出力画像の濃度値分布幅
広くなる=コントラスト改善
255
0
255
つまりこういう事
b 255
入力原画像の濃度値分布幅
コントラストの改善
線形な濃度変換
255
変換曲線
「線形」とは?
出力画像の濃度値
0
a
b
255
原画像の濃度値
0 (0  z  a)
 za

z '   zm
(a  z  b) z ': 出力画像の濃度値
z : 原画像の濃度値
 ba
 zm (b  z  zm ) zm : 最大濃度値(255)
コントラストの改善
線形な濃度変換
a=100
b=200
画像の比較
コントラストの改善
頻度
頻度
線形な濃度変換
2000
1000
1000
0
0
2000
100
0
0
200
階調数
ヒストグラムの比較
100
200
階調数
コントラストの改善
図2.3のような濃度変換の問題点

[0,a],[b,zm]の濃度値の情報が失われる。
(利点としても使える,後述)
変換曲線によるコントラスト変換の問題点
処理後のヒストグラムに隙間が生じる。
 厳密には階調数は変化していない。



[0, 1, 2, 3, 4] → [0, 10, 20, 30, 40]
ダイナミックレンジを有効に利用しているのみ。
コントラストの改善
線形な濃度変換
演習2.1
変換曲線を描きなさい。
 変換式を作りなさい。
出力画像の濃度値

255
ba
z' 
za
zm
b
a
0
255
原画像の濃度値
コントラストの改善
線形な濃度変換
演習2.2
変換曲線を描きなさい。
 変換式を作りなさい。
出力画像の濃度値

255
(0  z  a )
c d  c

z'  
( z  a)  c (a  z  b) b  a
(b  z  zm )

d d
c
0
a
b
255
原画像の濃度値
実習
imggray.hの中の関数を完成させ,実行し,処理
後画像のヒストグラムを原画像と比較しなさい。
実行にはimage_processing3.cを用いなさい。

void Linear_Transform(void)


void Ensyu2_1(void)


演習2.1に関する関数
void Ensyu2_2(void)


式(2.1),図2.3に関する関数
演習2.2に関する関数
ただし,画像入出力に関する関数はimgio.hに整理し
ました。
2000
頻度
頻度
演習2.1の結果
1000
コントラスト低下
2000
1000
圧縮
a=100
b=200
0
0
100
0
0
200
階調数
100
200
階調数
演習2.2の結果
2000
頻度
頻度
a=100
b=200
c=50
d=100
1000
1000
0
0
2000
100
0
0
200
階調数
100
200
階調数
面白い結果(図2.3より)
2000
頻度
頻度
濃度情報を失うことを利点として利用
1000
1000
0
0
2000
100
0
0
200
階調数
100
200
階調数
コントラストの改善
非線形な濃度変換
非線形な濃度変換
変換式が二次関数や対数を含む。
 変換曲線が直線では表せない。
出力画像の濃度値

255
 z 
z '  zm  
 zm 
0
255
原画像の濃度値
画像全体を暗くする場合
2
コントラストの改善
非線形な濃度変換
255
2000
2000
1000
1000
0
0
頻度
頻度
255
100
0
0
200
階調数
100
200
階調数
コントラストの改善
非線形な濃度変換
演習2.3(図2.5(b)について)
変換式を作りなさい。
出力画像の濃度値

255
z '  zm  z
255
原画像の濃度値
画像全体を明るくする場合
コントラストの改善
ルックアップテーブルの利用
高速性を利用した画像処理法
変換式により処理後の画素値を計算するのは時
間がかかる。
入力画素値と出力画素値の対応関係をあらかじ
め表にしておく
=ルックアップテーブル(参照テーブル)
変換式の演算を行わず処理後の画素値を決定
=高速化
実習
imggray.hの中の関数を完成させ,実行し,処理
後画像のヒストグラムを原画像と比較しなさい。
実行にはimage_processing3.cを用いなさい。

void non_Linear_Transform(void)


void Ensyu2_3b(void)


式(2.2),図2.5(a)に関する関数
演習2.3,図2.5(b)に関する関数
void Lut(void)


ルックアップテーブルを用いて処理後の画素値を決定する関
数
テーブルとして,lut.txtを用意(図2.5(b)に相当)
2000
頻度
頻度
演習2.3(図2.5(b))の結果
1000
0
0
2000
1000
100
0
0
200
階調数
100
200
階調数
これは前回最後に示したスライドです。
頻度
今回学習した処理の中で,これに最も近い処理を行うのは,
どの処理でしょうか?
600
400
200
0
0
100
200
画素値(輝度値)
ヒストグラムの変化
回答
演習2.1の処理とほぼ同等です。
a=100, b=255
頻度

1500
1000
500
0
0
100
200
階調数
課題
演習2.3,図2.5(c)について
1.
2.
3.
変換曲線に対する式を求めなさい。導出過程も示し
なさい。
関数void Ensyu2_3c(void)を完成させなさい。
実行結果を示しなさい。原画像と処理画像を示し,
ヒストグラムを比較しなさい。
提出期限 5/7(水)23:59まで
提出場所 授業支援システムより提出
Wordまたはpdf形式で1Mバイト未満の
ファイルとすること