当前位置:   article > 正文

图片、视频去背景_backgroundremover -i "/path/to/video.mp4" -tov

backgroundremover -i "/path/to/video.mp4" -tov

环境

  • windows 10 64-bit
  • python 3.8.11
  • backgroundremover 0.1.9

前言

backgroundremover是一款开源免费的命令行工具,专门用来消除图片和视频中的背景,使用python语言编写,项目地址 https://github.com/nadermx/backgroundremover

软件安装

可以使用pip安装

pip install backgroundremover

当然,下载源码进行安装也是可以的

  1. git clone https://github.com/nadermx/backgroundremover.git
  2. cd backgroundremover
  3. python setup.py install

目前最新版本为0.1.9,后面测试也是基于这个版本进行。

接下来还需要安装ffmpeg,它是用来进行视频处理的。从官网下载编译好的二进制文件 http://ffmpeg.org/download.html,尽量下载较新的版本,并将其路径加入到系统环境变量中

最后安装下torch,由于本机有gpu,安装的是gpu版本的,版本要求1.7以上

pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

使用方法

准备一张带背景的原图

执行下面命令就可以去除背景,操作非常简单

backgroundremover -i original.jpg -o output.png

操作过程中会到google driver去下载所需要的u2net模型,但是由于国内的网络环境,无法访问

这时候,可以通过下面的链接去下载

u2net.pth
u2net_human_seg.pth

另外也提供个网盘的地址

链接:https://pan.baidu.com/s/1ZYzV0SYEjlBldsGXIn2IXA
提取码:srix

下载后的模型文件,将其放到~/.u2net文件夹下,如果文件夹不存在就自己创建

准备就绪后,重新执行上面的去背指令,就可以得到去掉背景的图片了

backgroundremover可以使用三种模型来达到图片视频去背的目的,分别是u2netpu2netu2net_human_seg

比如说要使用u2net_human_seg,可以使用-m参数

backgroundremover -i original.jpg -m u2net_human_seg -o output.png

如果要处理视频的话,可以这样

backgroundremover -i test.mp4 -tv -o output.mov

视频背景去除后叠加到另一个视频上

backgroundremover -i test.mp4 -tov -tv videtobeoverlayed.mp4 -o output.mov

视频去背后生成gif动图

backgroundremover -i test.mp4 -tg -o output.gif

更换图片底色应用

  1. import os
  2. from PIL import Image
  3. # 输入
  4. in_path = "d:\in.jpg"
  5. # 输出
  6. out_path = "d:\out.png"
  7. # 要替换的背景颜色
  8. color = "deepskyblue"
  9. # 红:red、蓝:blue、黑:black、白:white
  10. # 去掉背景颜色
  11. os.system('backgroundremover -i "'+str(in_path)+'" -o "d:\cg_output.jpg"')
  12. # 加上背景颜色
  13. no_bg_image = Image.open("d:\cg_output.jpg")
  14. x, y = no_bg_image.size
  15. new_image = Image.new('RGBA', no_bg_image.size, color=color)
  16. new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image)
  17. new_image.save(out_path)

更多场景使用及参数设置,请参考官方文档。

参考资料

十行Python代码搞定替换证件照背景颜色-腾讯云开发者社区-腾讯云 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/372162
推荐阅读
相关标签
  

闽ICP备14008679号