目次:
アイデアは、回転しているオブジェクトの短いビデオクリップを撮り、それをWebブラウザの無限ループで再生されるGIF89aファイルに変換することです。
レコードプレーヤーなどの電動ターンテーブルを使用することで、オブジェクトを一定の速度で回転させることができ、処理がはるかに簡単になります。ストップモーションアニメーションを使用するのではなく、通常のビデオを録画できます。
用品:
ステップ1:ターンテーブルを準備する
レコードプレーヤーからスピンドルを取り外します - レコードを中央に保持するピンです。それが自由に回転できるように、プラッターの上にカードやその他の材料を置きます。背景としての役割を果たすには、プラッタの下と後ろにもっとカードを置きます。
緑色のカードが使用されている場合、背景は後でクロマキープロセスを使用して置き換えることができます
ステップ2:ビデオを撮影する
ビデオカメラを三脚にセットして、カードが背景にある状態でモデルがはっきり見えるようにします。ビデオがトリミングされる可能性があるので、トーンアームなどのオブジェクトが片側から見える場合はそれほど問題ではありません。しかし、モデルは背景が遮られない空間で完全に回転するはずです。
照明を設定します。明らかな影を避けるために、私は白い天井から跳ね返ったディフューザーを備えた小型のハンドヘルドランプを使用しました、しかしそれは良いビデオ品質のために十分に明るくはありません。 (ここの画像は室内照明で撮影したものです)
モデルをプラッタの中心に置き、ターンテーブルを始めます。約1秒のビデオ - 少なくとも1回の完全な回転を取ります。必要に応じて、照明、カメラの高さ、フォーカスなどを変えて、もっと撮影してください。
ステップ3:ビデオを処理する
ビデオを処理する方法は、使用可能なソフトウェアによって異なります。私は以下のプログラムでLinuxを使っています。
mplayer - ビデオプレーヤー
ImageMagick - スクリプト可能な画像操作
xv(またはeog、displayなど) - 画像ビューアと操作
whirlgifまたはgifsicle - アニメーションGIFを作成するためのツール
xanim - アニメーションビューア
(これは私が他の人に推奨するものではなく、私がすでに持っていて慣れ親しんだフリーソフトウェアの集まりです。
取得します。 ImageMagickは多くのLinuxディストリビューションにプレインストールされています。
このツールセットを使って、ビデオを一連のJPEGフレームに変換し、トリミングしてこれらの画像のサブセットを選択しました。
それらをGIFに変換し、それらを合成GIFアニメーションに組み立てました。
$ mplayer -vo jpeg MVI_0035.AVI
00001.jpg、00002.jpg、00003.jpgなど、フレームごとに1つの画像が作成されます。
すべての回転におけるモデルを含み、トーンアームなどの不要な要素を除外する境界ボックスを見つけます。私はxvを使ってボックスを描き座標を表示しましたが、後でクロップボックスを推測して調整する方がおそらく簡単でしょう。下の図は典型的なバウンディングボックスを示しています。
2つのフレームを正確に1回転させてターンテーブルを回転させます(33 RPMのLP設定では約2秒)。介在するフレームをすべて保存します。不要なものを削除するのが最も簡単な方法です。例えば。フレーム1と54が同じ場合、フレーム54、55、56 … 103を削除しました。
連番ファイル0001.jpgなどを残す
画像をGIFに変換してトリミングします。以下はImageMagickの "convert"コマンドを使って私のために働きました。 バッシュ:
0のfの$ * jpg;行う
g = `echo $ f | sed / jpg / gif /`
convert -crop 400 x 350 + 160 + 78 $ f tmp.jpg
convert -resize 200x175 tmp.jpg $ g
終わった
これは、各フレームの中央から切り取られた、オリジナルの半分のサイズの連続画像00001.gif、00002.gifなどを提供します。
切り取った領域が正しくない場合は、数を変更して2、3のキーストロークでコマンドを再実行するのが簡単です。
中間のJPEGはおそらく必要ではありませんが、それがなければ私の最終的な画像はスクリーン上でオフセットされていました。
個々のGIFフレームを単一のアニメーションに組み立てます。
$ whirlgif -loop 0 -o MVI_0035.gif
または
$ gifsicle --colors 64 -O1 - careful --delay 10 --loopcount = forever 00 * gif> MVI_0035.gif
結果のGIFは、FirefoxなどのWebブラウザ、またはxanim(アニメーションをシングルステップで実行できます
ステップ4:背景を追加する
背景を追加するために、私は茶色のカードの背景を青い紙で覆い、回転するモデルの別のビデオを撮りました。それから私はモデルを取り除き、カメラを動かさずにターンテーブルのビデオを撮りました。次に、ImageMagickを使用して、前景から背景画像を減算し、ポジティブマスクとネガティブマスクの2つのマスクを作成しました。
次に、各ビデオフレームの背景を隠し、背景画像のモデルの形状を隠し、2つの画像を追加しました。
これはすべてループの内側に入るため、各フレームは別々に処理されてからアニメーションGIFに結合されます。
$ composite -compose minus back.gif frame.gif minus.gif
$ convert -white-threshold 8000 -gamma 0.3 -colors 2 minus.gif mask.gif
$ convert -negate mask.gif neg-mask.gif
$ composite -compose multiply frame.gif mask.gifマスクされたframe.gif
$ composite -compose multiply -geometry + 50 + 90 neg-mask.gif beach.gif masked-beach.gif
$ composite -compose add -geometry + 50 + 90 masked-frame.gif masked-beach.gif final.gif
多くのビデオ編集ソフトウェアパッケージは、この機能を「クロマキー」として内蔵しています。