2値図形の変換 収縮と膨張(拡大と縮小) 収縮: 1の領域の境界(線上の)要素を取り除く処理 侵食、縮小とも呼ばれる 具体的に: 入力画像中の全ての1の画素に対して、 ① もし、その全ての近傍(4近傍、或いは8近傍)画 素も1であれば、出力画像の対応画素を1に、 ② さもなければ、出力画像の対応画素を0にする 効果: 画像のノイズなどによる、 ● 細い連結を切断する ● 孤立点を消す ・・・・・・・・・・・・・・・・・・・・・・・ ・・・●●・・・・●●・・・・・・・・・・・・ ・・・・●●●●●●●・・●●●●●●・・・・ ・・・・●●●●●●●●・・●●●●●●・・・ ・・・・●●●●・●●●・・●●●●●●・・・ ・・・・●●●●●●●・・・●●●●●●●・・ ・・・・●●●●●●●・・・●●●●●●・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・××・・・・××・・・・・・・・・・・・ ・・・・×××××××・・××××××・・・・ ・・・・×●●●×●●×・・×●●●●×・・・ ・・・・×●●×・×●×・・×●●●●×・・・ ・・・・×●●●×●×・・・×●●●●●×・・ ・・・・×××××××・・・××××××・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 膨張: 1の領域の境界(線上の)要素を“膨張し た大きい点”におよって置換える処理 拡張、拡大、伝播とも呼ばれる 具体的に: 入力画像中の全ての1の画素に対して、 出力画像の対応画素とその近傍(4近傍、或いは8近 傍)の画素を1にする 効果: 画像のノイズなどによる 誤って切断した(孤立した)領域を連結させる 穴を埋める ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・・・・・・・・・・ ・・・・●●●●●●●●・・・・・・・・・・・ ・・・・●●●●・●●●・・・・・・・・・・・ ・・・・●●●●●●●・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・・・・・・・・・・ ・・・●●●●●●●●●・・・・・・・・・・・ ・・・●●●●●●●●●●・・・・・・・・・・ ・・・●●●●●●●●●●・・・・・・・・・・ ・・・●●●●●●●●●・・・・・・・・・・・ ・・・・●●●●●●●・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 距離変換と骨格 距離変換とは、2値画像の 1の画素の画素値を、 その画素から最も近い0の画素までの距離 に置換える 変換のことである。 ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・●●●●●●●・・・・・・・・・・・・ ・・・・●●●●●●●●・・・・・・・・・・・ ・・・・●●●●・●●●・・・・・・・・・・・ ・・・・●●●●●●●・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・ 00000000000000000000000 00000000000000000000000 00001111111000000000000 00001222222100000000000 00001221012100000000000 00001111111000000000000 00000000000000000000000 00000000000000000000000 逐次型距離変換 1.距離の定義 (x, y)と(x’, y’)との間の距離は次のように定 義する。 d=| x - x’ | + | y - y’ | 2.入力画像の1の画素の画素値を十分大き い値にする ・・・・・・・・・・・・・・・ ・・・●●●・・・・・・・・・ ・・●●●●●●●●・・・・・ ・・●●●●●●●●●●・・・ ・・●●●●●●●●●●●・・ ・・●●●・・・●●●●●・・ ・・・・・・・・●●●●・・・ ・・・・・・・・・・・・・・・ 000000000000000 000888000000000 008888888800000 008888888888000 008888888888800 008880008888800 000000008888000 000000000000000 逐次型距離変換 3.左から右へ画素を一個ずつ、 そして上から下へ、一行ずつ 次のように画素値を更新する 現在の画素の画素値: I(x,y) 左の画素値+1: I(x-1, y) + 1 上の画素値+1: I(x, y-1) + 1 の中の最小の値を現在の画素値とする I(x,y)=min{I(x,y), I(x-1,y)+1, I(x,y-1)+1} 000000000000000 000888000000000 008888888800000 008888888888000 008888888888800 008880008888800 000000008888000 000000000000000 000000000000000 000111000000000 001222111100000 001233222211000 001234333322100 001234444433200 000000001234000 000000000000000 逐次型距離変換 4.3と同じの処理ですが、順番は3と 逆で、 右から左へ画素を一個ずつ、 そして下から上へ、一行ずつ 次のように画素値を更新する 現在の画素の画素値: I(x,y) 右の画素値+1: I(x+1, y) + 1 下の画素値+1: I(x, y+1) + 1 の中の最小の値を現在の画素値とする I(x,y)=min{I(x,y), I(x+1,y)+1, I(x,y+1)+1} 000000000000000 000111000000000 001222111100000 001233222211000 001234333322100 001234444433200 000000001234000 000000000000000 000000000000000 000111000000000 001222111100000 001233222211000 001222223322100 001111112222100 000000001111000 000000000000000 距離変換の結果の応用 1.骨格(軸)の抽出 中心軸の位置+太さ の情報を持っている → 対象の形状がわかる
© Copyright 2024 ExpyDoc