pnmにpnmのマスクによるフィルターをかける
ppmconvol convolutionfile [pnmfile]
convolutionfileをマスクとして使ってpnmにフィルターをかける。
convolutionfileとしてはpbm, pgm, ppmが使える。
pnmfileが指定されていなければ、入力は標準入力になる。
出力は標準出力になる。
ppmをフィルターとして使った場合はRGBそれぞれの値が別々にppmfileのRGBに
フィルターの値として使われる。
だからppmの場合はppmfileのRGBにそれぞれ違うフィルターをかけることもできる。
またconvolutionfileとして使われるpnmの解像度はたて、横とも奇数の値になって
いなくてはない。
フィルターをかける時の重みの値はその点の値をval、色数の最大値をmaxvalとして
val-maxval/2
となる。
たとえば
P2
3 3
18
6 7 8
9 10 11
12 13 14
のようなconvolutionfileをフィルターとして使うと実際は
-3 -2 -1
0 1 2
3 4 5
というフィルターを使ったのと同じである。
このコマンドは主に下の例のように画像をぼけさせる(平滑化)ために使われる。
P2
3 3
18
10 10 10
10 10 10
10 10 10
上のファイルをheikatu1.pgm、org.ppmを
P2
3 3
18
10 10 10
10 11 10
10 10 10
上のファイルをheikatu2.pgm、org.ppmを上と同じとしてpnmconvol heikatu2.pgm org.ppm > out2.ppmを実行するとout2.ppmは
Copyright (C) 1989, 1991 by Jef Poskanzer.