使用移除图片背景(提取人像)的开源项目rembg
这个软件可以把图片中的背景删除,
项目官网:https://github.com/danielgatis/rembg
安装步骤:
1、安装Python环境。根据官网说明,Python必须是3.9版本
2、安装rembg,用CPU的话
pip install rembg
用GPU的话
pip install rembg[gpu]
3、如果运行rembg提示命令不存在,则把rembg所在的路径加入PATH环境变量
4、rembg运行的时候,要从google文档网站下载模型文件,如果是在Wall内,会下载失败,会提示如下报错信息
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='docs.google.com', port=443): Max retries exceeded with url: /uc?export=download&id=1ao1ovG1Qtx4b7EoskHXmi2E9rp5CHLcZ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002586D5D8D00>, 'Connection to docs.google.com timed out. (connect timeout=None)'))
这种情况下,我们就要把报错信息中的文件路径,比如https://docs.google.com/uc?export=download&id=1ao1ovG1Qtx4b7EoskHXmi2E9rp5CHLcZ 下载到C:\Users\(用户路径)\.u2net文件夹下
5、命令行执行如下命令,就可以完成背景去除从而提取人像
rembg 源文件名 -o 目标文件名
6、rembg提供了多种模型,模型的说明和下载地址在github页面中的“Models”这个区域
把这些文件下载到C:\Users\(用户路径)\.u2net文件夹下,然后通过rembg的-m参数来指定使用的模型。如果运行的时候又提示“'Connection to docs.google.com timed out”,那么就继续把缺少的文件按照提示下载放到C:\Users\(用户路径)\.u2net文件夹下即可。