細線化

二値化された画像において、線の中心1画素分だけを残すように線を細くする処理を細線化といいます。細線化のアルゴリズムにはHilditch、田村の方法、Zhang Suenなど、いろいろあるのですが、ここでは田村の方法について説明します。
細線化は黒の線を細くする場合と白の線を細くする場合が考えられますが、以下では白の線を細くするのを前提として説明しますので、黒の線を細くする場合は白と黒を読み替えて下さい。

 

細線化処理前 細線化処理後

 

ざっくり言うと、収縮処理をすると線幅が細くなりますが、線の長さが短くなったり、細い線は消えてしまったりするので、線の端点や交点、線幅が1となった画素などを除去しないように条件を付けながら収縮処理を行います。

 

処理をフローチャートを以下に示します。

 

 

画像全体にラスタスキャンを行い、注目画素の3×3画素の並びがパターン1に該当する場合は中心の画素を除去(白から黒に変える)します。ただし、除去しないパターンに該当する場合は除去を行いません。

パターン1に該当する画素が1画素も無ければその時点で終了です。

次にパターン1の時と同様に3×3画素の並びがパターン2に該当する場合は中心の画素を除去(白から黒に変える)します。ただし、除去しないパターンに該当する場合は除去を行いません。

パターン2に該当する画素が1画素も無ければその時点で終了です。そうでない場合はパターン1の処理に戻り、除去する画素がなくなるまでパターン1、パターン2の除去処理を繰り返します。

 

 

 

画像処理アルゴリズムへ戻る

 

画像処理フィルタ一覧、比較

各種、画像処理を下記に示します。
処理の名前の部分にリンクが張ってあるものは、より詳細な説明がありますので、そちらを参照願います。

 

処理前 処理後
二値化Pタイル法判別分析法(大津の二値化)
移動平均フィルタ(カーネルサイズ7×7)
ガウシアンフィルタ(カーネルサイズ7×7)
メディアンフィルタ(カーネルサイズ7×7)
ソーベルフィルタ
Canny edge detection
細線化
ガンマ補正
アンシャープマスキング
バイラテラルフィルタ
膨張
収縮
オープニング
クロージング
トップハット
ブラックハット(ボトムハット)
ラベリング
色変換(色相抽出)
疑似カラー

 

 

画像処理アルゴリズムへ戻る