26c40db38114dcea484a2f57269a4d47.png

不管你是出于什么目的点进来的,首先你要知道,这是一个正经的教程……╭(╯^╰)╮

今天要介绍的项目是用 Python 制作一个鉴黄程序,它可以识别一张图片是否为色情图片。内容出自课程 ——「Python 实现色情图片识别」,完全免费,欢迎大家来实验楼亲手操作一遍~

Python 实现色情图片识别​www.shiyanlou.com
b828855d426a177c0168d312e23276f4.png

项目名称:【Python3 色情图片识别】

项目简介:该项目使用 Python3 去识别图片是否为色情图片,会使用到 PIL 这个图像处理库,会编写算法来完成对划分图像的皮肤区域。

涉及知识点:

  • Python 3 的模块的安装
  • Python 3 基础知识
  • 肤色像素检测与皮肤区域划分算法
  • Pillow 模块的使用
  • argparse 模块的使用

效果展示:

349c5d639f86a01b7ebb4b43d2b89e3a.png

de8985ca4c8bbb067796d33a2cf85a53.png

程序原理:

根据颜色(肤色)找出图片中皮肤的区域,然后通过一些条件判断是否为色情图片。

程序的关键步骤如下:

  1. 遍历每个像素,检测像素颜色是否为肤色
  2. 将相邻的肤色像素归为一个皮肤区域,得到若干个皮肤区域
  3. 剔除像素数量极少的皮肤区域

我们定义非色情图片的判定规则如下(满足任意一个判定为真):

  1. 皮肤区域的个数小于 3 个
  2. 皮肤区域的像素与图像所有像素的比值小于 15%
  3. 最大皮肤区域小于总皮肤面积的 45%
  4. 皮肤区域数量超过 60 个

这些规则你可以尝试更改,直到程序效果让你满意为止。关于像素肤色判定这方面,公式可以在网上找到很多,但世界上不可能有正确率 100% 的公式。你可以用自己找到的公式,在程序完成后慢慢调试。

62bbf546dd95abe523ff2a3f3b5ca0bf.png

—— 以上内容截选自【Python3 色情图片识别】

在线开发环境:

Learning by doing 是学编程最好的方式。实验楼为每个学习者都提供了在线的开发环境,欢迎大家跟着教程,边敲代码边学习~

a4f6eeec3a91923dafb702b40d7a0bd9.png
在线开发环境示意图

完整课程内容 & 项目源码在这里~

Python 实现色情图片识别​www.shiyanlou.com
b828855d426a177c0168d312e23276f4.png
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐