画像処理・実習 第一回:

画像処理・実習
第八回: 2値化画像(2値化処理)
東海大学
情報理工学部情報メディア学科
濱本和彦
今回の内容
4. 2値化画像

4.1 2値化処理
固定しきい値処理
 自動しきい値決定法





p-タイル法
微分ヒストグラム法
モード法
可変しきい値処理
実習
2値化画像
画像の濃淡が「白」と「黒」の2値で表現さ
れる画像
多値画像→2値化処理→2値画像
2値画像の利点
情報量が少なくなる
 その後の処理が簡単になる
 文字認識や形状認識の前処理

2値化処理
ある濃度をしきい値に設定する。
しきい値より小さい濃度の画素→0-画素
しきい値より大きい濃度の画素→1-画素
256階調の画像の場合
0-画素=濃度0
 1-画素=濃度255

しきい値をどのように決定するか?
2値化処理
固定しきい値処理
2 255
値
画
像
の
濃
度
値
0
t
255
原画像の濃度値
画像全体でしきい値
を同じにする。
しきい値tは,ヒストグ
ラムや2値化結果な
どから試行錯誤的に
決定する。
文書画像などに向く
2値化処理
固定しきい値処理
頻度
背景部分
60000
40000
20000
0
0
100
200
ヒストグラム
characters.raw
文字部分
階調
2値化結果
しきい値:100
2値化処理
固定しきい値処理:実習
imgbinary.hが2値化処理の関数集です。
void Fixed_threshold(void)を完成させま
しょう。
characters.rawについて結果を確認しま
しょう。
lena.rawについて,結果を確認しましょう。
しきい値を変更すると出力はどうなります
か?
2値化処理
固定しきい値処理:結果
lena.raw
画素値128で2値化
2値化処理
自動しきい値決定法:p-タイル法
抽出したい領域のおおよその面積が分かってい
る場合に有効
抽出したい領域
明るい方から1.5%
画素値が大きい(明るい)
方から画素数を足し算:N0
N0/Nが1.5%を越える
その時の画素値がしきい値
2値化処理
p-タイル法:実習
void p_Tile(void)を完成して下さい。
tile.rawについて,抽出したい面積の割合
と出力画像について検討しなさい。
lena.rawについて結果を検討しなさい。
2値化処理
p-タイル法:結果
tile.raw
6%抽出
12%抽出
2値化処理
p-タイル法:結果
lena.raw
30%抽出
60%抽出
2値化処理
自動しきい値決定法:微分ヒストグラム法
抽出したい対象と背景の間(境界)は画素値の
変化が大きい
各画素について変化分(微分値)を計算
画素値に対して,その微分値の和を計算
=微分ヒストグラム
微分ヒストグラムがピークとなる画素値は,変化
が最も大きい境界である可能性が高い→しきい
値とする
問題:
境界の画素値は一定ではない場合が多く,抽出
したい対象が正しく抽出されない場合がある
2値化処理
頻度
自動しきい値決定法:微分ヒストグラム法
2000
1000
0
0
100
200
階調数
微分値の和
通常のヒストグラム
30000
20000
10000
0
0
100
200
階調(濃度値)
微分ヒストグラム
2値化処理
微分ヒストグラム法:実習
void d_Histogram(void)を完成して下さい。
tile.raw,cameraman.raw,lena.rawにつ
いて,微分ヒストグラムと2値化画像を求
め,検討しなさい。
2値化処理
微分ヒストグラム法:結果
50000
40000
30000
20000
10000
0
0
100
200
通常のヒストグラム
微分値の和
[10 5]
1
0.8
0.6
0.4
0.2
0
0
100
200
微分ヒストグラム
画素値
2値化処理
頻度
微分ヒストグラム法:結果
2000
人
背景
1000
0
0
100
200
微分値の和
通常のヒストグラム
階調数
40000
30000
人の輪郭が一定の画素値
ではないため,人が正確に
抽出できない
20000
人と背景の微分値
の和が大きい
10000
0
0
100
200
微分ヒストグラム
画素値
2値化処理
自動しきい値決定法:モード法
頻度
抽出したい対象と背景との画素値の差が大きい場合に
有効
ヒストグラムが明確な谷を持つときに適用される
2000
人
背景
1000
0
0
100
200
階調数
谷を検索
2値化処理
モード法:実習
void Mode(void)を完成して下さい。
cameraman.raw,lena.rawについて,2値
化画像を求め,検討しなさい。
2値化処理
自動しきい値決定法:可変しきい値処理
抽出したい対象や背景の画素値が一定でなく,
特定のしきい値では2値化が難しい場合に適用
着目画素の近傍画素値の平均を求め,これをし
きい値として,着目画素値が平均値より大きけれ
ば1-画素,小さければ0-画素とする
微妙な濃淡変化に敏感に反応する事を避けるた
め,近傍の分散も計算し,この分散が小さい時
は隣接画素と同じ領域であるとして,隣接画素の
2値化結果をそのまま利用する
2値化処理
可変しきい値処理:実習
void Dynamical_threshold(void)を確認して下さ
い。
cameraman.raw,lena.rawについて,2値化画
像を求め,検討しなさい。
分散のしきい値を変化させて出力画像の変化を
検討しなさい。
2値化処理
可変しきい値処理:結果
検討
cameraman.rawについて,カメラマンだけ
を抽出するための2値化としては,どの方
法が適当ですか?また,それはどうしてで
すか?
lena.rawについて,女性の輪郭を抽出す
るための2値化法としては,どの方法が適
当ですか?また,それはどうしてですか?