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 相关文章推荐
在Django中管理Users和Permissions以及Groups的方法
Jul 23 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
python nmap实现端口扫描器教程
May 28 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python-openCV开运算实例
Jul 05 Python
python 制作网站小说下载器
Feb 20 Python
Python 如何安装Selenium
May 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
使用php来实现网络服务
2009/09/15 PHP
php学习笔记 数组的常用函数
2011/06/13 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
php中curl使用指南
2015/02/05 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
禁止你的左键复制实用技巧
2013/01/04 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
js实现点击按钮随机生成背景颜色
2020/09/05 Javascript
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python七夕浪漫表白源码
2019/04/05 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
python列表的逆序遍历实现
2020/04/20 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
团队口号大全
2014/06/06 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书