概要
形態演算子(morphology operator)とは、画像を"ある形"に基づいて処理するような演算子の集合のこと。"ある形"とは四角形や楕円などで、その形をカーネルのように考えていろいろな処理を行う。OpenCVでは、以下の7つの処理を行うことが出来る。
形態演算子 | 概要 |
Erosion | 明るい領域を"侵食"する処理。 ピクセルの輝度をカーネルで定義された領域内の最低輝度で置き換える。 |
Dilation | 明るい領域を"拡大"する処理。 ピクセルの輝度をカーネルで定義された領域内の最高輝度で置き換える。 |
Opening | ErosionのあとにDilationを行う。 小さな物体(暗い背景の中の明るい物体)を除去できる。 |
Closing | DilationのあとにErosionを行う。 小さな物体(明るい背景の中の暗い物体)を除去できる。 |
Morphological Gradient | Dilation処理をした画像からErosion処理をした画像を引く。 物体の境界を検出できる。 |
Top Hat | 元の画像からOpening処理をした画像を引く。 |
Black Hat | Closing処理をした画像から元の画像を引く。 |
実行結果
まず元ネタ。
Erosion処理をした結果。白い領域が侵食されて黒文字が太字になった。
Dilation処理をした結果。白い領域が広がって、黒文字が細字になった。
Opening処理をした結果。黒に囲われた白い領域が潰れた。
Closing処理をした結果。白い背景の中の黒い部分が潰れた。小さい黒の塊から潰れていった。
Morphological Gradient処理をした結果。文字の外枠部分を検出できた。
参考URL
[1] Eroding and Dilating[2] More Morphology Transformations
0 件のコメント:
コメントを投稿