在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得,我们不耐烦,倘若遇到许多张图片需要抠,那就今天教你用Python制作一款界面化的抠图小程序吧!
正文
PS 小故事
一个刚恰完午饭,正在用刷网页浪费生命的......程序员老哥活灵活现。
一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到
了一张图片:
是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...
等等,那个背景上怎么这么模糊?!程序员老哥表示——我只要女神,其他的都不要!
终于经过程序员老哥三天三夜茶饭不思的结果下成功达到这个效果。
一键下载,一键甩图:
1)前期准备
1.1 首先
给大家介绍一款免费的抠图网站:国外版抠图神器网站,这个抠图网站叫 remove。
1.2 网站小介绍
自动识别人和背景、商品和背景,而且识别的精准度非常高,号称100%自动、5秒时间扣完。
一张图至少要抠1分钟吧。它只要5秒~打开之后是这样的:
它推出了一个基于 Python、Ruby 和深度学习去除背景色的这么一个工具,它支持用 Python 调用其 API 接口,达成去除背景,留下前景主体的效果。
2)注册一个账号
想要获得 API,首先要有一个账户,账户的申请很简单,邮箱即可。
用 API 的话,每天只能处理 50 张图片哦!直接网站上使用的话是无限制免费的!
获取步骤:登陆进去,第一步点击 'Tools & API',第二步点击 ‘API Docs’:
第三步点击 ‘Get API Key’:
第四步点击 ‘Show’,就出现自己的 API 啦!
2)正式抠图
2.1 环境安装
本文是基于Tkinter的界面化小程序!模块安装:removebg、Pillow。
pip install -i https://pypi.douban.com/simple/ +模块名
2.2 素材(可自选)
2.3 主程序代码
def openfile(): #这里将API key改为获得的key rmbg = RemoveBg('API key', 'error.log') filename = filedialog.askopenfilename() rmbg.remove_background_from_img_file(filename) imagepath = filename+'_no_bg.png' img = Image.open(imagepath) img.show() showinfo('完成生成', f'图片处理完成,路径为: {imagepath}') #print(filename) root=Tk()root.title("抠图小程序")#窗口大小root.geometry("500x500")btn = Button(root, text='打开图片',command=openfile,width=15,height=2) # 绑定方式1: commandbtn.place(x=20,y=2,anchor='w')btn.pack(padx=5, pady=50)lbl=Label(root,text='--——顾木子吖 抠图技术哪家强--')lbl.pack()root.mainloop()
3)效果图
3.1 界面展示
3.2 图片展示
完美效果。