2010-11-24 4 views
0

私は物理的な制限を持つ子供のための簡単なぬりえの本に取り組んでいます。 教師は閉領域のみで構成されたプログラムに画像を挿入することができます。 それから、画像を分析し、閉鎖されたすべての領域(子供が色付けできる場所)を見つける必要があります。 塗りつぶすことができるすべての領域が次々と輝くので、これを行う必要があります。 私はfloodfillでこれを達成できると思うので、すべての閉領域の中にポイント(X、Y座標)が必要です。WPF:画像内のすべての閉じた領域を見つける(C#またはVB)

誰でもこれのようなことをしましたか? いくつかのヒントやソースコードがありますか?

多くの感謝!

答えて

2

私はそれ自体がWPFで多くの経験を持っていないが、私はおそらく、このようなアルゴリズムを使用します。

まず、私は画像を想定していますことは、厳密モノクロです。つまり、純粋な黒(ライン)ピクセルと純粋な白(透明領域)ピクセルのみが存在します。

  1. トゥルーカラー
  2. に画像を変換し、左上のピクセルを調べます。
  3. この画素が白であれば、洪水が
  4. 新しい独特の色で塗りつぶします右に移動し1ピクセル(範囲外の場合は、1と左にすべての方法を下に移動)
  5. ゴーへ3

ここで、画像内のすべての領域の色が異なります。

+0

お寄せいただきありがとうございます。私はそれが十分に速くなるか分からないが、私はそれを試してみるだろう。 – Jackerd

+0

幸運を祈る!より速い方法を見つけたら、私達に連絡してください:D –

+0

それは動作し、私のために十分に速いです。ご協力いただきありがとうございます! – Jackerd

関連する問題