WIL説明書(C++)  3.0.0
変数
FVCL::Filter::ThinningMode 名前空間

細線化のアルゴリズム [詳解]

詳解

細線化のアルゴリズム

細線化のアルゴリズムを指定する定数です。
本ライブラリに実装するアルゴリズムは、以下の2種類です。


細線化とは、画像のトポロジー(連結性、穴、分岐)を保持しながら幅1の線分を得る方法です。
具体的には、以下の性質を持ちます。

  1. 線幅が1となる
  2. 線は元の図形のほぼ中心を通る
  3. 図形の連結性が保持されている
  4. 細線化の過程で中心線が大幅に縮まらない
  5. 小さな凹凸によりヒゲが発生しない
  6. 図形が回転しても中心線の形が安定している
  7. 線の交差部で中心線の形が歪まない


細線化処理は、対象画素が以下の6つの条件に当てはまる時に削除を行い、 線幅が1になるまで繰り返します。

  1. 処理対象色の画素
  2. 境界上に存在する画素
  3. 端点でない
  4. 孤立点でない
  5. 削除しても連結性を保持する
  6. 線幅が2の線分の片側だけを削除する


逐次型と並列型について:
細線化の過程で画素値を更新する方法の違いを意味しています。
逐次型は、前回の処理で更新した結果を次の処理に用います。 並列型は、前回の処理で更新された場合においても元の画素値を用います。
逐次型は、判定条件が単純ですが、前回の処理の影響で線がずれる傾向があり、 細線化結果が線画像の中心に位置しにくい欠点があります。
並列型は、判定を行う画像と更新を行う画像をそれぞれ保持する必要があり、 判定条件が複雑になる欠点があります。 しかし、細線化結果は線画像の中心に位置しやすい利点があります。
処理イメージ:
【入力画像】
ThinningMode_src.png

【Hilditch による結果】 【Deutsch による結果】
ThinningMode_Hilditch.png
ThinningMode_Deutsch.png
注釈:
ここに記載する説明は、『新編 画像解析ガイドブック』より一部引用しています。
参照
FVCL::Filter::CFvThinningFilter

変数

const INT Hilditch = 0
 ヒルディッチのアルゴリズム [詳解]
 
const INT Deutsch = 1
 ドイチュのアルゴリズム [詳解]
 

変数詳解

const INT FVCL::Filter::ThinningMode::Hilditch = 0

ヒルディッチのアルゴリズム

const INT FVCL::Filter::ThinningMode::Deutsch = 1

ドイチュのアルゴリズム


Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時13分02秒 for WIL説明書(C++) by doxygen 1.8.11