一文带你搞懂Fake3D与残影特效

先来看看效果吧

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=[frame],use
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值