2枚の画像を合成コンポジット)するときは基本的に以下の手順で行なう。
例として上になる画像をpaste.ppm、下になる画像をsource.ppm
とすると、
以下のコマンドを使って実行してゆく。
ppmtopgm paste.ppm | pgmtopbm -threshold -value 0.01 | pbmmask > mask.ppm
pnmarith -multiply source.ppm mask.ppm > tmp.ppmtmp.ppm
pnmarith -add tmp.ppm paste.ppm > out.ppmout.ppm
コンポジットの原理は上の通りだが、もっと簡単なコマンドでも実行できる。 pnmcompというコマンドを使用して、以下の のようにすれば同じout.ppmが得られる。
ppmtopgm paste.ppm | pgmtopbm -threshold -value 0.01 | pnmcomp -alpha - paste.ppm source.ppm > out.ppm
マスクは、CGに限らずビデオなどでも、画像合成をする時に、下になる画像から、上になる画像の重なる部分だけを取り除くために使用される。
普通は白黒の画像が使われるが、半透明の効果を出す時はグレースケールの画像も使われる。
なぜマスクで下の画像を抜くかというと、2枚の画像を合成する時にはそれぞれの画像の同じ位置のピクセルの色を加算してゆくのでそのまま合成すると、下の画像の色が加えられて
となってしまうからである。