クロマキー合成01
使用ソフト:Blender 2.63
BlenderのCompositing機能を使い、ブルーバックやグリーンバックの映像に背景を合成する方法を解説します。
ビデオ編集ソフトを使わずともBlenderで無料でクロマキー合成が実現できます。


グリーンバック合成用のノード構成は上のようになっています。
ノード構成は大きく分けて三つに分けられます。
1.グリーンバック撮影画像に透明度情報を付与
2.背景合成用画像 or CG
3.輪郭ぼかし用
まず1と2を説明し、3は次のチュートリアルに回します。
またこの方法は私がテキトウに考えたものでスタンダードな方法かどうかは知りませんので注意してください。
チュートリアルには下の画像を利用します。

"Hollywood Camera Work"内フリー素材からダウンロードさせて頂きました。
http://www.hollywoodcamerawork.us/greenscreenplates.html
【1.グリーンバック撮影画像に透明度情報を付与】

方針:緑色の程度を元に、透明度チャンネル用の白黒画像をつくる。白が不透明で黒が透明。緑色のところほど黒くする。
まずノードBの「Separate HSV」で入力画像AをHSVに分解します。
HSVとは色を赤緑青で表すのではなく、色相、彩度、明るさで表すものです。
ノード出力のHを次のノードに繋ぎます。
次にノードC「Color Ramp」で緑色の色相のみを黒くして出力します。
出力を見るとこのようになっています。

そしてノードD「Bright/Contrast」で明るさとコントラストを調節し、背景が黒く、目的物が白くなるよう調整します。
このようになります。

このままだと白領域に黒点の穴がいくつか空いたままなので、
ノードE「Blur」で透明度用画像をぼかして穴を埋めます。
最後にノードF「RGB to BW」で完全に白黒情報しかない画像にし、
ノードG「Set Alpha」で元画像Aに今まで計算した透明度画像を設定します。
その結果このようになります。

レース部分に緑色が残っているので、ノードH「Color Spill」を使います。
Color SpillノードはRGBチャンネルのいずれかの値を小さくします。ここでは緑色Gを選択します。
このようになります。

これで入力画像を緑色情報を元に透明化できました。
【2.背景合成用画像 or CG】

背景に画像or動画を使用するときは「Image」ノードや「Movie Clip」ノードを、
Blenderの3Dシーンを利用するときは「Render Layers」ノードを使ってください。
今回は合成がなじみやすいように背景画像をBlurノードでぼかしてあります。
合成する画像同士の解像度が異なると不自然になるので気を付けてください。
今までの結果をノードC「Alpha Over」で合成したのが下画像になります。

この結果は人物の背景の境界線にシャギーがあり不自然です。
次のチュートリアルで人物と背景の境界をぼかし、不自然さを低減させます。
関連するタグ Blender 2.63 クロマキー グリーンバック ブルーバック
BlenderのCompositing機能を使い、ブルーバックやグリーンバックの映像に背景を合成する方法を解説します。
ビデオ編集ソフトを使わずともBlenderで無料でクロマキー合成が実現できます。


グリーンバック合成用のノード構成は上のようになっています。
ノード構成は大きく分けて三つに分けられます。
1.グリーンバック撮影画像に透明度情報を付与
2.背景合成用画像 or CG
3.輪郭ぼかし用
まず1と2を説明し、3は次のチュートリアルに回します。
またこの方法は私がテキトウに考えたものでスタンダードな方法かどうかは知りませんので注意してください。
チュートリアルには下の画像を利用します。

"Hollywood Camera Work"内フリー素材からダウンロードさせて頂きました。
http://www.hollywoodcamerawork.us/greenscreenplates.html
【1.グリーンバック撮影画像に透明度情報を付与】

方針:緑色の程度を元に、透明度チャンネル用の白黒画像をつくる。白が不透明で黒が透明。緑色のところほど黒くする。
まずノードBの「Separate HSV」で入力画像AをHSVに分解します。
HSVとは色を赤緑青で表すのではなく、色相、彩度、明るさで表すものです。
ノード出力のHを次のノードに繋ぎます。
次にノードC「Color Ramp」で緑色の色相のみを黒くして出力します。
出力を見るとこのようになっています。

そしてノードD「Bright/Contrast」で明るさとコントラストを調節し、背景が黒く、目的物が白くなるよう調整します。
このようになります。

このままだと白領域に黒点の穴がいくつか空いたままなので、
ノードE「Blur」で透明度用画像をぼかして穴を埋めます。
最後にノードF「RGB to BW」で完全に白黒情報しかない画像にし、
ノードG「Set Alpha」で元画像Aに今まで計算した透明度画像を設定します。
その結果このようになります。

レース部分に緑色が残っているので、ノードH「Color Spill」を使います。
Color SpillノードはRGBチャンネルのいずれかの値を小さくします。ここでは緑色Gを選択します。
このようになります。

これで入力画像を緑色情報を元に透明化できました。
【2.背景合成用画像 or CG】

背景に画像or動画を使用するときは「Image」ノードや「Movie Clip」ノードを、
Blenderの3Dシーンを利用するときは「Render Layers」ノードを使ってください。
今回は合成がなじみやすいように背景画像をBlurノードでぼかしてあります。
合成する画像同士の解像度が異なると不自然になるので気を付けてください。
今までの結果をノードC「Alpha Over」で合成したのが下画像になります。

この結果は人物の背景の境界線にシャギーがあり不自然です。
次のチュートリアルで人物と背景の境界をぼかし、不自然さを低減させます。
- 関連記事
-
- クロマキー合成02 (2012/09/04)
- クロマキー合成01 (2012/09/01)
- バイラテラルフィルタによるノイズ低減 (2012/05/21)
- グレア効果の追加 (2012/04/14)