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设计模式之门面模式简单示例
Jan 09 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
对PyTorch torch.stack的实例讲解
Jul 30 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
Python实现全排列的打印
Aug 18 Python
Django实现表单验证
Sep 08 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
Python Unittest原理及基本使用方法
Nov 06 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
用户的详细注册和判断
2006/10/09 PHP
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
Python 可爱的大小写
2008/09/06 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
使用tensorflow实现AlexNet
2017/11/20 Python
python Django 创建应用过程图示详解
2019/07/29 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
大学生村官心得体会范文
2014/01/04 职场文书
仓库组长岗位职责
2014/01/29 职场文书
公司建议书怎么写
2014/05/15 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
小学安全工作总结2015
2015/05/18 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
车间班组长竞聘书
2015/09/15 职场文书
详解Redis瘦身指南
2021/05/26 Redis