用 Python 鉴别色色的图片
0 前言
实话实说啊,这个标题起得就有点标题党,识别是识别,准确率就有点玄学了。
1 环境说明
Win10 系统下 Python3,编译器是 Pycharm,需要安装 nonude 这个库。
Pycharm 安装第三方库的方法。


2 代码
2.1 识别少量图片
先导入 nonude 这个库(我也很奇怪为什么 import 的是 nude)
import nude
再写出代码
print(nude.is_nude("godfather.jpg")) print(nude.is_nude("leisheng.jpg")) print(nude.is_nude("qiaoba.png"))
代码运行的结果居然是 False、True、True
让我们来看一下图片。

godfather.jpg

leisheng.jpg

qiaoba.png
对了,我这里是直接把图片放在了项目的路径里的

如果不喜欢这样,可以换一个写法
import nude print(nude.is_nude("E:/Images/OOXX/00mitai.jpg")) print(nude.is_nude("E:\Images\OOXX/00zkted.jpg")) print(nude.is_nude("E:/Images\OOXX/011idk8.jpg"))
代码运行的结果是 False、True、False

00mitai.jpg

00zkted.jpg

011idk8.jpg
说一下,路径里面的斜杠 / 可以是反斜杠 \,如果后面有数字的话,请使用斜杠 /,不要用反斜杠 \。
2.2 识别文件夹中的图片
先导入要用的库
import glob import itertools from nude import Nude
这里用 glob 返回匹配指定模式的文件名
images_format = ['jpg', 'png', 'gif'] # 图片格式 images_jpg = glob.glob("E:/Images/OOXX/*.jpg") # 返回匹配指定模式的文件名 images_png = glob.glob("E:/Images/OOXX/*.png") images_gif = glob.glob("E:/Images/OOXX/*.gif")
itertools.chain 把迭代对象串联起来,形成一个更大的迭代器,说白了就是把 images_jpg、images_png、images_gif 弄在一起,变成了images_list。
然后进行循环,在 images_list 里面一个一个对图片进行识别。
images_list = itertools.chain(images_jpg, images_png, images_gif) for i in images_list: print(i) # 输出照片的路径 n = Nude(i) # 对图片进行识别 n.parse() print(n.result) # 输出结果 print(n.message) # 输出判断信息 print(n.inspect()) # 输出更加详细的判断信息
运行结果如下图

TeamViewer_2018-05-14_19-45-57.png
我们来看一下下图片,准确率嘛,有点玄学。

图片还可以吧
3 说明
识别是不是色色的图片的有依据的,根据给出的信息来看,是皮肤暴露的百分比来判断的,暴露的比例大于 15% 就判断为色色的图片。这里只是很粗浅的说明,还有一些我没有看懂。
python学习交流群:125240963
nonude 的 GitHub 链接: https://github.com/gearsystems/nonude/
nonude 的最近一次更新是两年前了,感觉有点可惜,希望作者能继续维护。
转载至https://www.jianshu.com/p/16b0663f6209?
用 Python 鉴别色色的图片的更多相关文章
- Python爬虫02——贴吧图片爬虫V2.0
Python小爬虫——贴吧图片爬虫V2.0 贴吧图片爬虫进阶:在上次的第一个小爬虫过后,用了几次发现每爬一个帖子,都要自己手动输入帖子链接,WTF这程序简直反人类!不行了不行了得改进改进. 思路: 贴 ...
- python 3编写贴吧图片下载软件(超简单)
业余时间初学者作品,大佬勿喷,代码都很简单. py文件打包成exe教程:python3.7 打包成exe程序, 本程序体验下载地址:python编译的贴吧图片下载工具 先上效果图 启动后是这样的: 按 ...
- Python读取excel中的图片
作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...
- python爬取基础网页图片
python基础爬虫总结 1.爬取信息原理 与浏览器客户端类似,向网站的服务器发送一个请求,该请求一般是url,也就是网址.之后服务器响应一个html页面给客户端,当然也有其他数据类型的信息,这些就是 ...
- python 3 爬取百度图片
python 3 爬取百度图片 学习了:https://blog.csdn.net/X_JS612/article/details/78149627
- python+requests抓取页面图片
前言: 学完requests库后,想到可以利用python+requests爬取页面图片,想到实战一下.依照现在所学只能爬取图片在html页面的而不能爬取由JavaScript生成的图片,所以我选取饿 ...
- Python:爬取网站图片并保存至本地
Python:爬取网页图片并保存至本地 python3爬取网页中的图片到本地的过程如下: 1.爬取网页 2.获取图片地址 3.爬取图片内容并保存到本地 实例:爬取百度贴吧首页图片. 代码如下: imp ...
- python中学习K-Means和图片压缩
python中学习K-Means和图片压缩 大家在学习python中,经常会使用到K-Means和图片压缩的,我们在此给大家分享一下K-Means和图片压缩的方法和原理,喜欢的朋友收藏一下吧. 通俗的 ...
- 【PyMuPDF和pdf2image】Python将PDF转成图片
前言: 在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试. 粗略的试了好几种方式,其中语言尝试了Python和Java,总体而言所找到的Python ...
随机推荐
- C#之面向对象的特性
类是一种抽象的数据类型,但是其抽象的程度有可能会不同,而对象就是一个类的实例,例如,将花设计为一个类,天堂鸟和矢车菊就可以各为一个对象,从这里我们可以看出来,天堂鸟和矢车菊 ...
- 程序员的视角:java GC
GC(Garbage Collection 垃圾回收)的概念随着 java 的流行而被人们所熟知. 实际 GC 最早起源于20世纪60年代的 LISP 语言,是一种自动的内存管理机制. GC 要解决的 ...
- Android官方技术文档翻译——IntelliJ 项目迁移
本文译自Android官方技术文档<Migrating from IntelliJ Projects>,原文地址:http://tools.android.com/tech-docs/ne ...
- GitHub前50名的Objective-C动画相关库相关推荐,请自行研究
GitHub的Objective-C的动画UI库其实是最多的一部分,GitHub有相当一部分的动画大牛,如Jonathan George,Nick Lockwood,Kevin,Roman Efimo ...
- ITU-T Technical Paper: IP网络测量模型
本文翻译自ITU-T的Technical Paper:<How to increase QoS/QoE of IP-based platform(s) to regionally agreed ...
- 【ROM修改教程】添加高级电源重启菜单(安卓4.0.4官方ROM)
准备工作: 电脑上安装好JDK.下载smali和baksmali.下载apktools.要修改的ROM.adb工具(可选) 注:由于本教程面向的对象为有一定ROM修改基础的兄弟,所以对于如何使用电脑, ...
- MT6592 经验积累
1.build/target/product/xxxx.mk 新项目clone后,需要修改这里 如:build/target/product/x160v.mk PRODUCT_MODEL :=Phi ...
- 安卓学习笔记一 Activity延迟转跳实现欢迎界面
新人学习安卓,为了刚好的学习,现做如下笔记..同时希望自己的经验可以帮助新人们学习入门. 几乎每个app都有个欢迎界面,我们可以使用Activity转跳来实现. 首先建立一个MainActivity ...
- SharePoint 开发TimerJob 介绍
项目需要写TimerJob,以前也大概知道原理,不过,开发过程中,还是遇到一些问题,网上看了好多博客,也有写的灰常好的,不过,自己还是想再写一下,也算是给自己一个总结,也算给大家多一个参考吧. Tim ...
- LeetCode(28)-Remove Duplicates from Sorted Array
题目: Given a sorted array, remove the duplicates in place such that each element appear only once and ...