利用Python代码实现一键抠背景功能


Posted in Python onDecember 29, 2019

前言

又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh

ps:加上/zh后,网页内容会显示中文

  1. 首先是安装removebg模块
  2. 然后就敲代码了,官方使用文档是个好东西,应该好好利用

有趣的是,意外发现了两种使用API的方法

1.用到爬虫的知识,利用requests模块,从网页上调用,直接实现抠背景

# Requires "requests" to be installed (see python-requests.org)
import requests

response = 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'},
)
if response.status_code == requests.codes.ok:
 with open('no-bg.png', 'wb') as out:
 out.write(response.content)
else:
 print("Error:", response.status_code, response.text)

效果如下:

利用Python代码实现一键抠背景功能

利用Python代码实现一键抠背景功能

2.参照removebg库中的使用说明调用API,用相关代码实现抠背景

从gitub上下载removebg库源码时会有一个使用说明,即README.md,链接如下
https://github.com/brilam/remove-bg

利用Python代码实现一键抠背景功能

上代码,这里就只展示处理单张图片的代码,批量处理图片以及根据url处理图片的相关代码均在README.md中有展示

from removebg import RemoveBg
# 抠单张图片
rmbg = RemoveBg("xxxxx", "error.log") # 引号内是你获取的API
rmbg.remove_background_from_img_file(r"C:\Users\Lenovo\PycharmProjects\爬虫\长颈鹿1.jpg",size='regular') # 图片地址

效果如下

利用Python代码实现一键抠背景功能

from removebg import RemoveBg
# 抠单张图片
rmbg = RemoveBg("P3UCVZzKiUxW7BbkmcRYhgTB", "error.log") # 引号内是你获取的API
rmbg.remove_background_from_img_file(r"C:\Users\Lenovo\PycharmProjects\爬虫\长颈鹿1.jpg",size='regular',bg_color='e.g.red') # 图片地址

利用Python代码实现一键抠背景功能

但奇怪的是加上填充纯色背景的属性bg_color='e.g.red'后会有这样的报错,尚未解决

后来使用了PIL库来实现背景的填充

from PIL import Image

# 加载已去背景的图像
im = Image.open('./pic/no-bg.png')
x, y = im.size

try:
 # 填充红色背景
 p = Image.new('RGBA', im.size, (255, 0, 0))
 p.paste(im, (0, 0, x, y), im) #paste的背景尺寸需与原图尺寸相同
 # 保存填充后的图片
 p.save('./pic/no-bg_red_bg.png')
 p.show() #显示处理后的图片
except:
 with open('./error1.log', 'a') as f:
 f.write('background change fail .')

效果如下

利用Python代码实现一键抠背景功能

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python isinstance函数介绍
Apr 14 Python
python中hashlib模块用法示例
Oct 30 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
python pycharm的安装及其使用
Oct 11 Python
Python-openCV读RGB通道图实例
Jan 17 Python
python实点云分割k-means(sklearn)详解
May 28 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
解决Python安装cryptography报错问题
Sep 03 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 Python
Python基于百度API识别并提取图片中文字
Jun 27 Python
Python 数据可视化工具 Pyecharts 安装及应用
Apr 20 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 #Python
Python使用正则实现计算字符串算式
Dec 29 #Python
Django框架教程之中间件MiddleWare浅析
Dec 29 #Python
三个python爬虫项目实例代码
Dec 28 #Python
python scrapy重复执行实现代码详解
Dec 28 #Python
Python统计时间内的并发数代码实例
Dec 28 #Python
如何基于python实现脚本加密
Dec 28 #Python
You might like
如何过滤高亮显示非法字符
2006/10/09 PHP
php入门小知识
2008/03/24 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
php实现的漂亮分页方法
2014/04/17 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
详解Angular路由之路由守卫
2018/05/10 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python集合用法实例分析
2015/05/30 Python
Python面向对象类的继承实例详解
2018/06/27 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python字符串反转的四种方法详解
2019/12/02 Python
Python实现图像的垂直投影示例
2020/01/17 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
linux面试题参考答案(11)
2012/05/01 面试题
业务代表的岗位职责
2013/11/16 职场文书
二人合伙经营协议书
2014/09/13 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript