原标题:不会用Photoshop抠图?Python助你一键“除”人!

导读:看过英剧《黑镜》吗?圣诞特别版《白色圣诞节》中有这样一个场景:其中一个未来科技有自由屏蔽人像的功能,可以让你屏蔽任何一个不想看见或不喜欢的人,然后留下的是一片灰白影像,就像是 Photoshop 软件中的抠图功能应用在了动态场景中。

与此不同的是,本文作者则通过在 MS COCO 数据集上使用预先训练好的 Mask R-CNN 模型来自动生成图像中行人的掩码脚本,实现人像屏蔽,并且不需要 GPU 就可以运行这个程序。所以,如果你发现相册里有以前开心合过影但现在讨厌的人,可以让他/她一键变成白底了。此外,你还可以用这个脚本生成多达 80 种不同类型目标的掩码,包括长颈鹿和公交车等事物。

作者:minimaxir

翻译:林椿眄

来源:AI科技大本营(ID:rgznai100)

01 使用方法

可以通过以下命令运行行人掩码脚本:

python3 person_blocker.py -i images / img3.jpg -c'(128,128,128)'-o'bus''truck'

-i / - image:指定的图像文件。

-m / - model:加载预训练好的 COCO 模型权重的路径(默认是当前目录):如果没有或不存在指定路径,模型将自动下载到当前目录(注意:权重文件的大小为 258 MB)。

-c / - color:掩码的颜色,采用引号包装的十六进制或 RGB 3 元组格式(默认是白色)。

-o / - object:要掩码的目标类型列表(或特定对象的 ID)。你可以在 classes.py 中或通过使用 -names 来查看掩码的对象选择(默认值是行人)。

-l / - labeled:保存检测到的对象及其对象 ID 注释的标记图像。

-n / - names:打印目标的类别选项,然后退出。

该脚本输出两张图像:静态图像(双关意图) person_blocked.png 和动画图像 person_blocked.gif。

02 示例

python3 person_blocker.py -i images/img1.jpg

python3 person_blocker.py -i images/img2.jpg -c '#c0392b' -o 'giraffe'

python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'

特定目标的掩码需要两个步骤:在推理模式下运行以获取每个目标 ID,然后掩码这些目标 ID。

python3 person_blocker.py -i images/img4.jpg -l

python3 person_blocker.py -i images/img4.jpg -o 1

03 安装环境

这个脚本所需的环境配置和 Mask R-CNN 一样:

Python 3.4+

TensorFlow 1.3+

Keras 2.0.8+

Numpy, skimage, scipy, Pillow, cython, h5py

此外,还需要添加 matplotlib 和 imageio 依赖库。返回搜狐,查看更多

责任编辑:

python抠出图片人像_不会用Photoshop抠图?Python助你一键“除”人!相关推荐

  1. python抠出图片人像_Python+Paddlehub相片人像抠图精简源码实例

    Python+Paddlehub相片人像抠图实例 无需PS软件,手动制作自己的抠图工具,在只有一张图片,需要细致地抠出人物的情况下,能帮你减少抠图步骤;在有多张图片需要抠的情况下,能直接帮你输出这些人 ...

  2. python抠出图片人像_Python抠图

    最近参加超越杯发生了一段小插曲,主办方要求提交白底的团队介绍VCR,然而之前没有注意到这点,就找了个风景优美的地方拍摄,直到截止前才发现大事不妙. 此时自然而然地就想到抠图了!然而这次的视频背景花里胡 ...

  3. python读取raw图片文件_【IT专家】使用Python读取CR2(原始佳能图像)头。

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 使用 Python 读取 CR2( 原始佳能图像 ) 头. 2010/09/12 6673 I'm trying to extract the d ...

  4. python怎么把图片压缩_使用Python轻松批量压缩图片

    在互联网,图片的大小对一个网站的响应速度有着明显的影响,因此在提供用户预览的时候,图片往往是使用压缩后的.如果一个网站图片较多,一张张压缩显然很浪费时间.那么接下来,我就跟大家分享一个批量压缩图片的方 ...

  5. python如何实现图片工具_常用的十大 python 图像处理工具

    本文为 AI 研习社编译的技术博客,原标题 : 10 Python image manipulation tools. 作者 | Parul Pandey 翻译 | 安其罗•乔尔.JimmyHua 编 ...

  6. python新手入门项目推荐_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  7. python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

    事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境. 简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码.图像和 ...

  8. python怎么复数乘方开方_运维必须掌握的 Python 宝典:值得每天复习一遍

    前言 本文旨在更好地总结 Python 基础知识,力求简明扼要,以供实战演练时能够快速查询遗忘的知识点. 学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分, ...

  9. python转go感觉难_读《我为什么从python转向go》的一些感受

    一开始我以为是一篇2013年的老帖子,没想到竟然是2015年.不懂Python不要乱喷啊.你直接说"我不懂Python,我也不愿意维护前任写的糟糕代码,我Go牛B,所以我要重构一遍!&quo ...

  10. python开发环境功能介绍_第一模块 第3章 Python介绍与环境配置

    python入门(全为重点) 1. 编程语言介绍 编程语言分类.总结 2. python介绍 3. 解释器多版本共存 4. 运行python程序的两种方式 5. 一个python程序运行的三个步骤(* ...

最新文章

  1. 网路游侠:日志审计系统与SOC的区别
  2. ssh免密码和ssh-copy-id命令
  3. 程序员40岁之后怎么办
  4. Linux 利用yum源安装php5.6+nginx
  5. PaperNotes(19)-Learning Lane Graph Representations for Motion Forecasting
  6. 软件工程 敏捷的酒后问答
  7. fcpx插件Title Pop:78个可自定义的Final Cut Pro X动画标题+ 2个额外背景
  8. 基础面试题——HTML/CSS
  9. java在线打开xml文件_java实现简单解析XML文件功能示例
  10. 引用传递和值传递的区别
  11. centos nginx php5.3,centos6.2+nginx-1.2.3+php-5.3.17装配脚本
  12. 计算机系统组成习题检测及答案
  13. InnoDB Buffer Pool 缓冲池详解
  14. vlookup匹配的文字显示0_详解vlookup函数中{1,0}的使用方法,看完后给同事讲讲,秒变大神...
  15. 蚂蚁金服是不是中国最好的 FinTech(金融科技)公司
  16. 钉钉自动打卡上下班微信自动打卡(原理及源码)
  17. java实现word模板文件填充
  18. 关于抽象类中的抽象方法和非抽象方法的问题
  19. 蓝牙车载系统的组成结构和应用规范分析
  20. 2022年舞台泡沫机市场前景分析及研究报告

热门文章

  1. VB6下如何获得硬盘序列号
  2. FTP响应码与应答码
  3. 使用socket时遇见的java.io.EOFException异常
  4. connection closed
  5. banner图片通用设置
  6. 系统设计题面试八股文背诵版
  7. 懒惰的牛(差分) + 金发姑娘和 N 头牛(差分) + 贝茜放慢脚步(二路排序)(归并排序)
  8. Linux 校准时间命令及其方法
  9. 5G China unicom AP:B SMS ASCII 转码要求
  10. MSDN我告诉你在线hash验证服务