【Python案例】一键自动抠图生成证件照
0 效果与体验
不想去照相馆?担心肖像隐私被第三方获取?不会抠图?本文实现基于人工智能的一键自动抠图生成证件照。在进入正文之前,先看最终效果:
为了让读者快速体验,我写了个小程序: 证照工具箱,可打开直接体验。
1 人脸检测
在制作证件照时,首选需要检测人脸。根据指定的输出大小将人脸区域等比裁剪。
1.1 人脸检测
这里使用了Retina
人脸检测模型,因为篇幅原因,具体使用方法不再描述详细调用过程,如有需要请关注我的公众号:Python学习实战,后台回复:Retina
。即可获取作者已封装好的人脸检测调用源码。
1.2 人脸裁剪
具体实现代码逻辑如下:
def crop(rgb, dh, dw):oh, ow, _ = rgb.shapebgr = cv2.cvtColor(rgb, cv2.COLOR_RGB2BGR)box = infer_face_detector(bgr)leye_x, leye_y, reye_x, reye_y = box[5:9]lzb_x, lzb_y, rzb_x, rzb_y = box[11:15]left = int(leye_x - (reye_x - leye_x) * 2)right = int(reye_x + (reye_x - leye_x) * 2)ceye_y = (leye_y + reye_y) / 2czb_y = (lzb_y + rzb_y) / 2top = int(ceye_y - (czb_y - ceye_y) * 2)bottom = int(czb_y + (czb_y - ceye_y) * 2)th = dh * (right - left) / dw tag = abs(th - (bottom - top)) / 2if th < bottom - top: top = int(top + tag)bottom = int(bottom - tag)else: top = int(top - tag)bottom = int(bottom + tag) if top < 0:rgb = np.pad(rgb, ((-top, 0), (0, 0), (0, 0)), "edge") top = 0 if left < 0:rgb = np.pad(rgb, ((0, 0), (-left, 0), (0, 0)), "edge")left = 0if right > ow:rgb = np.pad(rgb, ((0, right - ow), (0, 0), (0, 0)), "edge")if bottom > oh:rgb = np.pad(rgb, ((0, 0), (0, bottom - oh), (0, 0)), "edge") rgb = rgb[top:bottom, left:right, :] return rgb
2 自动抠图
从github
下载基于深度学习的自动抠图模型,得到一张alpha
图。alpha
图将前景和背景分离,同样,因为篇幅原因,这里不具体描述如何去调用。如有需要请关注我的公众号:Python学习实战,后台回复:抠图
。即可获取作者已封装好的人像抠图调用源码。这里只展示抠图效果:
3 合成证件照
合成证件照公式:out = src * alpha + (1 - alpha) * bg
,输出示意图如下:
4 在线体验
搜索小程序 :证照工具箱,即可直接体验。
相关源码获取:
- 关注我的公众号:Python学习实战
- 后台回复:
抠图
。获取作者已封装好的人像抠图调用源码。 - 后台回复:
Retina
。获取作者已封装好的人脸检测调用源码。
欢迎关注我的公众号:Python学习实战,专注于Python
、Pytorch
、Numpy
等技术,第一时间获取最新更新。如果您觉得本文有帮助,帮忙点个赞,这是对我最大的鼓励!
【Python案例】一键自动抠图生成证件照相关推荐
- Python图片批量自动抠图去背景
图片批量自动抠图去背景 今天发现个好东西啊,叫片刻抠图(pickwant.com),是一个在线对图片自动抠图去除背景的网站.只要上传图片,就可以自动把背景去掉把目标对象抠出来. 不管是动物.汽车或各种 ...
- 9行Python代码实现自动抠图 别再自己抠图啦
对于会PhotoShop的人来说,抠图是非常简单的操作了,有时候几秒钟就能抠好一张图.不过一些比较复杂的图,有时候还是要画点时间的,今天就给大家带了一个非常快速简单的办法,用Python来批量抠取人像 ...
- 教你写个简单好用的Python脚本一键自动整理文件非常适合办公用~
导语 小编以前经常把下载的东西放在桌面或者"下载"文件夹中,使用后再也没管它,久而久之文件夹就变得乱七八糟,再整理的时候非常痛苦,巴不得有一个自动化的工具帮我归类文档. 不知道你是 ...
- 用Python脚本一键自动整理文件,轻松办公
嗨嗨,大家下午好~ 我是小圆 因为自己对于电脑上的文件不怎么爱整理,经常把下载好的东西就随意的放在桌面上或者"下载"文件夹中,就使用过后再也没去管它了.久而久之,文件夹就变得乱七八 ...
- html5 自动扣图,Remove.bg – 只需5秒!一键自动抠图移除背景工具 人工智能代替PhotoShop...
无论是专业的设计师.摄影师还是普通办公者,可能都经历过用 PS 抠图去除背景的苦难日子吧.简单来说,抠图就是将照片的主体人或物品从图片中抠出来,以便贴到别处使用. 然而抠图虽然是 PhotoShop ...
- python人工智能应用实例_Python实现AI自动抠图实例解析
一.简介 抠图是用PS? 用魔棒和快速选择工具? 遇到复杂背景怎么办? 最近发现一个神奇的工具--Remove Image Background https://www.remove.bg/zh 它是 ...
- 【Python】一键抠图,3行代码实现照片/证件照换背景色
前言: 今天上课,老师刚好说到了这个,证件照换底色之前也写过,但老师说他用的很厉害的Pyhon新的库,就想再回顾一下,顺便梳理一下流程和所用知识点. 对于不会PS的小伙伴,抠图是一个难度系数想当高的活 ...
- 【原创佳作】用Python自制了一张网页,一键自动生成探索性数据分析报告
今天小编带领大家用Python自制一个自动生成探索性数据分析报告这样的一个工具,大家只需要在浏览器中输入url便可以轻松的访问,如下所示 第一步 首先我们导入所要用到的模块,设置网页的标题.工具栏以及 ...
- python一键扣图_Python实例:一键批量抠图
你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 专业点的人使用 PhotoShop 的"魔棒"工具可以抠图,非专业人士可 ...
- Python实现自动抠图(上篇)
Python实现自动抠图(上篇) 生活中,我们经常需要使用到一些图片资源,比如做ppt.项目需要等,这就涉及图片的处理.但抠图是一个痛苦的过程,本人是ps入门级玩家,每次使用磁链勾画想要的图像都很费劲 ...
最新文章
- boost::transpose_graph用法的测试程序
- 1019. 链表中的下一个更大节点
- 自如:全额承担“望京跑路二房东”受害客户损失,预计约500余万元
- java 上传文件到服务器_java上传文件到OSS云服务器(二)
- 天正多条线段长度lisp下载_四年级数学上册基础题过关检测+12套思维题,下载给孩子测试!【有电子版】...
- 电缆桥架安装规范标准_电缆桥架安装标准分享
- 前端基础知识复习之html
- 易打卡模板微信签到打卡小程序源码
- 爬虫高级应用(15. 基于Charles抓包软件抓取手机APP数据)
- matlab_使用dsolve函数求解微分方程(逻辑斯蒂模型)示例
- 一步成高手:终极图解内存(上篇)
- python excel写入日期变数字_RPA-使用Python读取Excel日期结果为数字时的转换处理方法...
- python operator用法,Python operator.eq()函数与示例
- Machine learning techniques to enable closed-loop control in anesthesia-笔记
- 如何区分when引导中的定语从句与时间状语从句
- php访问opc ua,什么是OPC网关?OPC UA有什么特点
- Python将string转换到float的实例方法
- 迅速提高产品用户体验、交互、界面设计的几个绝妙方法
- 微信小程序调用地图设置起点终点导航
- java mysql分层_java学习(十三)采用MVC分层思想实现转账功能
热门文章
- Workflow 规则大全 最新版
- 5分钟在大米云上基于WordPress搭建一个博客
- 服务器ipsan虚拟化,挂载IPSAN存储+链接克隆模板(修正版)
- Python基础知识详解(十)小结,用python实现教师信息管理系统
- 分布式数据库BLP安全模型介绍
- CAS4 之 集成RESTful API
- 《web课程设计》期末网页制作 基于HTML+CSS+JavaScript制作公司官网页面精美
- 二级c语言题库手机软件,C语言二级考试题库手机下载-C语言二级考试题库APK下载 - Iefans...
- C++经典程序代码大全
- 深入理解c语言运算符优先级