开源地址: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:开源抠图算法相关推荐

  1. FPGA实现深度学习系列之卷积神经网络算法描述

    这里全部内容都是由这个网址转载过来的. https://tech.youmi.net/2016/07/163347168.html 解说: 关于算法的完成.需要看很多的文章和视频才能有更好的理解和领悟 ...

  2. 【OpenI开源项目推荐-GammaGL】支持国内外主流深度学习框架的图神经网络算法库

    今天,OpenI要为大家推荐一款入驻社区的开源项目[GammaGL],它是由北邮GAMMA LAB 与鹏城实验室最新开源的图神经网络算法库Gamma Graph Library (GammaGL),支 ...

  3. 腾讯深度学习系列——深度学习及并行化实现概述

    深度学习及并行化实现概述 摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别.图像识别和检索.自然语言理解等.深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具备强大的特征表 ...

  4. 中科院张士峰:基于深度学习的通用物体检测算法对比探索

    https://www.toutiao.com/a6674792954369933838/ 人工智能论坛如今浩如烟海,有硬货.有干货的讲座却百里挑一.由中国科学院大学主办,中国科学院大学学生会承办,读 ...

  5. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  6. 深度学习-各类梯度下降优化算法回顾

    本文是根据 链接 进行的翻译,回顾了深度学习的各种梯度下降优化算法.*已获得原作者的翻译许可. 文章目录 一.概述 二.引言 三.Gradient Descent Variants(梯度下降法变体) ...

  7. 机器学习与深度学习系列连载(NTU-Machine Learning, cs229, cs231n, cs224n, cs294):欢迎进入机器学习的世界

    欢迎进入机器学习的世界 本教程是根据台湾大学李弘毅老师的课程机器学习课程,斯坦福大学CS229.CS231N.CS224N.CS20i.伦敦大学学院 ([UCL-Course])(http://www ...

  8. 吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例

    吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例 (本笔记部分内容直接引用redstone的笔记http://redstonewill.com/1240/.原文整理的非常好,引入并添加我自 ...

  9. 深度学习系列:深度学习在腾讯的平台化和应用实践

    深度学习系列:深度学习在腾讯的平台化和应用实践(一) 莫扎特 2015-01-04 6:05:13 大数据技术 评论(0) 深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公 ...

最新文章

  1. 用Python玩转PPT!
  2. ListT 循环修改其中的数据
  3. 设置下载安装 桌面_小妖精美化app最新版下载-小妖精美化V5.3.9.800下载安装
  4. CentOS 7 系列(四)系统服务配置 服务(Service)
  5. 建立数据库的原则(怎样建立一个好的数据库)
  6. 九十年代以来的文学事变与60后70后80后作家的写作之三
  7. SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑
  8. phpcms点赞:表情点击(的统计功能) - 代码剥离篇
  9. Mysql忘记密码,支持中文,tab补全
  10. Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 grafana 度量分析和可视化
  11. Java关于继承中的内存分配
  12. python训练手势分类器_从Scikit Learn中保存的训练分类器进行预测
  13. 计算机网络存在的漏洞,计算机网络安全漏洞及防范措施
  14. c语言成绩管理系统的作用,C语言实现班级成绩管理系统
  15. 印章管控私有化部署,助力政企办公开启新纪元
  16. Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片
  17. 【Latex学习】Latex中插入超链接/网址
  18. 例题 2-1 aabb 2-2 3n+1问题
  19. C 宏定义实现字符大小写转换
  20. 这种性生活伤女人尿道

热门文章

  1. cmd导入导出mysql中的数据库为sql文件
  2. 儿童护眼灯怎么选?儿童护眼灯品牌排行榜
  3. 周末作业-循环练习题
  4. Python-冒泡排序法
  5. 2023电信天翼云高级解决方案架构师考试题库-最新版
  6. 【智能路由器】离线缓存投毒实现分析
  7. Node.js 4.x 入门实战视频课程【讲师辅导】-曾亮-专题视频课程
  8. Springboot-项目启动加载类
  9. vue3 导入svg图片
  10. 【论文学习】5、基于OFDM无线局域网的载波频偏估计