python用10行代码实现对黄色图片的检测功能

yipeiwu_com6年前Python基础

本文实例讲述了python用10行代码实现对黄色图片的检测功能。分享给大家供大家参考。具体如下:

原理:将图片转换为YCbCr模式,在图片中寻找图片色值像素,如果在皮肤色值内的像素面积超过整个画面的1/3,就认为是黄色图片。

申明:简单场景还是够用了,稍微复杂一点就不准确了,例如:整幅画面是人的头像,皮肤色值的像素必然超过50%,被误认为黄色图片就太武断了。

需要安装python图片库PIL支持

porn_detect.py如下:

import sys,PIL.Image as Image
img = Image.open(sys.argv[1]).convert('YCbCr')
w, h = img.size
data = img.getdata()
cnt = 0
for i, ycbcr in enumerate(data):
  y, cb, cr = ycbcr
  if 86 <= cb <= 117 and 140 <= cr <= 168:
    cnt += 1
print '%s %s a porn image.'%(sys.argv[1], 'is' if cnt > w * h * 0.3 else 'is not')

运行:

复制代码 代码如下:
python porn_detect.py myphoto.png

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python 图像对比度增强的几种方法(小结)

Python 图像对比度增强的几种方法(小结)

图像处理工具——灰度直方图 灰度直方图时图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率。 例子:矩阵 图片来自网络,侵删! 上面图片的灰度直方图 p...

python实现在字符串中查找子字符串的方法

本文实例讲述了python实现在字符串中查找子字符串的方法。分享给大家供大家参考。具体如下: 这里实现python在字符串中查找子字符串,如果找到则返回子字符串的位置,如果没有找到则返回...

Python中下划线的使用方法

本文将讨论Python中下划线(_)字符的使用方法。我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已。 单下划线(_) 通常情况下,会在以...

Selenium(Python web测试工具)基本用法详解

Selenium(Python web测试工具)基本用法详解

本文实例讲述了Selenium基本用法。分享给大家供大家参考,具体如下: Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作...

Python实现自定义读写分离代码实例

这篇文章主要介绍了Python实现自定义读写分离代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 思路 自定义Sessio...