MoviePy
Python实用剪辑库
版本
- python==3.7.9
- Pillow==8.0.1
- numpy==1.20.1
- opencv-python==4.5.1.48
- moviepy==1.0.3
基于moviepy实现人头替代动画
替换前:
替换后:
有时候我们想要制作人头替换动画,将人头替换成某个人头替换成某一类的图片,这其中可以通过MoviePy
+CV
的形式实现,直接上代码。
from enum import auto, Flag
import os
from typing import Callable, Optional
import cv2
from moviepy.editor import *
import numpy as np
from PIL import Image
class ExchangeImageNotDefine(Exception):
...
class ObjectMode(Flag):
BOX = auto()
RECT = auto()
class ImageExchanger:
_img: Image
_scale_x: float
_scale_y: float
_frame_count: int = 0
_fps: Optional[int] = None
_callback: Optional[Callable] =