ロビンソンコンパスマスク

ロビンソンコンパスマスクは、エッジ検出に使用される別のタイプの派生マスクです。この演算子は、方向マスクとも呼ばれます。この演算子では、1つのマスクを取得し、次の8つのコンパスの主な方向すべてに回転させます。

  • North
  • 北西
  • West
  • 南西
  • South
  • 南東
  • East
  • 北東

固定マスクはありません。あなたはどんなマスクでも取ることができます、そしてあなたはそれを回転させて上記のすべての方向のエッジを見つける必要があります。すべてのマスクは、ゼロ列の方向に基づいて回転します。

たとえば、北方向にある次のマスクを見て、それを回転させてすべての方向マスクを作成しましょう。

北方向マスク

-1 0 1
-2 0 2
-1 0 1

北西方向マスク

0 1 2
-1 0 1
-2 -1 0

西方向マスク

1 2 1
0 0 0
-1 -2 -1

南西方向マスク

2 1 0
1 0 -1
0 -1 -2

南方向マスク

1 0 -1
2 0 -2
1 0 -1

南東方向マスク

0 -1 -2
1 0 -1
2 1 0

東方向マスク

-1 -2 -1
0 0 0
1 2 1

北東方向マスク

-2 -1 0
-1 0 1
0 1 2

ご覧のとおり、すべての方向がゼロ方向に基づいてカバーされています。各マスクは、その方向のエッジを提供します。次に、上記のマスク全体の結果を見てみましょう。すべてのエッジを見つける必要があるサンプル画像があるとします。これが私たちのサンプル画像です:

サンプル画像

次に、この画像に上記のすべてのフィルターを適用すると、次の結果が得られます。

北方向のエッジ

北西方向のエッジ

西方向エッジ

南西方向の端

南方向エッジ

サウスイーストディレクションエッジ

東方向エッジ

北東方向のエッジ

ご覧のとおり、上記のすべてのマスクを適用すると、すべての方向にエッジが得られます。結果も画像によって異なります。北東方向のエッジがない画像があるとすると、そのマスクは無効になります。