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

yipeiwu_com6年前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设计】。

相关文章

tensor和numpy的互相转换的实现示例

要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下...

关于Python数据结构中字典的心得

关于Python数据结构中字典的心得

本篇主要介绍:常见的字典方法、如何处理查不到的键、标准库中 dict 类型的变种、散列表的工作原理等。一下是全部内容: 泛映射类型 collections.abc 模块中有 Mappin...

Python中如何导入类示例详解

前言 随着我们不断地在一个文件中添加新的功能, 就会使得文件变得很长。 即便使用了继承,也抑制不住类的成长。为了解决这一问题,我们可以将类存储在模块中, 然后在主程序中导入所需的模块,这...

一篇文章弄懂Python中的可迭代对象、迭代器和生成器

一篇文章弄懂Python中的可迭代对象、迭代器和生成器

我们都知道,序列可以迭代。但是,你知道为什么吗? 本文来探讨一下迭代背后的原理。 序列可以迭代的原因:iter 函数。解释器需要迭代对象 x 时,会自动调用 iter(x)。内置的 it...

Python查询IP地址归属完整代码

本文实例为大家分享了Python查询IP地址归属的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- #...