Python实现5毛钱特效.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python实现5毛钱特效 一、前言 Pyth on 能觉得应该可请务必看到最后。 Pyth on 能 觉得应该可 以通过抠图的方式,给视频换一个不同的场景,于是就有了今天的文章。 我们先看看能实现什么效果,先来个正常版的,先看看原场景: F面是我们切换场景后的样子: 看起来效果还是不错的, 有了这个我们就可以随意切换场景, 坟头蹦迪不是梦。另外, 我们 再来看看另外一种效果,相比之下要狂放许多: 二、实现步骤 我们都知道,视频是有一帧一帧的画面组成的, 每一帧都是一张图片,我们要实现对视频的 修改就需要对视屏中每一帧画面进行修改。所以在最开始,我们需要获取视频每一帧画面。 在我们获取帧之后,需要抠取画面中的人物。 抠取人物之后,就需要读取我们的场景图片了, 在上面的例子中背景都是静态的, 所以我们 只需要读取一次场景。在读取场景之后我们切换每一帧画面的场景,并写入新的视频。 这时候我们只是生成了一个视频, 我们还需要添加音频。而音频就是我们的原视频中的音频, 我们读取音频,并给新视频设置音频就好了。 具体步骤如下: 读取视频,获取每一帧画面 批量抠图 读取场景图片 对每一帧画面进行场景切换 写入视频 读取原视频的音频 给新视频设置音频 因为上面的步骤还是比较耗时的, 所以我在视频完成后通过邮箱发送通知, 告诉我视频制作 完成。 模块安装 模块安装 我们需要使用到的模块主要有如下几个: I p i llcv I 4 padd 我们都可以直接用 pip安装: pip IriStail pilloj pip Instill 碎m 刘Zn pip 其中OpenCV有一些适配问题,建议选取 3.0以上版本 在我们使用paddlehub 之前,我们需要安装paddlepaddle :具体安装步骤可 以参见官网。用paddlehub 抠图参考:别再自己抠图了, Python用5行代码 实现批量抠图。我们这里直接用 pip安装cpu版本的: 四、具体实现 我们导入如下包: 1 1 1 inport ■ oce.nc I — —a. —-d. ■ t “ .■ .r 丹- \ . - t 上 ±i hjij - L FKd iL A i?part wth 4 litpOr^T riuNpij/ 占占 話 frtjfl I* I1L * ?“ 电 P 1 [ L ■* [站ddl电恤b 1- u hyt 1 \ 卿祜 1 电py.ddl it or ? 其中Pillow和opencv导入的名称不太一样, 还有就是我自定义的 mail模块。另外我们还 要先准备一些路径: 1 I [...1 ■/- 2 = as - pa th, (os . |Mth, Jo In fos. path rdl _file_;鼻) 4 pjth 壬 EM5E DJR \b r \ \ £ 6 7 甕g pjth - BASE Oik 卡:;」l 8 | output vidcfi ■ DIE * ■ i ■* 接下来我们按照上面说的步骤一个一个实现。 (1 )读取视频,获取每一帧画面 在OpenCV中提供了读取帧的函数,我们只需要使用 VideoCapture 类读取视频,然后调 用read函数读取帧,read方法返回两个参数,ret为是否有下一帧,frame为当前帧的 ndarray对象。完整代码如下: 1 def getF r ame (,vldeo_nameJ. save_path t: 激隠总洼.??曲y ‘ . !] 2 3 期時赳裁塾忙fe -?7.團片j冲1*1口 d」!M的分摘3p s {ps 4 R vicfeo_n?e;视彳茁峯#j: 5 ■ p占f■么 n tri;[壮仔BF」l呂 6 冲: i 8 9 video -cvi - V IdlHiCaptijref v f 10 11 \2 fp-i f v ldM-,eer( v2, CAp_^fiop_F P5) 13 M width inrt(vldH.弊t 上 VC/lP_PKW_r KML_UliDIH) IS height ■ 1 nL(vid?.get(cv2.CAP_PltOP_FRAJ?_METCHT)) 16 size (irLdtlL llght ; 1/ IS h * 19 f r-aiw _nuii ■ at r (irldra -,grt ( ?}) 20 丄1 Irne int(*ath?1b. ler(frm_num))) 愛 r r aie viiJWureAdiJ whilp rat: 54 cv2.iteJ5a^_path + 占+ 1 a jse. frawe} 出 ct, * videtj^ildC) 2b niE +- 1 21 vi(leMgi

文档评论(0)

fengnaifeng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档