利用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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 Python
python常用函数详解
Sep 13 Python
用pandas按列合并两个文件的实例
Apr 12 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
一步步教你用python的scrapy编写一个爬虫
Apr 17 Python
python+opencv像素的加减和加权操作的实现
Jul 14 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 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
如何对PHP程序中的常见漏洞进行攻击
2006/10/09 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
Python使用装饰器进行django开发实例代码
2018/02/06 Python
单链表反转python实现代码示例
2018/02/08 Python
利用Python如何生成便签图片详解
2018/07/09 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
python主要用于哪些方向
2020/07/05 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
陈欧的广告词
2014/03/18 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
保密工作目标责任书
2014/07/28 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
2015年教学工作总结
2015/04/02 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书