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进阶教程之函数对象(函数也是对象)
Aug 30 Python
Python中MYSQLdb出现乱码的解决方法
Oct 11 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
python3 判断列表是一个空列表的方法
May 04 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
python语言实现贪吃蛇游戏
Nov 13 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实现GIF图片验证码
2015/11/04 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
vue+element模态框中新增模态框和删除功能
2019/06/11 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
深入理解Python装饰器
2016/07/27 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
python实现自主查询实时天气
2018/06/22 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
2014幼儿教师个人工作总结
2014/12/03 职场文书
综合实践活动报告
2015/02/05 职场文书
自荐信格式模板
2015/03/27 职场文书
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers