Python 处理图片像素点的实例


Posted in Python onJanuary 08, 2019

###在做爬虫的时候有时需要识别验证码,但是验证码一般都有干扰物,这时需要对验证码进行预处理,效果如下:

Python 处理图片像素点的实例

from PIL import Image
import itertools
img = Image.open('C:/img.jpg').convert('L') #打开图片,convert图像类型有L,RGBA

# 转化为黑白图
def blackWrite(img):
 blackXY = []

 # 遍历像素点
 for x in range(img.size[0]):
  for y in range(img.size[1]):
   print img.getpixel((x,y))
   if img.getpixel((x,y))<128:
    img.putpixel((x,y),0) # 置为黑点
    blackXY.append((x,y))
   else:
    img.putpixel((x,y),255) # 置为白点
 return blackXY


# 去除干扰点
def clrImg(img,pointArr):
 # 获取周围黑点的个数
 def getN(p):
  count = 0
  x = [p[0]-1,p[0],p[0]+1]
  y = [p[1]-1,p[1],p[1]+1]
  for i in itertools.product(x,y): # 笛卡尔积
   try:
    if img.getpixel(i) == 0:
     count +=1
   except:
    print 'out of'
    continue
  print count
  return count

 for p in pointArr:
  if getN(p)<5: # 周围黑点个数 <5 的黑点认为是干扰点,置为白点
   img.putpixel(p,255)
   
pointArr = blackWrite(img)
clrImg(img,pointArr)
img.save("C:/img_1.jpg")

以上这篇Python 处理图片像素点的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现保存网页到本地示例
Mar 16 Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
python基础教程之自定义函数介绍
Aug 29 Python
详解Python 数据库 (sqlite3)应用
Dec 07 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
Python函数装饰器实现方法详解
Dec 22 Python
浅谈python中get pass用法
Mar 19 Python
Django对models里的objects的使用详解
Aug 17 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
pytorch实现MNIST手写体识别
Feb 14 Python
Python sqlite3查询操作过程解析
Feb 20 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 #Python
对Python闭包与延迟绑定的方法详解
Jan 07 #Python
python将控制台输出保存至文件的方法
Jan 07 #Python
对Python捕获控制台输出流的方法详解
Jan 07 #Python
python print输出延时,让其立刻输出的方法
Jan 07 #Python
Python3 单行多行万能正则匹配方法
Jan 07 #Python
Python字符串的全排列算法实例详解
Jan 07 #Python
You might like
PHP 开源AJAX框架14种
2009/08/24 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
javascript制作2048游戏
2015/03/30 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
详解Python中with语句的用法
2015/04/15 Python
浅谈python jieba分词模块的基本用法
2017/11/09 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Django中Middleware中的函数详解
2019/07/18 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
Python模块future用法原理详解
2020/01/20 Python
python中Django文件上传方法详解
2020/08/05 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
Python偏函数实现原理及应用
2020/11/20 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
婚前协议书范本两则
2014/10/16 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
企业年会祝酒词
2015/08/11 职场文书