3行Python代码实现图像照片抠图和换底色的方法

yipeiwu_com7年前Python基础

1、项目背景

对于不会PS的小伙伴,抠图是一个难度系数想当高的活儿,某宝照片抠图和证件照换底色均价都是5元RMB,所以今天要介绍的这款神工具,只要 3 行代码 5 秒钟就可以完成高精度抠图,甚至都不用会代码,点两下鼠标就完成了。

这里介绍Remove Image Background工具,它基于 Python、Ruby 和深度学习技术开发,通过强大的 AI 人工智能算法实现自动识别出前景主体与背景图,分分钟秒秒钟完成抠图。

这款抠图工具有两种简单方式:在线抠图和Python代码抠图,介绍如下。

2、在线抠图

第1步:登录Remove Image Background官网,上传本地图片或网络图片的URL(这里使用杰伦最新单曲:说好不哭MV的女主图像)。

第2步:上传成功后,平台仅需几秒钟实现自动抠图,可直接下载无背景透明的图像照片,也可对图像照片进行编辑。

支持对图像照片进行调整滤镜和换底色,完成后直接下载即可。

在线版可以下载软件到本地使用,支持 Windows / Mac / Linux 平台 。

3、Python代码抠图

使用Python代码实现自动抠图主要是基于Remove Image Background网站的API实现的。

第1步:查看API简介。

需要注册账号方可获取密钥,默认生成的图片格式尺寸是标准的,每月最多免费处理 50 张照片,且每张尺寸大小不超过25MB,如果想生成高清或者处理更多图片需要付费(在线抠图方式没有次数限制)。

注册成功后即可登录,查看自己的API密钥。

第2步:安装所需的Python抠图库文件。

pip install removebg

第3步:编写程序,实现图像照片抠图和证件照换底色。

from removebg import RemoveBg
rmbg = RemoveBg("3Uxxxxxx", "error.log") # 引号内是你获取的API
rmbg.remove_background_from_img_file(r"C:\Users\13450\Desktop\im1.jpg") #图片地址

把图片放到一个文件夹就可以实现批量抠图。

from removebg import RemoveBg
import os
 
rmbg = RemoveBg("3Uxxxxxx", "error.log")
path = '%s/picture'%os.getcwd() #图片放到程序的同级文件夹 picture 里面
for pic in os.listdir(path):
  rmbg.remove_background_from_img_file("%s\%s"%(path,pic))

Remove Image Background工具GitHub:https://github.com/brilam/remove-bg

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

给你选择Python语言实现机器学习算法的三大理由

给你选择Python语言实现机器学习算法的三大理由

基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。 可执行伪代码 P...

python2与python3的print及字符串格式化小结

python2与python3的print及字符串格式化小结

最近一直在用python写程序,对于python的print一直很恼火,老是不按照预期输出。在python2中print是一种输出语句,和if语句,while语句一样的东西,在pytho...

python for循环remove同一个list过程解析

下午在用python将Linux的conf配置文件转化成字典dict时遇到了一个奇怪的问题,原先conf配置文件中没有注释行(以#开头的行),后来为了避免这种情况,添加了一个对以#开头的...

Python正则表达式匹配ip地址实例

本文实例讲述了正则表达式匹配ip地址实例。代码结构非常简单易懂。分享给大家供大家参考。 主要实现代码如下: import re reip = re.compile(r'(?&...

python的多重继承的理解

python的多重继承的理解

python的多重继承的理解 Python和C++一样,支持多继承。概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多...