エッジ検出(4) ラプラシアン
2010/01/19 20:52 - AS3.0
今まで述べてきた、標準、プレヴィッツ、ゾーベル、ロバーツはいずれも一次微分によるエッジ検出というものだそうで、そのため水平方向と垂直方向なり対角線なりの二方向のマトリクスを要するんだとか。
それに対して、二次微分というものによるエッジ検出をおこなうとマトリクスは一つで済むという。 その二次微分によるマトリクスの一つがラプラシアンだそうです。
難しい理屈はさておき、そのマトリクスはどのように示されるのか。
「C言語で学ぶ実践画像処理」P47 には次の三つのマトリクスが示されています。
他の本の情報も総合するに、ここでいうラプラシアン1がラプラシアンにマトリクスの標準になるようです。
上の段が左から原画像、ラプラシアン1マトリクス適用。
下の段が左からラプラシアン2マトリクス適用、ラプラシアン3マトリクス適用。
前述したように、今までのエッジ検出は一組二つのマトリクスを使用していましたが、これは一つのマトリクスで済みます。つまりラプラシアンの場合は、適用 BitmapData を clone する必要がないってことです。
ラプラシアン適用の際に、それぞれ ConvolutionFilter の第5引数 bias に 128 を代入しています。
ラプラシアン3は実質効果なしみたいなもんですね。
ところでこのラプラシアンは、エッジ検出だけでなく、ボケた画像をシャープにする際にも使われるマトリクスなんだそうです。
エッジ検出ネタは書籍によるとまだまだ続くんですが、ここで一旦離れます(まだよく理解できていないので)。
次回はラプラシアンを使った鮮鋭化処理の話。