2010-12-19 28 views
10

エッジ検出アルゴリズムでPrewitt、Sobel、Laplacian演算子の違いを知っている人はいますか?エッジ検出手法

他のものよりも優れていますか?

さまざまな状況で異なる演算子が使用されていますか?

答えて

16

laplace演算子は2次微分演算子で、残りの2つは1次微分演算子なので、さまざまな状況で使用されます。ソベル/プリウィットは勾配を測定し、ラプラシアンは勾配の変化を測定する。

例:

あなたが一定の傾斜(勾配)の信号がある場合:

Gradient signal: 1 2 3 4 5 6 7 8 9 

フィルタ応答であるので、第1微分フィルタ(ソーベル/プレウィット)は、勾配を測定します

勾配が一定であるため、この信号のラプスフィルタの結果は0です。

例2:あなたは、エッジ信号がある場合:

Edge:   0 0 0 0 1 1 1 1 

をソーベルフィルタ結果が一つのピークを持っています。ピークの符号は、エッジの方向に依存する。

ラプラスフィルタは2つのピークを生成する。エッジの位置はラプラスフィルタ結果のゼロクロスに対応:

Laplace result: 0 0 0 1 -1 0 0 0 

あなたがの方向とエッジを知りたいのであれば、あなたは第一次微分フィルタを使用すると思います。また、ラプラスフィルタは、SobelやPrewittよりノイズに敏感です。

一方、SobelフィルタとPrewittフィルタは全く同じで、同じ目的で使用されます。第一次微分フィルタ間の重要な違いは、ノイズに

  • 異方性

    • 感度のものがあります。理想的には、Xのためのフィルタ結果は、/ Yは、αは角度があるα罪とαCOS、に比例するはずです2つの正方形の合計はすべての角度で同じでなければなりません。
    • コーナー

    で動作これらの特性は、("Image Processing" by Bern Jähneに見出さ有名Jähne test patternsなど)人工的なテスト画像を用いて測定することができます。残念ながら、私はその本のPrewitt演算子について何も見つけられなかったので、独自の実験を行う必要があります。

    最後に、これらのプロパティの間には常にトレードオフがあり、それらのプロパティのどちらがアプリケーションによってより重要かは決まります。

  • +0

    Nikyさん、ありがとうございました。それは素晴らしい反応で、私が探していたものです。受け入れられた答え:)。 – ale

    +0

    インテルのJähneテストパターンは明らかに場所が変わっています(上記の回答ではデッドリンク)、私はそれらをここで見つけました:https://software.intel.com/en-us/node/503777 – winne2

    +1

    @ winne2:ありがとう、私はリンク – Niki

    関連する問題