先来看看效果吧
Fake3D和残影效果展示
一键Fake3D
把你的文件上传到左边work同层级下
python fake3d.py --origin 源文件名 --output 输出的文件名 --onlyv True/False(optional)
源文件支持png,jpg,bmp或是mp4视频
#视频
!python fake3d.py --origin test.mp4 --output 3dtest.mp4 --onlyv True
#图片
!python fake3d.py --origin test.png --output 3dtest.png --onlyv True
一键残影
把你的文件上传到左边work同层级下
python shadow.py --origin 源文件名 --output 输出的文件名
源文件mp4视频
!python shadow.py --origin test.mp4 --output shtest.mp4
Fake3D项目
原理
主要是景深这个概念,类似于网页中的z-index,或者是制作2D游戏中的图层(背景、player、前景等)
加上白线后,白线会被当做参照物。当白线作为参照物的时候,1的部分因为在白线的后面,所以会被看做更有深度的部分。而在白线前面的3的部分,则会让人觉得深度更少,更靠近我们的镜头(观察者)
实现
把左边的三部分叠加起来就行了,我这里使用的是1/4和3/4,在很多场景可能1/3和2/3更多,大家可以改一下参试试
另外,可以试试横着的线(视频中我也有尝试)
!pip install paddlehub==2.0.0rc0
import numpy as np
import os
import paddlehub as hub
import cv2
from moviepy.editor import VideoFileClip
from tqdm import tqdm
import copy
os.environ["CUDA_VISIBLE_DEVICES"]="0"
Paddlehub中的人像分割
– humanseg_server
– humanseg_mobile
– humanseg_lite
– deeplabv3p_xception65_humanseg – 我使用的
– U2Netp
– U2Net
– ace2p *
module = hub.Module(name="deeplabv3p_xception65_humanseg")
def do_seg(frame):
result = module.segmentation(images=[