プロが教える店舗&オフィスのセキュリティ対策術

6x6ぼかしマスクをかけるプログラムを作りたい。画像処理の専門書に「62x62ピクセルの2値画像(内四方2ピクセルは余白領域)があり、それに6x6ドットのぼかしマスクを2ドットずつオーバーラップさせることで、15x15ピクセルの標本化パターンを作成する」との記述がありました。

3x3ドットによる画像のフィルタリングプログラム例は探せば見つかるのですが、偶数倍フィルターにおいてはどのように実装すればよいかがピンときません。プログラムの参考例を教えて欲しいです。

A 回答 (2件)

別に奇数でも偶数でも変わりません。


要はマス目の数を一辺 m とした時、各画素の重みが 1/m^2 になるようにすればよいだけです。

ぼかしマスクを掛けるということは、つまり6×6の画素範囲を平均化して標本化するということですから、この6×6の範囲の各画素の値に重み 1/36 を掛けたものを36画素分合計して、これを標本値(15×15のうちの1ピクセル)とするということです。

この回答への補足

62ピクセルだと6や15で割り切れないので、どうやったら帳尻を合わせることができるでしょうか。

補足日時:2010/08/11 17:05
    • good
    • 0

> 62ピクセルだと6や15で割り切れないので、どうやったら帳尻を合わせることができるでしょうか。



 「2ドットずつオーバーラップさせる」とありますね。
 最初に(0,0)を左上とする6×6の領域を処理し、次は4ドット右に移動させた(4,0)を左上とする6×6の領域を処理します。こうやって4ドットずつ移動させると前回の処理とは2ドットずつオーパーラップしていきます。15回目には(56,0)を左上とする6×6の領域を処理しますが、これの右端は62x62ピクセルの画像の右端と重なります。

 こうやって右端まで行くと、今度は左端に戻って4ドット下に移動させた(0,4)を左上とする6×6の領域から同様に右に向かって処理していきます。これもひとつ前(上)の処理とは2ドットずつオーバーラップします。こうやって4ドットずつ下に移動して処理していくと、やはり15回目には(0,56)を左上とする6×6の領域から処理を始めることになり、この領域の下端は62x62ピクセルの画像の下端と重なります。

 こうやって15×15回の処理をして15x15ピクセルの標本化パターンを作成するのです。

この回答への補足

「2ドットのオーバーラップ」の意味がようやく理解できました。丁寧な解説をありがとうございます。

補足日時:2010/08/12 10:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!