36
画像処理工学 2値画像とその解析方法

2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像処理工学

2値画像とその解析方法

Page 2: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像の2値化

• 2値画像

– 1画素あたり1bit(0か1)の情報を持つ画像

– 表示のために0(黒)か255(白)とする

• 2値画像の利用

– 文字認識や形状認識で利用される

– 画像を線図形化して解析処理を行う

• 2値画像処理の利点

– 画像のデータ量が少なくてすむ(画素数×1bit)

– データ量が少ないので,処理の高速化が図れる

2

Page 3: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像の2値化

• 多値画像から2値画像へ(画像の2値化)

– 花の部分だけを抽出する

多値画像 2値画像

こちらの画像の白い部分についてのみ解析処理を行う(形,大きさ,etc...)

3

Page 4: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像の2値化

• 画像の2値化処理

– しきい値(閾値;threshold)を基準に,各画素の濃度値を0か1に変換する

• 固定しきい値処理

– ある濃度値をしきい値 t として

とする

– 実際には,ヒストグラムを見ながら試行錯誤的に t の値を決定する

( )( )

1 [ ][ ][ ][ ]

0 [ ][ ]f i j t

g i jf i j t

≥= < t f [i][j]

g [i][j]

zm0

1

4

Page 5: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像の2値化

5

• 固定しきい値処理による画像の2値化

固定しきい値処理

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:

入力画像:img[N][M]結果画像:res_img[N][M]

入力画像img[][]の入力

for(y = 0; y < N; y++){for(x = 0; x < M; x++){

img[y][x]がしきい値t以上であればres_img[y][x]に255を代入そうでなければres_img[y][x]に0を代入

}}

結果画像res_img[][]の出力

Page 6: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像の2値化

• 判別分析法

– しきい値を t– グループ(クラス)1 : 0 ~ t -1 の濃度値を持つ画素

– グループ(クラス)2 : t ~ 255 の濃度値を持つ画素

– それぞれのグループの濃度値の分散を求める

fn

( )1 2

102

11

t

ff

n f f

=

−=∑

( )255 2

22

22

ff t

n f f

nσ =

−=∑

グループ1の濃度値の分散

グループ2の濃度値の分散

: グループ i の画素数

: 濃度値 f の画素数

: グループ i の濃度値の平均値

: グループ i の濃度値の分散

2iσ

if

in

6

Page 7: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像の2値化

• 判別分析法(続き)

– クラス内分散

• グループ内の値(データ)がどのくらいばらついているか

– クラス間分散

• グループ間がどのくらい離れているか

( ) ( )

( ) ( ){ } ( )

2 2 21 1 2 2 1 2

2 221 1 2 2 1 2

W

B F F

n n n n

n f f n f f n n

σ σ σ

σ

= + +

= − + − +

2

2B

W

σσ が最大となるときの t をしきい値とする

クラス内分散

クラス間分散

Ff : 全画素の濃度値の平均値

クラス内分散が小さく(平均値に近い値に集中している),クラス間分散が大きく(クラス間が離れている)なるようにしきい値を決める 7

Page 8: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像における連結性

• 4近傍および4連結

– ある画素を中心とし,その上下左右の画素を4近傍という

– 4近傍中に中央の画素と同じ色(値)の画素が存在する場合,それらの画素を4連結しているという

: 4近傍画素 4連結の例

8

Page 9: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像における連結性

• 8近傍および8連結

– ある画素を中心とし,その周りの画素を8近傍という

– 8近傍中に中央の画素と同じ色(値)の画素が存在する場合,それらの画素を8連結しているという

: 8近傍画素

8連結の例 9

Page 10: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像における連結性

• 連結成分

– たがいに連結している同じ値を持つ画素の集まり

• 図形成分

– 2値画像における連結成分

– 連結性の違い(4連結か8連結か)により,成分の数が異なってくる

4連結で見た場合の図形成分数 : 38連結で見た場合の図形成分数 : 1

10

Page 11: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

画像における連結性

• 孔

– ある連結成分が他の色の連結成分を内部に含む

背景(白の画素)を8連結で考えると,孔が外部とつながっていることになり矛盾が生じる

図形を8連結で考えたら背景は4連結で考える

11

Page 12: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

2値画像における幾何学的性質

• オイラー数

– 連結成分の個数から孔の個数を引いた数

V : 1の画素の総数

E :

D :

11

T :

1 1

1 1

1 1

F : 1

1 1

の配置の総数

の配置の総数の配置の総数

の配置の総数

4連結の場合のオイラー数 ( )4G V E F= − +

8連結の場合のオイラー数 ( )8G V E D T F= − − + −12

Page 13: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

2値画像における幾何学的性質

• 距離

– 画素間の遠近の程度を表す尺度

• ユークリッド距離

• 4近傍距離(市街地距離)

– 縦または横のみ移動できる条件での距離

• 8近傍距離(チェス盤距離)

– 8方向に移動できる条件での距離

( ) ( )2 2i k j l− + −

i k j l− + −

( )max , i k j l− −

A[i][j],B[k][l] 間の直線距離

13

Page 14: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

2値画像における幾何学的性質

• 各距離の違い

– 中心画素からの距離を3つの距離で求める

4 3 2 3 4 3 2 1 2 32 1 0 1 23 2 1 2 34 3 2 3 4

8 5 2 5 8

5 2 1 2 52 1 0 1 2

5 2 1 2 5

8 5 2 5 8

2 2 2 2 2 2 1 1 1 22 1 0 1 22 1 1 1 22 2 2 2 2

ユークリッド距離 4近傍距離 8近傍距離

14

Page 15: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

B

ラベリング

• ラベリング

– 2値画像上に点在している図形成分(連結成分)のそれぞれに名前をつける処理

– 図形成分の区別をしておけば,図形成分の個数やそれぞれの特徴(面積など)を計算できる

B B B B BB B B BB

CC

B BBB

DDB

BBB

D D DBD D

BCC

B

B

B

B

D

BBB

BB BB

BB

BB

A

BB

B

AA

B

A

BBB

AAA

B

AA

B B

15

Page 16: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

ラベリング

• ラベリングのアルゴリズムの例

– 8連結で考え,2回の走査を行う

– 左上の画素から走査しながら,1の画素を見つける

– その画素 f [i][j] に隣接する画素のうちf [iー1][jー1] , f [iー1][j] ,f [iー1][j+1], f [i][jー1]

の値とラベルを調べる

f [i][jー1]

f [iー1][jー1] f [iー1][j] f [iー1][j+1]

f [i][j]

16

Page 17: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

ラベリング

• ラベリングのアルゴリズムの例(続き)

– 4つの画素すべてが0のとき,f [i][j]に新しいラベルをつけて,次の画素を走査する

すべて 0

ラベル 2 をつける17

Page 18: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

ラベリング

• ラベリングのアルゴリズムの例(続き)

– 4つの画素のうち,値が0のもの以外に1種類のラベルがついている場合は,f [i][j]に同じラベルをつけて,次の画素を走査する

値が0でなく,ラベル2がついている

ラベル 2 をつける18

Page 19: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

ラベリング

• ラベリングのアルゴリズムの例(続き)

– 4つの画素のうち,値が0のもの以外に2種類以上のラベルがついている場合は,その中で最も小さいラベル番号をf [i][j]につけるとともに,それらが同じ連結成分であることを記憶しておき,次の画素を

走査する

2 2

2 2

2 2

33

値が0でなく,ラベル2と3がついている

3 2 2

3 2

ラベル連結関係

テーブルに記憶

ラベル 2 をつける

19

Page 20: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

ラベリング

• ラベリングのアルゴリズムの例(続き)

– 最後まで走査が終わったら,左上から2回目の走査を行い,ひとつの連結成分に対して同じラベルがつくように,ラベルをつけなおす

2 2

2 2

2 2

3テーブルを見ると

ラベル 3 は ラベル 2 と同じ連結成分である

ラベル 2 につけなおす

2 2

3 2

ラベル連結関係

20

Page 21: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 膨張

– 図形を外側に1画素分広げる処理

– 拡張,伝播とも呼ばれる

• 収縮

– 図形を1画素分細くする処理

– 侵食とも呼ばれる

– 2値画像において,ノイズを除去する目的などに用いられる

– 処理を何回行うかで結果が変わってくる

(埋めてはいけない孔を埋めてしまうことがある)

膨張・収縮処理

21

Page 22: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 膨張処理

– ある画素とその8近傍(または4近傍)のいずれかに少なくともひとつの図形画素(1)がある場合,出力画素を1とする

膨張・収縮処理

1 : [ ][ ][ ][ ]

0 :

f i jg i j

=

あるいはその8近傍(または4近傍)

のいずれかが1のとき

膨張処理1回

その他のとき

22

Page 23: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 収縮処理

– ある画素とその8近傍(または4近傍)のいずれかに少なくともひとつの背景画素(0)がある場合,出力画素を0とする

膨張・収縮処理

0 : [ ][ ][ ][ ]

1 :

f i jg i j

=

あるいはその8近傍(または4近傍)

のいずれかが0のとき

収縮処理1回

その他のとき

23

Page 24: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 膨張処理と収縮処理の組み合わせ

– 膨張→収縮処理

• 連結成分の小さな孔や幅の狭いくぼみの部分(亀裂や分裂など)を埋める効果をもつ

– 収縮→膨張処理

• 2値画像の小成分や幅の狭い部分(ひげなどのノイズ)を取り除く効果をもつ

膨張・収縮処理

24

Page 25: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 境界(輪郭線)追跡

– 広がりのある塊状図形の境界画素を抽出する

– 図形の形状を解析するのに利用

– 単に境界画素の集合を抽出するだけでなく,順序付けられた画素の系列として抽出することができる

境界追跡

A BA B BA B BA B BA A

AAAAA

AA A A A A A A

A A A A A A A 8連結で考えた場合の境界追跡結果

25

Page 26: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 境界追跡のアルゴリズム(8連結)の例

– 左上の画素から走査し,左側に0の画素が隣接する1の画素を見つけ,それを最初の境界画素とする

– すでに境界画素として認識されていたものであれば無視する

境界追跡

26

Page 27: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 境界追跡のアルゴリズム(8連結)の例(続き)

– 最初の境界画素を中心とする8近傍を,反時計回りに調べ,1の画素をみつける

– その画素を次の境界画素とする(下図の例では⑥の画素)

境界追跡

③ ② ①

A

27

Page 28: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 境界追跡のアルゴリズム(8連結)の例(続き)

– 次の境界画素を見つけるときには,前の境界画素の(反時計回りに)隣りの画素から探索すればよい

境界追跡

AA

① A

A

② ① A

A

AA

AA

④ を次の境界画素とする

⑤ を次の境界画素とする

28

Page 29: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 境界追跡のアルゴリズム(8連結)の例(続き)

– 次の境界画素が,最初に認識された境界画素と一致したときには追跡処理をやめて,次の走査を行う

– 走査を行う上で,すでに境界画素とされているものは無視していく

境界追跡

AAAAA A

AAAAA

AA A A A A A A

A A A A A A A

③ ② ①

A

A

A A

最初に境界画素として認識された

次の走査を行う

29

Page 30: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• 境界追跡のアルゴリズム(8連結)の例(続き)

– 外側の境界は,図形に対して反時計回りに追跡される

– 孔の部分の境界は,図形に対して時計回りに追跡される

境界追跡

AA BAAA A

AAAAA

AA A A A A A A

A A A A A A A

孔の部分の境界(B)は時計回りに追跡される

30

Page 31: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

直線の検出

• 直線の検出

– ノイズや対象物の重なりなどの影響で散在した点(画素)から,本来抽出したい直線を導き出す

点線の直線式を導き出したい

31

Page 32: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• ハフ(Hough)変換を用いた直線の検出

– ある1点(x1,y1)が与えられたとき,これを通る直線は,傾き a と切片 b のパラメータを用いて

y = ax + bと表される

– 原点から直線に下ろした垂線の長さρと,垂線がx 軸となす角度θのパラメータを用いると,直線式は

とも表すことができる

直線の検出

cos sinx yρ θ θ= +

32

Page 33: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• ハフ(Hough)変換を用いた直線の検出

– 点(x1,y1)を通るすべての直線をパラメータ(θ,ρ)で表したとき,θの変化に対するρの変化をグラフ化すると下図のようになる

直線の検出

(x1,y1)

x

y

1θ2θ

33

Page 34: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• ハフ(Hough)変換を用いた直線の検出

– 与えられたすべての点についても,同様に曲線を求めると,下図のようになる

直線の検出

34

Page 35: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• ハフ(Hough)変換を用いた直線の検出

– 曲線が最も多く交わる点(θ1,ρ1)を見つければ1本の直線を検出することができる

直線の検出

1 1 1cos sinx yρ θ θ= +

1 1

1 1

cossin sin

y xθ ρθ θ

= − +

35

Page 36: 2値画像とその解析方法 - 福岡工業大学imgprolab.sys.fit.ac.jp/~yama/imgproc/lec/imgproc...– 2値画像において,ノイズを除去する目的などに用い られる

• ハフ変換の利点

– 同時に複数の直線を検出することができる

– ノイズを含む2値画像からも直線を検出できる

• ハフ変換の欠点

– 計算時間がかかる

– 短い線分を多数含む図形には不向き

直線の検出

36