前言

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

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

首先是安装removebg模块

然后就敲代码了,官方使用文档是个好东西,应该好好利用

有趣的是,意外发现了两种使用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)

效果如下:

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

从gitub上下载removebg库源码时会有一个使用说明,即README.md,链接如下

https://github.com/brilam/remove-bg

上代码,这里就只展示处理单张图片的代码,批量处理图片以及根据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') # 图片地址

效果如下

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') # 图片地址

但奇怪的是加上填充纯色背景的属性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代码实现一键抠背景功能

本文地址: http://www.cppcns.com/jiaoben/python/296016.html

python爬虫背景_利用Python代码实现一键抠背景功能相关推荐

  1. python爬虫外快_利用Python爬虫轻松挣外快的几个方法(值得收藏)

    1.最典型的就是找爬虫外包活儿. 这个真是体力活,最早是在国外各个freelancer网站上找适合个人做的小项目,看见了就赶紧去bid一下,把价格标得死死的,由于是挣dollar,当时换算成人民币是1 ...

  2. python实现背景抠除_利用Python代码实现一键抠背景功能

    这篇文章主要给大家介绍了关于如何利用Python代码实现一键抠背景的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前 ...

  3. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  4. python计算器程序_利用Python代码编写计算器小程序

    1 importtkinter2 importtkinter.messagebox3 importmath4 classJSQ:5 6 7 def __init__(self):8 #创建主界面 9 ...

  5. python图色检测_利用python打开摄像头及颜色检测方法

    最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,-下面我就汇报下今天的学习成果吧 小 ...

  6. 基于python爬虫数据处理_基于Python爬虫的校园数据获取

    苏艺航 徐海蛟 何佳蕾 杨振宇 王佳鹏 摘要:随着移动时代的到来,只适配了电脑网页.性能羸弱的校园教务系统,已经不能满足学生们的移动查询需求.为此,设计了一种基于网络爬虫的高实用性查询系統.它首先通过 ...

  7. python pdf报告_利用python设计PDF报告,jinja2,whtmltopdf,matplotlib,pandas

    转自:https://foofish.net/python-crawler-html2pdf.html 工具准备 弄清楚了网站的基本结构后就可以开始准备爬虫所依赖的工具包了.requests.beau ...

  8. python汇率转换_利用Python中的Xpath实现一个在线汇率转换器

    前言 在之前的语法里面,我们记得有一个初识Python之汇率转换篇,在那个程序里面我们发现可以运用一些基础的语法写一个汇率计算,但是学到后面的小伙伴就会发现这个小程序有一定的弊端. 首先,它不可以实时 ...

  9. 如何用python制作画像_利用Python搭建用户画像系统

    用户画像是当下很多企业都会提及的概念,多数情况下会和大数据以及营销挂钩.本文将对用户画像的相关知识进行进行简单的介绍,并利用Python去实现一个简单的用户画像系统. 1.什么是用户画像 用户画像可以 ...

最新文章

  1. Win Ser 2008/2012 (R2) + NVIDIA Optimus 笔记本显卡
  2. Android应用程序进程启动过程的源代码分析(1)
  3. 图像与视频合成领域的集大成者,都在这里了!
  4. 推特800赞:图网络论文实现大合集,70多篇分门别类,从未如此全面 | 已过1k星...
  5. ASP.NET报错集合一----.net4.0创建项目后,在iis上部署项目,无法浏览,提示404
  6. js字符串、数组处理方法、以及一些常用js方法
  7. 关于sqlmap的配置和基本使用教程
  8. python面向对象编程(1)
  9. CleanMyMac X2022纯净版苹果电脑管家
  10. 那些年的广告语【持续更】
  11. 计算机组成原理_在线作业1,电子科大《计算机组成原理》在线作业1
  12. 一个空间多个php网站,一个空间多个域名多个网站的办法汇总
  13. 大数据知识面试题-Flink(2022版)
  14. 加入AI考拉大家庭,是一种怎样的体验?--来自考拉码农的心声
  15. Facebook:寻找出路的小巨人
  16. 自媒体推广该怎么做?学懂这10招,走路横着走
  17. 增加购物车商品数量【项目 商城】
  18. 没有项目经验?软件测试简历项目经验怎么写...
  19. 电脑开机密码忘记了怎么办
  20. 深层学习:心智如何超越经验1.1 混乱的时钟

热门文章

  1. 从无到有算法养成篇-利⽤栈思想解决问题
  2. 文本相似度算法(余弦定理)
  3. 非负矩阵分解中基于L1和L2范式的稀疏性约束
  4. erp服务器型号,erp服务器硬件配置
  5. python字符编码导致dict中key不同
  6. WebLogic Server的Identity Assertion--转载
  7. Jenkins配置基于角色的项目权限管理--转
  8. 引擎讲解2--主要是MyISAM和InnoDB的区别
  9. 第四范式陈雨强:万字深析工业界机器学习最新黑科技 By 机器之心2017年7月25日 16:38 近日,全球最顶级大数据会议 Strata Data Conference 在京召开。Strata 大
  10. 中科院罗平演讲全文:自动撰写金融文档如何实现,用 AI 解救“金融民工” | CCF-GAIR 2017