前些天看见了几个有趣的python项目,在自己实际测试和理解后贴一下代码。

https://www.shiyanlou.com/courses/589/labs/1964/document

算法主要逻辑是通过python自带的PIL库通过像素分析图片的皮肤部分,并通过皮肤占有整个图片面积和皮肤块数量来判断一张图片是否是色情图片。

当然,目前该种分析方法依然有许多不足之处。。。但是大部分比较典型的图片都能比较不错地识别。。。但是没有加入人型轮廓的识别,导致错误的可能性。

还有一个问题就是皮肤识别算法较为粗糙,对于色相比较接近或者黑白处理的照片,识别成功率会直线下降,同时

但是对于大部分较为清楚的图像,处理结果还是值得期待的。

这里首先把主要算法理解下。主要的过程是从上到下遍历这张图片的每一个像素,通过rgb值判定一个像素是否为皮肤像素,如果一个像素是皮肤像素,判断之前已经遍历过的四个像素点,如果他们是像素的话,就连接成皮肤块,最后统计皮肤块的数量和面积占比。

python 图像识别的小应用的更多相关文章

  1. python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET

    python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET python random模块 分类: python 2011-11-15 15:31 6037人阅读 评论(2) ...

  2. 关于理解python类的小题

    今天看了python部落翻译的一篇<一道python类的小题>文章,感觉挺有启发性,记录下来: print('A') class Person(object): print('B') de ...

  3. 【Python教程】《零基础入门学习Python》(小甲鱼)

    [Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609

  4. Python开发转盘小游戏

    Python开发转盘小游戏 Python  一 原理分析 Python开发一个图形界面 有12个选项和2个功能键 确定每个按钮的位置 每个按钮的间隔相同 点击开始时转动,当前选项的背景颜色为红色,其他 ...

  5. Python趣味实用小工具

    代码地址如下:http://www.demodashi.com/demo/12918.html python 趣味实用小工具 概述 用python实现的三个趣味实用小工具: 图片转Execl工具 , ...

  6. 【Python精华】100个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...

  7. 整理了适合新手的20个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...

  8. 利用python实现微信小程序游戏跳一跳详细教程

    利用python实现微信小程序游戏跳一跳详细教程 1 先安装python 然后再安装pip <a href="http://newmiracle.cn/wp-content/uploa ...

  9. Python,while循环小例子--猜拳游戏(三局二胜)

    Python,while循环小例子--猜拳游戏(三局二胜) import random all_choice = ['石头', '剪刀', '布'] prompt = '''(0)石头 (1)剪刀 ( ...

随机推荐

  1. 用SQL语句从电脑导入图片到数据库

    --创建图片表 CREATE TABLE W_PIC ( ID INT, --编号 WPATH ), --完整路径 PIC ), --图片名称,不带后缀 img image --图片内容 ) --图片 ...

  2. static的用法详解

    一.静态类 [1] 仅包含静态成员. [2] 静态类的本质,是一个抽象的密封类,所以不能被继承,也不能被实例化.也就是说,不能使用 new 关键字创建静态类类型的变量. [4] 不能包含实例构造函数. ...

  3. MVC5项目转.Net Core 2.2学习与填坑记录(1)

    流程都是自己摸索,错误地方随便指正... 老项目过于臃肿,并且所有请求都是提交到一个api中,这样当api挂掉的时候,基本所有的项目都瘫痪掉了. 在4月底的时候,下决心将项目用微服务进行重写,刚开始的 ...

  4. python基础之迭代器协议和生成器(一)

    一 递归和迭代 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前 ...

  5. Python练习_初识数据类型_day3

    题目 1. 作业 1,有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 2) 移除name变量左边的&quo ...

  6. fcrackzip破解zip密码

    kail系统里有fcrackzip工具,可以对设置密码的压缩包zip直接进行破解,不用字典,直接进行暴力破解. fcrackzip 所用到的参数介绍如下:-b 表示暴力破解-c 表示暴力破解中使用的字 ...

  7. Linux下安装php报错:libxml2 not found. Please check your libxml2 installation

    ubuntu/debian: apt-get install libxml2-dev centos/redhat: yum install libxml2-devel

  8. Linq以本周和本月为条件的Sql,Liqn查询本周,Linq查询本月

    //计算本周时间 时间 > DateTime.Now.AddDays(-Convert.ToInt32(DateTime.Now.Date.DayOfWeek) //计算本月时间 时间 > ...

  9. js 加解密方法

    一:最简单的加密解密 (ansi转usc2) 大家对于JAVASCRIPT函数escape()和unescape()想必是比较了解啦(很多网页加密在用它们),分别是编码和解码字符串,比如例子代码用es ...

  10. shell code