python实现背景抠除_利用Python代码实现一键抠背景功能
这篇文章主要给大家介绍了关于如何利用Python代码实现一键抠背景的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
前言
又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh
ps:加上/zh后,网页内容会显示中文
首先是安装removebg模块
然后就敲代码了,官方使用文档是个好东西,应该好好利用
有趣的是,意外发现了两种使用API的方法
1.用到爬虫的知识,利用requests模块,从网页上调用,直接实现抠背景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Requires "requests" to be installed (see python-requests.org)
import requests
response= requests.post(
,
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:
withopen('no-bg.png','wb') as out:
out.write(response.content)
else:
print("Error:", response.status_code, response.text)
效果如下:
2.参照removebg库中的使用说明调用API,用相关代码实现抠背景
从gitub上下载removebg库源码时会有一个使用说明,即README.md,链接如下
https://github.com/brilam/remove-bg
上代码,这里就只展示处理单张图片的代码,批量处理图片以及根据url处理图片的相关代码均在README.md中有展示
1
2
3
4
from removebgimport RemoveBg
# 抠单张图片
rmbg= RemoveBg("xxxxx","error.log")# 引号内是你获取的API
rmbg.remove_background_from_img_file(r"C:\Users\Lenovo\PycharmProjects\爬虫\长颈鹿1.jpg",
size='regular')# 图片地址
效果如下
1
2
3
4
from removebgimport 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')# 图片地址
但奇怪的是加上填充纯色背景的属性bg_color='e.g.red'后会有这样的报错,尚未解决
后来使用了PIL库来实现背景的填充
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from PILimport 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:
withopen('./error1.log','a') as f:
f.write('background change fail .')
效果如下
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习
python实现背景抠除_利用Python代码实现一键抠背景功能相关推荐
- 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...
数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...
- python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法
主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...
- python pandas合并单元格_利用Python pandas对Excel进行合并的方法示例
前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...
- python画圣诞老人简笔画_利用Python绘制有趣的万圣节南瓜怪效果
关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...
- python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...
其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...
- python制作心形照片墙_利用python生成照片墙的示例代码
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...
- python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...
- python用渐变色画圆_利用python控制Autocad:pyautocad方式
发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...
- python爬去百度文库_利用Python语言轻松爬取数据[精品文档]
利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...
最新文章
- hdu5253最小生成树
- 《暗时间》前两篇的笔记和总结
- 【l转】VS2015下解决:无法解析的外部符号 __imp___vsnprintf 及__iob_func
- just函数 python_在python里写Monad
- go channel 缓冲区最大限制_[Go区块链基础]go channel
- 最常见的208道Java最新面试题及答案(一)
- Java继承概述以及Java继承案例和继承的好处
- 硬件知识:固态硬盘相关知识介绍
- 百度前端技术学院,学习第一天。
- 强力推荐几种多媒体播放器方案(jQuery、Flash、HTML5)
- vue 前端设置允许跨域_[web]记一次sanic+vue跨域问题
- 湖北省小学生计算机大赛,2019年湖北省中小学电脑制作活动机器人竞赛类暨创客竞赛类项目选拔赛圆满落幕...
- php抽奖实现-概率算法
- matlab积分器的工作原理,转 Simulink积分器详解(图)
- 网络编程学习笔记之TCP_01(帅帅老师讲堂)
- 高德地图点击不同的标记,动态传入参数创建信息窗体
- 什么是RF、IF信号
- python转义字符/a---响铃
- 2018年全国多校算法寒假训练营练习比赛(第二场)A	吐泡泡 【模拟】
- 网络面试题:字节序?网络字节序和主机字节序?
热门文章
- 考研数学三部曲之大话线性代数
- cpu 保存模式的内存访问向下兼容原理
- 冒泡排序法 - python版详解
- ext中ArrayStore,JsonStore,XmlStore的用
- ML《集成学习(三)Boosting和Adaboosting回归树》
- 《Pytorch简要安装指导》
- [深度学习-实践]人脸识别的例子-Tensorflow2.x Keras
- 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》
- leetcode —— 77. 组合
- 回文判断--链表实现