1

白い背景に暗いドーナツがあるとしましょう。任意のピクセルの値 (0 = 白ではない、1 = 白) と隣接するピクセル値のみを見て、画像上で見つかった 2 つの白い領域のどちらがドーナツの内側にあるかを判断する良い方法は何ですか?

ダークドーナツ
(ソース: 123rf.com )

4

2 に答える 2

3

WhitAngl の答えは正しいので、私の答えは、画像処理に関連するいくつかの問題を文脈に合わせただけです。これらを認識している場合は、素朴で申し訳ありません。

最初の画像が与えられた場合、エッジを検出するという独自の問題により、そのエッジを単純に考慮すると、誤った結果が得られます。それらは壊れている可能性があり、検出されない可能性があります。また、独自の考慮事項から、0 = 白ではない、1 = 白を単純に使用することはできません。元の画像では、これはそのような考慮の結果です:

ここに画像の説明を入力

このようなより良いバイナリ表現があると仮定すると、次のようになります。

ここに画像の説明を入力

次に、WhitAngl の回答が完全に適用されます。また、この場合、答えは次のように単純化できます。白いピクセルに接触している外側のエッジの黒いピクセルがある場合、この白いピクセルは内側のピクセルではありません。これは与える:

ここに画像の説明を入力

すべての白いピクセルがドーナツの内部にあります。

于 2012-12-03T16:23:47.733 に答える
3

コンピュータ グラフィックスでは、この問題はジオメトリ処理のコンテキストで広く研究されています。目標は、ポイントがポリゴンの外側にあるか外側にあるか (穴がある可能性があります) を知ることであり、たとえば色の塗りつぶしに使用されています。

最も一般的な解決策は、現在のポイントからランダムな方向に線を引いて (簡単にするために、水平走査線を使用できます)、境界との交点の数を数えることです。この数字が偶数なら外側、奇数なら内側です。

画像処理のコンテキストでは、エッジ検出手法 (たとえば、ソーベル演算子) を使用して境界を検出できます。与えられた点から (たとえば) 1 つの行を右に歩いて、見つかったエッジの数を数えることができます。

于 2012-12-03T06:48:49.350 に答える