1

連結成分のラベル付けで、左のピクセルと現在のピクセルの上のピクセルの色が同じでラベルが異なることがわかった場合、それらのラベルを同じになるように自動的に再割り当てできませんか (等価テーブルを使用する代わりに) ?

ウィキペディアMathWorksは現在のピクセルに最小ラベルを割り当てますが、それ以外の場合は隣接するピクセルを同じままにします。次に、別のパスでラベル テーブルを磨きます。私が間違っていない限り、私の微調整により、1回のパスで画像に均一にラベルを付けることができます。ちょっとした調整でアルゴリズムが壊れる例はありますか?

4

1 に答える 1

1

2 番目のパスを排除することはありません。隣接するピクセルのラベルを変更した場合、隣接するピクセルはどうなるでしょうか? 基本的に、このイベントが発生した場合、2 つのラベルが同じ等価クラスにあることがわかります。ただし、これらのラベルを再割り当てするには、これまでに調べたすべてのものを確認する必要があります。2 回目のパスでそれを行い、すべての再割り当てを 1 回のスイープで行うこともできます。

例:

+-+-+-+
|?|?|A|
+-+-+-+
|B|B|x|
+-+-+-+

ピクセル x を調べると、北と西の両方のピクセルに一致します。A が最小ラベルであるとします。したがって、3 つのピクセル A にラベルを付けることを選択しますが、他の B ピクセルにラベルを付け直すことはありません。A==B を記録する必要があり、残りの B を再ラベル付けするためにスイープする必要があります。さらに、後で A 自体が他の小さなラベルと同等であることに気付く場合があり、これらすべてのピクセルを後で再ラベル付けする必要があります。

于 2012-01-27T21:23:51.583 に答える