エッジ検出アルゴリズムでPrewitt、Sobel、Laplacian演算子の違いを知っている人はいますか?エッジ検出手法
他のものよりも優れていますか?
さまざまな状況で異なる演算子が使用されていますか?
エッジ検出アルゴリズムでPrewitt、Sobel、Laplacian演算子の違いを知っている人はいますか?エッジ検出手法
他のものよりも優れていますか?
さまざまな状況で異なる演算子が使用されていますか?
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フィルタは全く同じで、同じ目的で使用されます。第一次微分フィルタ間の重要な違いは、ノイズに
で動作これらの特性は、("Image Processing" by Bern Jähneに見出さ有名Jähne test patternsなど)人工的なテスト画像を用いて測定することができます。残念ながら、私はその本のPrewitt演算子について何も見つけられなかったので、独自の実験を行う必要があります。
最後に、これらのプロパティの間には常にトレードオフがあり、それらのプロパティのどちらがアプリケーションによってより重要かは決まります。
Nikyさん、ありがとうございました。それは素晴らしい反応で、私が探していたものです。受け入れられた答え:)。 – ale
インテルのJähneテストパターンは明らかに場所が変わっています(上記の回答ではデッドリンク)、私はそれらをここで見つけました:https://software.intel.com/en-us/node/503777 – winne2
@ winne2:ありがとう、私はリンク – Niki