深度学习系列24:开源抠图算法
开源地址:https://github.com/danielgatis/rembg,使用起来效果还不错,官网示例如下:
1. 安装
在python3.6/3.7上都没有尝试成功,建议直接在pyhont3.8以上的版本进行安装:
pip install rembg
如果有GPU,则如下:
pip install rembg[gpu]
2. 使用
第一种方式,使用命令行:
# 本地图片
rembg i input.png output.png# 远程图片
curl -s http://input.png | rembg i > output.png# 本地文件夹
rembg p input output
第二种方式,使用服务,先起服务
rembg s
发送请求即可进行处理:
http://localhost:5000?url=http://image.png
第三种方式,使用python库
from rembg.bg import remove
import numpy as np
import io
from PIL import Imageinput_path = 'input.png'
output_path = 'out.png'# Uncomment the following line if working with trucated image formats (ex. JPEG / JPG)
# ImageFile.LOAD_TRUNCATED_IMAGES = Truef = np.fromfile(input_path)
result = remove(f)
img = Image.open(io.BytesIO(result)).convert("RGBA")
img.save(output_path)
3. 综合应用:生活照转证件照
首先抠图,放在temp文件夹中:
rembg p pictures temp
其次根据眼睛和鼻子的位置,进行框图,放在result文件夹下:
import face_recognition,os
from skimage import io
from PIL import Image
import numpy as np
path = 'temp'
pics = os.listdir(path)
for p in pics:print(p)image = Image.open(path+p).convert("RGBA")new_image = Image.new("RGBA", image.size, "WHITE")new_image.paste(image, (0, 0), image)image=np.array(new_image)he,wi = image.shape[:2]fs = face_recognition.face_landmarks(face_recognition.load_image_file(path+p))[0]w=fs['right_eye'][2][0] - fs['left_eye'][1][0]h=fs['nose_tip'][2][1] - fs['right_eye'][2][1]io.imsave('result/'+p+'.png',image[max(0,fs['right_eye'][2][1]-int(h*2.9)):min(he,fs['nose_tip'][2][1]+int(h*2.8)),max(0,fs['left_eye'][1][0]-int(w*2)):min(wi,fs['right_eye'][2][0]+int(w*2)),:])
深度学习系列24:开源抠图算法相关推荐
- FPGA实现深度学习系列之卷积神经网络算法描述
这里全部内容都是由这个网址转载过来的. https://tech.youmi.net/2016/07/163347168.html 解说: 关于算法的完成.需要看很多的文章和视频才能有更好的理解和领悟 ...
- 【OpenI开源项目推荐-GammaGL】支持国内外主流深度学习框架的图神经网络算法库
今天,OpenI要为大家推荐一款入驻社区的开源项目[GammaGL],它是由北邮GAMMA LAB 与鹏城实验室最新开源的图神经网络算法库Gamma Graph Library (GammaGL),支 ...
- 腾讯深度学习系列——深度学习及并行化实现概述
深度学习及并行化实现概述 摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别.图像识别和检索.自然语言理解等.深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具备强大的特征表 ...
- 中科院张士峰:基于深度学习的通用物体检测算法对比探索
https://www.toutiao.com/a6674792954369933838/ 人工智能论坛如今浩如烟海,有硬货.有干货的讲座却百里挑一.由中国科学院大学主办,中国科学院大学学生会承办,读 ...
- 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
- 深度学习-各类梯度下降优化算法回顾
本文是根据 链接 进行的翻译,回顾了深度学习的各种梯度下降优化算法.*已获得原作者的翻译许可. 文章目录 一.概述 二.引言 三.Gradient Descent Variants(梯度下降法变体) ...
- 机器学习与深度学习系列连载(NTU-Machine Learning, cs229, cs231n, cs224n, cs294):欢迎进入机器学习的世界
欢迎进入机器学习的世界 本教程是根据台湾大学李弘毅老师的课程机器学习课程,斯坦福大学CS229.CS231N.CS224N.CS20i.伦敦大学学院 ([UCL-Course])(http://www ...
- 吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例
吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例 (本笔记部分内容直接引用redstone的笔记http://redstonewill.com/1240/.原文整理的非常好,引入并添加我自 ...
- 深度学习系列:深度学习在腾讯的平台化和应用实践
深度学习系列:深度学习在腾讯的平台化和应用实践(一) 莫扎特 2015-01-04 6:05:13 大数据技术 评论(0) 深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公 ...
最新文章
- 用Python玩转PPT!
- ListT 循环修改其中的数据
- 设置下载安装 桌面_小妖精美化app最新版下载-小妖精美化V5.3.9.800下载安装
- CentOS 7 系列(四)系统服务配置 服务(Service)
- 建立数据库的原则(怎样建立一个好的数据库)
- 九十年代以来的文学事变与60后70后80后作家的写作之三
- SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑
- phpcms点赞:表情点击(的统计功能) - 代码剥离篇
- Mysql忘记密码,支持中文,tab补全
- Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 grafana 度量分析和可视化
- Java关于继承中的内存分配
- python训练手势分类器_从Scikit Learn中保存的训练分类器进行预测
- 计算机网络存在的漏洞,计算机网络安全漏洞及防范措施
- c语言成绩管理系统的作用,C语言实现班级成绩管理系统
- 印章管控私有化部署,助力政企办公开启新纪元
- Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片
- 【Latex学习】Latex中插入超链接/网址
- 例题 2-1 aabb 2-2 3n+1问题
- C 宏定义实现字符大小写转换
- 这种性生活伤女人尿道