BlueScreenTV

皆さん、私はいま素敵なところに来ています…

説明

ブルーバック合成: 背景を他の画像に差し替えます。

操作説明

キー機能
S背景画像を取得 (4フレーム分を使用)
D背景画像を3秒後に取得
<スペースキー>ブルーバック画像を取得 (4フレーム分を使用) し、許容範囲を 30 に設定
Bブルーバック画像を取得 (24フレーム分を使用) し、許容範囲を 30 に設定
C許容範囲を1縮める
V許容範囲を1拡げる

遊び方

青い布を壁に張り、青くない服を着ましょう。 まずカメラの前にハワイの絵葉書を置き、'S' キーを押して背景画像を撮ります。 'D' キーだと3秒間の猶予時間があります。 次にカメラを青い布に向けて固定し、自分が写らないようにカメラの視野からどいてから、 スペースキーを押してブルーバック画像を撮ります。 今度は青い布の前に立ち、'C' や 'V' キーを使って調整します。

合成を完璧に仕上げるためには、絵葉書に写っている写真と同じような方向から照明を当てるようにすると良いでしょう。ただし、青い布には影が写らないように気をつけましょう。これで、ハワイからのビデオ会議の準備は整いました!

制限

  • CPU パワーをかなり消費します。RippleTV といい勝負です。
  • 後に張る布の色は、写す対象と充分に違う色であれば、どんな色でもかまいません。
  • EffecTV は複数のビデオ入力をサポートしないので、ビデオケ(videoke) はできません。

開発者より

このイフェクトは現在写っているフレームと、あらかじめ登録したブルーバック画像との色の差を計算し、 その差が閾値より小さいピクセルを、背景画像のものと交換して表示します。 多くのウェブカムはノイズの多い画像しか得られないので、閾値による判定はうまくいきません。 そのため、ブルーバック画像は4フレームまたは24フレーム分から最小値と最大値を記録します (この手法は平均値を使うものに比べてより優れています)。 ノイズを除去するため、背景画像の撮影には4フレーム間の平均値を使用します。 また、3秒間の遅延の後に撮影することもできます。

背景差分のアルゴリズムは EffecTV の他のイフェクトのものとはかなり異なっています。 このイフェクトでは、max(diff(rgb)) という式で計算し、かつアンチエイリアスをかけています (高機能なフォトエディタと同様)。 さらに、ブルーバック画像の最大値と最小値の両方に用います。 ノイズを少なくするために、まず現在のフレームにぼかしをかけ、 孤立したノイズピクセルを薄めます。 このぼかしルーチンは、ソースコードの "#define USE_BLUR" をコメントアウトしてコンパイルすれば、飛ばすことができます。 アルゴリズムの最適化をいろいろと試すなら、 ソースコードの "#define PROFILING" のコメントアウトを解除するとよいでしょう。 もっとも、32ビットプロセッサでできる最適化はほとんどやったつもりですが。

作者

Nicolas Argyrou


Copyright (C) 2001-2006 EffecTV crew.