手把手教你使用 Python 实现一键抠图, 照片换背景|so easy!

简介: 大家好我是迷彩.平时我们工作或者生活中(比如应聘的简历)可能会用到蓝底,红底,白底各种相片,可能当时我们只有一种背景颜色的相片,但是我们又没有时间去拍一张,关键还需要白花花的银子,再加上抠图还是个技术活,对于ps功底薄弱的我来时,留下没有技术的眼泪,但是没有什么难道作为程序员我们,今天带大家使用Python一步步实现一键抠图,使用代码一键抠图,一劳永逸!好了,废话少说我们直接上步骤:

网络异常,图片无法展示
|
网络异常,图片无法展示
|

引言


大家好我是迷彩.平时我们工作或者生活中(比如应聘的简历)可能会用到蓝底,红底,白底各种相片,可能当时我们只有一种背景颜色的相片,但是我们又没有时间去拍一张,关键还需要白花花的银子,再加上抠图还是个技术活,对于ps功底薄弱的我来时,留下没有技术的眼泪,但是没有什么难道作为程序员我们,今天带大家使用Python一步步实现一键抠图,使用代码一键抠图,一劳永逸!好了,废话少说我们直接上步骤:


1.准备

a.准备好自己需要抠图的相片

b.安装removebg库(这一步至关重要,不然后面无法实现抠图)

c.搜索removebg,点开官网

网络异常,图片无法展示
|

d.进入网站,点击右上角的按钮进行登录或者注册一个账号,一遍后续API的调用

网络异常,图片无法展示
|

当然官网也是有提供直接使用的现成功能,但是这里我们这里还是使用Python代码来调用API实现(zhuangbi)

网络异常,图片无法展示
|

官网提供了支持各种语言的API

网络异常,图片无法展示
|

从这里进入API的指导文档

网络异常,图片无法展示
|
网络异常,图片无法展示
|

上面的步骤操作完,直接进入正题:

一.获取API KEY

网络异常,图片无法展示
|

点击图上的"Get API Key"按钮

网络异常,图片无法展示
|

免费一月50次调用额度,一般够用的

网络异常,图片无法展示
|

二.打开pycharm或者你自己的编辑器

只要几行代码就可以搞定

网络异常,图片无法展示
|

这是官网提供的例子,已经完全够用,这里我们选择Python的代码,面对CV编程,一劳永逸,当然代码还是得多敲才能熟能生巧

网络异常,图片无法展示
|

完整代码如下:

#使用API的方式# Requires "requests" to be installed (see python-requests.org)importrequestsresponse=requests.post(
'https://api.remove.bg/v1.0/removebg',
files={'image_file': open('/path/to/file.jpg', 'rb')},
data={'size': 'auto'},
headers={'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE'},
)
ifresponse.status_code==requests.codes.ok:
withopen('no-bg.png', 'wb') asout:
out.write(response.content)
else:
print("Error:", response.status_code, response.text)

最重要的一步就是安装removebg的库,莫忘记,不然会报错的

打开命令行输入如下命令:

pip install removebg

pip3 install removebg

选择文件使用的是UI可视化对话界面的方式,所以还需要安装UI相关的库:win32ui 模块是简单的封装了Windows中ui类

打开命令行输入如下命令:

pip install pypiwin32

pip3 install pypiwin32

#使用安装的插件的方式#管理员身份运行命令提示行,然后执行命令#pip install removebgfromremovebgimportRemoveBgimportwin32uidlg=win32ui.CreateFileDialog(1)  # 1表示打开文件对话框dlg.SetOFNInitialDir('E:/')  # 设置打开文件对话框中的初始显示目录dlg.DoModal()
filename=dlg.GetPathName()  # 获取选择的文件名称rmbg=RemoveBg("你的API KEY", "error.log") # 引号内是你获取的APIrmbg.remove_background_from_img_file(filename) # 图片地址

文章教程到这里结束了,动手玩起来吧!

不会ps抠图又不想写代码的前端切图仔的福利!

下载打包的exe(不用复制粘贴代码,不用安装,抠图后的图片和原图在同个文件夹)

目录
相关文章
|
10月前
|
Python
Python版飞机大战游戏的设计(三)-----游戏背景
Python版飞机大战游戏的设计(三)-----游戏背景
Python版飞机大战游戏的设计(三)-----游戏背景
|
6月前
|
安全 Python
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
122 1
|
8月前
|
Linux 数据安全/隐私保护 C++
如何使用Cython对python脚本加密成pyd/so
如何使用Cython对python脚本加密成pyd/so
188 0
如何使用Cython对python脚本加密成pyd/so
|
9月前
|
Python
Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
57 1
|
9月前
|
Python
Python3,区区5行代码,让黑白老照片变成华丽的彩色照,被吸粉了。
Python3,区区5行代码,让黑白老照片变成华丽的彩色照,被吸粉了。
61 0
|
9月前
|
XML 数据格式 Python
Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。
Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。
43 0
|
10月前
|
开发工具 Python
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
118 0
|
10月前
|
缓存 编译器 Python
技巧 | 有了这个Python神器,时间处理【so easy】
技巧 | 有了这个Python神器,时间处理【so easy】
|
Python
找一个文件夹里面照片的名字,python转换为csv文件
找一个文件夹里面照片的名字,python转换为csv文件
|
Python
Python实现超级玛丽游戏系列教程04背景滚动及摄像机(Camera)原理
Python实现超级玛丽游戏系列教程04背景滚动及摄像机(Camera)原理
89 0