利用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开发中range()函数用法实例分析
Nov 12 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
python批量修改文件编码格式的方法
May 31 Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
python挖矿算力测试程序详解
Jul 03 Python
Python转换itertools.chain对象为数组的方法
Feb 07 Python
python isinstance函数用法详解
Feb 13 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
Python - 10行代码集2000张美女图
May 23 Python
python游戏开发之pygame实现接球小游戏
Apr 22 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或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Scrapy框架使用的基本知识
2018/10/21 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
管事部库房保管员岗位职责
2014/02/21 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
青春奉献演讲稿
2014/05/08 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers