2020年9月2日水曜日

MoviePyとscikit-imageで2つの動画の片方を円形に切り取って重ね合わせる

MoviePyとscikit-imageで2つの動画の片方を円形に切り取って重ね合わせるには、円形のマスクを作成して2つの動画を重ね合わせます。

サンプルコード

以下のサンプルコードでは、マスクを作成してdisk関数で円を描画し、CompositeVideoClipを使用して2つの動画を重ね合わせます。
from moviepy.editor import *
from skimage.draw import *
import numpy as np

clip1 = VideoFileClip("hydrangea.mp4")
clip2 = VideoFileClip("riceplant.mp4")

img = np.zeros((clip1.h, clip1.w), dtype=np.uint8)
rr, cc = disk((clip1.h/2, clip1.w/2), clip1.h/2)
img[rr, cc] = 1
clip2mask = ImageClip(img, ismask=True)
clip3 = CompositeVideoClip([clip1, clip2.set_mask(clip2mask)])

clip3.write_videofile("circle_mask.mp4")


〇元動画の画面

 

〇出力動画の画面


〇scikit-imageインストール
MoviePyの他、仮想環境のフォルダに移動して以下のコマンドを実行します。

pipenv install scikit-image

関連情報

MoviePyのまとめ

・moviepyのホームページ
https://zulko.github.io/moviepy/

0 件のコメント:

コメントを投稿