手把手教你使用 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(不用复制粘贴代码,不用安装,抠图后的图片和原图在同个文件夹)

目录
相关文章
|
3月前
|
机器学习/深度学习 编解码 Python
python将照片集变成视频
`shigen`是一位坚持更新文章的博客作者,记录成长历程,分享认知见解,留住生活感动。他利用Python库`Pillow`和`MoviePy`开发了一个工具,能够批量处理照片并生成高质量视频。该工具支持多种分辨率、自定义播放时间和照片方向,并能自动调整照片比例以实现居中对齐。通过简单的代码实现了照片视频化的需求,适合强迫症患者使用。**与shigen一起,每天不一样!**个人IP:shigen。
60 9
python将照片集变成视频
|
3月前
|
Python
用 Python 读取照片的 Exif 信息(顺便说说本人的一些想法)
用 Python 读取照片的 Exif 信息(顺便说说本人的一些想法)
116 2
|
4月前
|
数据安全/隐私保护 计算机视觉 Python
用python给照片添加水印的三种方式
这篇文章介绍了使用Python给照片添加水印的三种方式:通过PIL库直接添加文本水印、使用OpenCV库结合图像处理功能添加水印,以及使用filestools库进行更为简便的水印添加。
183 7
|
6月前
|
机器学习/深度学习 算法 TensorFlow
|
6月前
|
Python
【python】PyCharm如何设置字体大小和背景
【python】PyCharm如何设置字体大小和背景
|
Python
Python版飞机大战游戏的设计(三)-----游戏背景
Python版飞机大战游戏的设计(三)-----游戏背景
144 0
Python版飞机大战游戏的设计(三)-----游戏背景
|
8月前
|
存储 程序员 芯片
【Python】1. 背景知识
【Python】1. 背景知识
56 2
|
安全 Python
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
163 1
|
Linux 数据安全/隐私保护 C++
如何使用Cython对python脚本加密成pyd/so
如何使用Cython对python脚本加密成pyd/so
330 0
如何使用Cython对python脚本加密成pyd/so
|
Python
Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
73 1