用 Python 鉴别色色的图片

实话实说啊,这个标题起得就有点标题党,识别是识别,准确率就有点玄学了。

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 让我们来看一下图片。

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

如果不喜欢这样,可以换一个写法

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

011idk8.jpg

说一下,路径里面的斜杠 / 可以是反斜杠 \,如果后面有数字的话,请使用斜杠 /,不要用反斜杠 \。Python资源分享秋秋裙:855408893 内有安装包,学习视频资料,这里是Python学习者的聚集地,零基础,进阶,都欢迎点击加入Python资源分享

2.2 识别文件夹中的图片

先导入要用的库

这里用 glob 返回匹配指定模式的文件名

itertools.chain 把迭代对象串联起来,形成一个更大的迭代器,说白了就是把 images_jpg、images_png、images_gif 弄在一起,变成了images_list。

然后进行循环,在 images_list 里面一个一个对图片进行识别。

for i in images_list:
    print(i)  # 输出照片的路径
    n = Nude(i)  # 对图片进行识别
    n.parse()
    print(n.result)  # 输出结果
    print(n.message)  # 输出判断信息
    print(n.inspect())  # 输出更加详细的判断信息

运行结果如下图

我们来看一下下图片,准确率嘛,有点玄学。

图片还可以吧

3 说明


识别是不是色色的图片的有依据的,根据给出的信息来看,是皮肤暴露的百分比来判断的,暴露的比例大于 15% 就判断为色色的图片。这里只是很粗浅的说明

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FSociety

【Pandas教程】像写SQL一样用Pandas~

Python在数据分析领域有三个必须需要熟悉的库,分别是pandas,numpy和matplotlib,如果排个优先级的话,我推荐先学pandas。

27920
来自专栏程序猿杂货铺

【科普】什么是协程 ?

今天要讲的这个东西说实话,我也是今天才知道,一个我们大多数人可能从来都没用过的语法,哪就是传说中的【协程】,英文表达是 Coroutine。

29520
来自专栏秃头哥编程

给女朋友做个聊天机器人,这样就能一心写代码了

作为程序员中的佼佼者,深知有个女友不容易,于是,为了更及时的陪女友聊天回复微信,活学活用的程序员用 Python + itchat 写一个爬虫脚本每天定时给女友...

74850
来自专栏Bingo的深度学习杂货店

Leetcode 【495、835】

抛开移动的过程只看移动完成的结果。记图片左上角为顶点 (0, 0),正方形边长为 N,要使得两张图片有重叠,那么其中一张图片移到的某一点 (x, y) 一定与另...

12230
来自专栏程序员的知识天地

QPython,一个在手机上运行Python的神器

之前安利过一款手机上运行Python的神器Termux,不过Termux的使用比较重,它实际是一款linux系统模拟器,安装好Termux后还要再安装pytho...

2.4K30
来自专栏Crossin的编程教室

如何选择一个合适的练手项目

最近在组织编程擂台活动(前文:码上行动的同学,你有一个机会等待签收),会帮学员们挑选合适的项目,在实践中提升编程能力。

13140
来自专栏Crossin的编程教室

len(x) 击败 x.len(),从内置函数看 Python 的设计思想

它们预先定义在内置命名空间中,开箱即用,所见即所得。Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中起到了极关键的作用。

9720
来自专栏Bingo的深度学习杂货店

Leetcode 【200、695】

求二维矩阵中由 '1' 连通的岛屿个数(上下左右有 '1' 视为连通)。很明显用回溯法(DFS)求解。 (1)在递归回溯的函数外部,遍历二维矩阵,如果某个位置...

13450
来自专栏程序员的知识天地

leetcode无重复字符的最长字串 python实现

无重复字符的最长字串是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务。用Python来实现leetcode这道算法题,该题目会涉及到一个概念“滑动...

17210
来自专栏Devops专栏

Django 2.1.7 模型管理器 models.Manager 以及 元选项

上一篇Django 2.1.7 模型的关联 讲述了关于Django模型一对多、多对多、自关联等模型关系。

14540

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励