ビットマップ内の破線または形状を検出および修正する方法
-
22-07-2019 - |
質問
ビットマップ内の破線または図形を見つけることができるアルゴリズムを見つけたいです。バックとホワイト(塗り絵で使用される画像)の2色だけのビットマップがあり、互いに接続する必要がある曲線と線がありますが、スキャンエラーのために、白いビットが代わりに座っている状況を考えます黒いものの。それらをどのように検出する必要がありますか? (この仕事の後、ビットマップをベクターファイルに変換します。potraceアルゴリズムを使用します。)
アイデアがある場合はお知らせください。
解決
小さなギャップを修復する簡単なアルゴリズムを次に示します。
最初に、8つの隣接ピクセルのいずれかが黒の場合に黒のピクセルを作成するフィルターを使用します。これにより、一般的なアウトラインが大きくなります。
次に、余分な輪郭を削除するが、塗りつぶされたギャップのみを残す間引きフィルターを使用します。
いくつかのフィルターとパラメーターについては、この記事を参照してください: C#の画像処理ラボ
所属していません StackOverflow