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标准库之sqlite3使用实例
Nov 25 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
对于Python装饰器使用的一些建议
Jun 03 Python
python机器学习实战之K均值聚类
Dec 20 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Python3多目标赋值及共享引用注意事项
May 27 Python
Python简单处理坐标排序问题示例
Jul 11 Python
python使用Pandas库提升项目的运行速度过程详解
Jul 12 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
Django限制API访问频率常用方法解析
Oct 12 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 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常用ODBC函数集(详细)
2013/06/24 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
php自动加载代码实例详解
2021/02/26 PHP
深入分析js中的constructor和prototype
2012/04/07 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
python双向链表实现实例代码
2013/11/21 Python
python连接数据库的方法
2017/10/19 Python
Python Requests库基本用法示例
2018/08/20 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Python爬取成语接龙类网站
2018/10/19 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
pandas数据拼接的实现示例
2020/04/16 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
自我评价的正确写法
2013/09/19 职场文书
打架检讨书2000字
2014/02/22 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
家长会标语
2014/06/24 职场文书
电子工程求职信
2014/07/17 职场文书
2014年实习生工作总结
2014/11/27 职场文书
大学生个人学年总结
2015/02/15 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
主婚人致辞精选
2015/07/28 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript