はじめに
次回のblogを書きはじめようとした時、TouchDesignerの使い始めのころに疑問を持った、映像に色を付ける方法について記載したほうがいいかな、と思いました。途中に入れると話の流れが切れるし、分量が長くなりそうだったからです。そこでblogの1回使う程の内容ではありませんが、独立して記載することに致します。TOPを使った映像の分解と合成の方法を紹介致します。基礎的な内容になっています。
TOPを使った色操作によるオブジェクトの取り出し方法
over TOPとcompositie TOPのOperation Addとの違い

上の画像で、1はバナナと背景映像とをover TOPで合成する構成です。背景の上にバナナの画像が描がかれています。一方2は、バナナと背景映像が composite TOPのOperation Addで合成しています。この時バナナの色が変化していることが分かります。これは背景のバナナの位置にあるピクセル情報とバナナのピクセル情報とがAddされたためです。このようにover TOPとcompositeのAddとは違う機能です。
3はバナナの背景をtransform TOPを使って黒色にした場合です。transform TOPのBackground Colorの0,0,0,1にして、Comp Over Background Colorをonにするとできます。
4はconstant TOPを用意して、over TOPで合成することで背景黒色のバナナ画像を作っています。黒の背景の上にバナナが描かれたわけです。3, 4は方法が違うだけで結果は同じです。このように、オブジェクトがある場合、1, 2で使ったような背景が無い場合と、3,4のように背景がある場合があります。背景の色は設定できます。
5は背景画像に背景が黒のバナナの画像をover TOPした場合です。1と比較すると分かるように5では背景が黒色になっています。ここに注意が必要です。これは背景映像の上に背景が黒のバナナを配置したからです。つまりover TOPで画像を合成する場合、バナナの下に背景画像を付けたい場合、バナナに背景が無い場合の画像でover TOPしないといけないのです。
6は背景が黒のバナナと背景映像をcomposite TOPでAddした場合です。これは2と同じ画像が得られています。2つの画像をAddするわけですが、黒は0,0,0ですからバナナの背景は背景映像がそのままになります。しかしバナナの位置では色は合成されます。バナナの背景を黒にしていないと、complosite TOP後の背景の色も変わります。composite TOPの場合はオブジェクトの背景の色で結果の背景の色も変わります。
オブジェクトに黒の背景がある場合、オブジェクトの色を変えずに背景を足すにはどうするのか?
ここで当然の疑問が生じます。オブジェクトに背景がある場合、over TOPでもcomposite TOPどちらを使っても、オブジェクトだけと背景映像との合成にはなりません。それではどうして、オブジェクトだけと背景映像との合成をすればよいのか?という疑問です。次の画像1はその解決方法です。

1を見てください。黒の背景付バナナをthreshold TOPでオブジェクトの白色をつくります。threshhold TOPを使うとある値以上を取るので、黒の背景は無くなります。これがポイントです。背景映像からthreshold TOPを引き算します。これを行うのが、compsite TOPでOperation Subtractです。背景映像からバナナの所だけが抜かれます。これと背景黒のバナナとを次は足算します。composite TOPのAddです。黒の背景は0,0,0ですから、背景映像と足すと背景だけになります。そして抜いたバナナの所に、黄色バナナが入ります。
2は1の方法の問題点を指摘するために書きました。これは背景が青いバナナの映像に対して同様な操作を行った場合です。出力をみていただくと、バナナの背景が青くなっていることがわかります。この映像は綺麗ですので、これでOKとする場合もあるでしょう。寧ろ背景の雰囲気を変えるのに使います。しかし元の背景にバナナだけを付けたいという場合は問題となります。
オブジェクトに黒以外の背景がある場合、オブジェクトの色を変えずに背景を足すにはどうするのか?
上の節では、黒背景のバナナだと背景映像と合成ができました。しかし青背景だと背景映像と合成した時、青の影響を受けることが問題でした。そこで次に考えることは、青背景のバナナを黒背景のバナナに変換することです。これができれば上の節の1と同じです。この方法には2つあります。どちらでもできます。また次の節ではchroma key TOPを使う方法も示しています。

1は青背景のバナナをthreshold TOPを使って背景無の白いバナナを作ります。一方でconstant TOPで黒を作ります。この黒からthreshold TOPのバナナを引き算します。すると黒背景のバナナの形状が抜けた画像ができます。これがconposite TOPのSubstactです。次に青背景のバナナの上に、黒背景の抜きバナナを重ねます。そうすと、黒背景のバナナができます。これがover TOPです。後は前節と同じです。
2はこれまで書いてきた重ねる形を抜くという考えと異なる方法で黒背景のバナナを作ります。このポイントはhsv adjust TOPです。これは指定した色と同じあるいは似た色を元の画像から抜く事ができます。例えばRGBが1,1,1の場合、白色になります。これからBの青を抜くと黄色になります。hsv adjust TOPを使うとこのようなことができます。何色をRGBから抜くのかを指定するわけですが、ここでは丁寧に行っています。まず背景の一部をcrop TOPで取り出しanalyze TOPでaverageします。今回一色ですのでこの色のRGBが得られます。top to CHOPはそれを取り出す操作です。取り出したRGBをhsv adujust TOPのStart Colorに設定します。初期設定からHue Rangeを0にValue Mutiplierを0に、Suturation Multiplierを0に設定してFue Falloffのバーを動かします。これで色が抜けていきます。背景が黒になるところで止めます。後は前節と同じです。
背景がある場像から特定のオブジェクトを抜き出し、別の背景を足すにはどうするのか?
次に複雑な背景から特定のオブジェクトを抜き出し、それを別の背景に付けることを行ってみます。
1.Chroma Key TOPを使う場合
これは特定の色を残し他を消していく方法です。これは便利な方法で、前の節の目的にも使えます。

元画像からchroma key TOPを2回使うことで、バナナだけを取り出しています。パラメータはそんなの多くないので、変化を見ながら調整すると良いでしょう。背景の無いバナナが簡単にできます。その後別の背景をover TOPで重ねています。
バナナの形の白色を作って、それをcomposite TOPで抜く操作を上述してきました。しかしchroma key TOPを使うとその必要もなく、同様なことができます。特定のオブジェクトを抽出できる便利な方法です。単純にオブジェクトだけを抽出するならお勧めです。
2.hsv adjust TOPを使う場合
次は指定した色を抜いていく方法です。chroma key TOPが特定の色を残すのに対して、逆に特定の色を除いていきます。今回の目的ではありませんが、オブジェクトと背景の一部を残しながら抜く場合に便利です。

右下の画像からバナナを抜き出し、左上の画像のように別の背景と合成します。これは黒背景にバナナの場所だけを切り取った画像を作り、それを元画像の上に貼れば、黒背景のバナナの図が作れます。後はこれまでと同様です。結局はthreshold TOPでバナナだけを白色にするわけですが、背景の色が残っていると、バナナだけになりません。そこで背景の色を取り除いていきます。これがhsv adjust TOPのアレイです。最初青の色を設定して取り除き、次に白の色を設定して取り除いています。三番目も白っぽい色を設定して除いています。その後threshold TOPで形を得ます。黒のconstant TOPからthrehold TOPをcomplosit TOPのSubtractで抜き出します。これで背景黒のバナナを抜いた画像ができました。元画像の上に重ねるのが、over TOPです。これで黒背景にバナナが作れました。別背景を用意します。これからバナナの形を抜きます。図ではthreshold TOPをover TOPから作っていますが、すでに作製してあるhsv adjust TOPの後のthreshold TOPを利用してもかまいません。composite TOPで背景画像から形を抜いておいて、それを背景黒のバナナと合成します。これがcomposite TOPのAddです。この方法ではhsv adjust TOPのアレイでバナナだけにできるかがカギです。
おわりに
色情報を使って、画像からオブジェクトを切り出す方法と合成する方法述べました。今回は、over TOP, composite TOP, chromakey TOP, hsv adjust TOPを使う場合を紹介致しました。他にも方法があります。基礎的な内容ですが、使う機会は多いと思います。オブジェクトだけを切り出すことをしないで、composite TOPを使うと、オブジェクトや背景の色が変化しながら合成されます。これが感じのいい場合も多くあり、かならずしもオブジェクトを切り出す必要があるわけではありません。画像を見ながら偶然性を利用することも重要です。ただ意図的に個別のオブジェクトの色を操作しようという場合は、切り出し、そのオブジェクトに対してlevel TOPやlook up TOPとramp TOPを使って色を変えることになります。TouchDesignerはTOPだけでも豊富な色の変え方があります。そして更にSOPでも色を変える方法があります。またgeo COMPでも、MATでも、GLSLを使っても変えることができます。特に使い始めは、ありすぎて、どれをつかうのがよいか迷います。今回はTOPの色操作の基本について述べました。

コメント