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使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python基于回溯法子集树模板解决0-1背包问题实例
Sep 02 Python
从0开始的Python学习016异常
Apr 08 Python
django query模块
Apr 20 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
Python初学者常见错误详解
Jul 02 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
Sep 25 Python
Django 构建模板form表单的两种方法
Jun 14 Python
基于python实现判断字符串是否数字算法
Jul 10 Python
python 网络编程要点总结
Jun 18 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&amp;&amp;mysql)五
2006/10/09 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
学习ExtJS Panel常用方法
2009/10/07 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
python赋值操作方法分享
2013/03/23 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Python-opencv 双线性插值实例
2020/01/17 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
前台文员的岗位职责
2013/11/14 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers