一次差分法でエッジを検出する方法はありますが、さらに考えますと、一次差分が最大値に至ったときにエッジが記録されます。一次差分が最大値に達する点は、二次差分の符号が変わる時でもあります。なので、二次差分の符号が変わる点を割り出せば、エッジが分かるはずです。
この中、もっとも簡単なものかも知れませんが、ラプラシアン法があります。ラプラシアン法は下記のようなテンプレートを使用します。
\(
\left[ \begin{array}{rrr}
0 & -1 & 0 \\
-1 & 4 & -1 \\
0 & -1 & 0
\end{array} \right]
\)
このテンプレートの出力結果は図1にあります。
結構酷いですね。じゃあ、もうちょっと平均してみましょうか、なので、下記のような周辺8点を全部入れましょう。
\(
\left[ \begin{array}{rrr}
-1 & -1 & -1 \\
-1 & 8 & -1 \\
-1 & -1 & -1
\end{array} \right]
\)
この結果は図2にあります。
あまり変わりませんね。では、閾値を設定してみれば?つまり、単なる正負が変わっただけではなく、正負が充分変わった場合のみ使用しましょう。仮に、近隣の二次差分のあたりは \( D_1 \) と \( D_2 \) とすると、\( T \)という閾値を負の方向に大きくすれば一定のフィルタリングは効くと考えられます。これは下記の条件になります。
\(D_1 \cdot D_2 < T < 0\)
結果を見てみましょう。図3です。
全然ダメですね、エッジになるべき顔の輪郭は全く無くなっています。
じゃあ、処理の前にガウススムージングを掛けましょう。図4になります。
やはりダメですね。
これで、ラプラシアン演算子は独自ではうまく使えないことは分かりました。原因としては、二次さ分はノイズにとても影響されやすいです。ラプラシアンの周波数応答で原因が現れます。
中高周波数のノイズに対してはかなり増強していることは見れます。結論としては、今回の例のようなノイズを含む画像に対しては、ラプラシアン法は適しないことが理解できます。