鮮鋭化
2010/01/21 20:49 - AS3.0
前回、ラプラシアンでエッジ検出というものを見ました。
「実践画像処理入門」P48,49 や「OpenGL+GLSLによる画像処理プログラミング
」P111 には、このラプラシアンによる鮮鋭化(高域強調)についての言及があります。
いずれの本にも複雑な微分式が書いてあるのですが、ActionScripter 的に必要なことだけを述べると、ボケた画像をシャープにするためのマトリクスは以下のように記述することができるそうです(「実践画像処理入門」P49)。
エッジ検出のラプラシアンの各要素を逆数にして、注目点は1をプラスしている状態ですね。 で、この a に代入する値を増やすとシャープ度も増すっていう寸法とのこと。
以下のサンプルは a に 1 を代入した状態のものです。 原画(左)には平滑化として BlurFilter(2, 2, BitmapFilterQuality.MEDIUM) をかけています。 たしかにボヤけてしまった画像がクッキリしていますね。
この鮮鋭化ラプラシアンの a の値をスライダーで変えられるようにしたのが、下のサンプルです。
鮮鋭化ラプラシアンがエッジ検出ラプラシアンの逆数になっていることから考えると a にマイナスの値を代入することは想定されていないのかもしれませんが、実験ってことでやってみました。
a の値をマイナスにすると輪郭が強調されますね、って a をマイナスにするってことは、エッジ検出のラプラシアンになるんだから当然の結果か。
ちなみにこの鮮鋭化エフェクタは、先般 wonderfl に投稿した「ウェブカム・エフェクト」のコードの中に記述してありますので、興味のある方はそちらも併せてご覧ください(解説は「nengafl に投稿したよ」にて)。
favorite よりも fork 激希望!(おい)