2値画像処理 元画像 グレー画像 2値画像 単純な図形、文字から構成される図形・画像を表すには、 2個の画素値があれば良い。 例: 図形(文字)の画素値: 1 背景の画素値: 0 このような、画素値が2個しか持たない画像は、 2値画像(binary image) と呼ばれる。 2値画像処理の意義 ① 文字や図面のような、本質的に2値の画像が 多い ② カラー画像、濃淡画像の処理結果は2値画 像となる場合が多い ③ 2値画像の場合、1(あるいは0)の画素から 構成する部分の形は解析される対象となるの で、幾何学的な概念、手法が利用できる 画像の2値化 カラー画像、グレー画像を2値画像に変 換する処理のこと 主な目的は元画像から関心のある部分 を抽出することである 例: 文字の抽出 特定の色の部分の抽出 特定の明るさの部分の抽出 動物体の抽出 など さまざまな2値化の結果 閾値による2値化 グレー画像の場合、まず基準となる明るさを選択する この基準明るさを閾値と呼ばれる。 画素値が閾値以上の画素を1の画素に、 画素値が閾値未満の画素を0の画素に 変換する。 1 ; f t ( x, y) 0 ; f ( x, y) t のとき f ( x, y) t のとき f x (i, j) 閾値の決め方1 p-タイル法 前提:抽出すべき対象の面積が既知 S 0 :対象の面積 S :画像の面積 Histgram S0 S1 t p 1 p S1 S 2 S1 S2 S f x (i, j) 閾値の決め方2 モード法 対象はほぼ同じ明るさ、背景もほぼ同じ 明るさの場合、濃度値ヒストグラムが双峰 型の分布になる。 二つの峰の間の谷底を閾値 t とすればよ い 画素の連結性 互いにつながっている(隣接している)画素同士 は互いに連結していると定義する 4-近傍 8-近傍 連結成分の解析 ラベリング 2値画像のラベリング ・・・●●●●・・・・・・●●・・・・・・・・ ・・●●●●●●・・・・・●●●●・・・・・・ ・・・●●●●・・・・・・●●●●・・・・・・ ・・・・・・・・・・・・・●●●●●●・・・・ ・・・●●・・・・●●・・・・・・・・・・・・ ・・・・●●●●●●●・・●●●●●●・・・・ ・・・・●●・・●●●●・・●●●●●●・・・ ・・・・●●●・・●●●・・●●・・●●・・・ ・・・・●●●●●●●・・・●●・・●●●・・ ・・・・●●●●●●●・・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 2値画像のラベリング ● 2値画像には、連結している複数の領域が存 在する。 ● それらを区別するために、一つの領域に一 つの数値を割り当てる。 ● その数値をラベルと呼ぶ。 ● 2値画像にある個々の領域に別々のラベルを つける処理はラベリングという。 アルゴリズム1 領域成長法 処理を始める前に: 1.種画素の座標位置を保存するためのスタック(stack)を 用意する。 2.結果を保存するための画像領域を用意する。 領域成長法: 1.種を見つける。画像の左上の画素から、一個ずつ左か ら右へ、そして一行の処理が終わると、次の行の処理に移 しがなら、画素値が1の画素を探す。見つからなかったら、 処理が終了する。 アルゴリズム1 領域成長法 →→→→→→→→→→→→→→→→→→→→→→→ →→→●●●●・・・・・・●●・・・・・・・・ ・・●●●●●●・・・・・●●●●・・・・・・ ・・・●●●●・・・・・・●●●●・・・・・・ ・・・・・・・・・・・・・●●●●●●・・・・ ・・・●●・・・・●●・・・・・・・・・・・・ ・・・・●●●●●●●・・●●●●●●・・・・ ・・・・●●・・●●●●・・●●●●●●・・・ ・・・・●●●・・●●●・・●●・・●●・・・ ・・・・●●●●●●●・・・●●・・●●●・・ ・・・・●●●●●●●・・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 2.新しい種画素が見つかり、その位置をPとする と、 2.1 新しいラベルを割り当てる(Lとする) 2.2 元画像からその画素を削除する(P位置 の画素値を0にする) 2.3 結果画像のP位置の画素値をLにする。 2.4 Pを種スタックに保存する。 種スタック=[ (3, 1) ] 2.新しい種画素が見り、その位置をPとすると、 2.1 新しいラベルを割り当てる(Lとする) 2.2 元画像からその画素を削除する(P位置の画素値を0にする) 2.3 結果画像のP位置の画素値をLにする。 2.4 Pを種スタックに保存する。 →→→→→→→→→→→→→→→→→→→→→→→ ・・・・・・・・・・・・・・・・・・・・・・・ →→→○●●●・・・・・・●●・・・・・・・・ ・・・1・・・・・・・・・・・・・・・・・・・ ・・●●●●●●・・・・・●●●●・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・●●●●・・・・・・●●●●・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・●●●●●●・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・●●・・・・●●・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・●●●●●●・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●・・●●●●・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●・・●●●・・●●・・●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・●●・・●●●・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 種スタック=[ (3, 1) ] 3.種スタックから1個の種位置を取り出して、元画像のその位置の上下左右の 画素をチェックし、画素値が1の画素であると、 3.1 元画像のからその画素を削除する(その画素値を0にする) 3.2 結果画像のその位置の画素値をLにする。 3.3 その位置を種スタックに保存する。 →→→→→→→→→→→→→→→→→→→→→→→ ・・・・・・・・・・・・・・・・・・・・・・・ →→→○○●●・・・・・・●●・・・・・・・・ ・・・11・・・・・・・・・・・・・・・・・・ ・・●○●●●●・・・・・●●●●・・・・・・ ・・・1・・・・・・・・・・・・・・・・・・・ ・・・●●●●・・・・・・●●●●・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・●●●●●●・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・●●・・・・●●・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・●●●●●●・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●・・●●●●・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●・・●●●・・●●・・●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・●●・・●●●・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 種スタック=[ (4, 1) (3, 2) ] 4.種スタックが空になるまで、3の処理を繰り返して行う。 →→→→→→→→→→→→→→→→→→→→→→→ ・・・・・・・・・・・・・・・・・・・・・・・ →→→○○○○・・・・・・●●・・・・・・・・ ・・・1111・・・・・・・・・・・・・・・・ ・・○○○○○○・・・・・●●●●・・・・・・ ・・111111・・・・・・・・・・・・・・・ ・・・○○○○・・・・・・●●●●・・・・・・ ・・・1111・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・●●●●●●・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・●●・・・・●●・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・●●●●●●・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●・・●●●●・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●・・●●●・・●●・・●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・●●・・●●●・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 種スタック=[ ] 5.1の処理を行う。 ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・○○○○・・・・・・○○・・・・・・・・ ・・・1111・・・・・・22・・・・・・・・ ・・○○○○○○・・・・・○○○○・・・・・・ ・・111111・・・・・2222・・・・・・ ・・・○○○○・・・・・・○○○○・・・・・・ ・・・1111・・・・・・2222・・・・・・ ・・・・・・・・・・・・・○○○○○○・・・・ ・・・・・・・・・・・・・222222・・・・ ・・・○○・・・・○○・・・・・・・・・・・・ ・・・33・・・・33・・・・・・・・・・・・ ・・・・○○○○○○○・・○○○○○○・・・・ ・・・・3333333・・444444・・・・ ・・・・○○・・○○○○・・○○○○○○・・・ ・・・・33・・3333・・444444・・・ ・・・・○○○・・○○○・・○○・・○○・・・ ・・・・333・・333・・44・・44・・・ ・・・・○○○○○○○・・・○○・・○○○・・ ・・・・3333333・・・44・・444・・ ・・・・○○○○○○○・・・○○○○○○・・・ ・・・・3333333・・・444444・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 種スタック=[ ] 2値画像の連結性 連結性を失わずに,領域の輪郭線の画素を削ることにより,領域を細くする. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 =境界線上の画素 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 細くなった領域
© Copyright 2024 ExpyDoc