画像合成の方法

原理的な方法

2枚の画像を合成コンポジット)するときは基本的に以下の手順で行なう。

  1. 上になる画像のマスクを作る。
  2. 下になる画像からマスクを使って、マスクの部分を抜く。
  3. マスクによって抜かれた画像と上になる画像を重ねる。

例として上になる画像をpaste.ppm、下になる画像をsource.ppmとすると、 以下のコマンドを使って実行してゆく。

  1. mask.ppm(マスク)を作る。
    ppmtopgm paste.ppm | pgmtopbm -threshold -value 0.01 | pbmmask > mask.ppm
    
  2. source.ppmからマスクの部分を抜く。
     pnmarith -multiply source.ppm mask.ppm > tmp.ppm 
    
    tmp.ppm
  3. tmp.ppmとpaste.ppmを合成する。
     pnmarith -add tmp.ppm paste.ppm > out.ppm 
    
    out.ppm

画像合成の方法 (簡単な方法)

コンポジットの原理は上の通りだが、もっと簡単なコマンドでも実行できる。 pnmcompというコマンドを使用して、以下の のようにすれば同じout.ppmが得られる。

 ppmtopgm paste.ppm | pgmtopbm -threshold -value 0.01 | pnmcomp -alpha - paste.ppm source.ppm > out.ppm 

マスクとは(なぜマスクを使うか)

マスクは、CGに限らずビデオなどでも、画像合成をする時に、下になる画像から、上になる画像の重なる部分だけを取り除くために使用される。
普通は白黒の画像が使われるが、半透明の効果を出す時はグレースケールの画像も使われる。
なぜマスクで下の画像を抜くかというと、2枚の画像を合成する時にはそれぞれの画像の同じ位置のピクセルの色を加算してゆくのでそのまま合成すると、下の画像の色が加えられて となってしまうからである。


Home | Contents
Mail