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实现统计文本文件字数的方法
May 05 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
详解Django rest_framework实现RESTful API
May 24 Python
python3.6的venv模块使用详解
Aug 01 Python
python中join()方法介绍
Oct 11 Python
Python编程中flask的简介与简单使用
Dec 28 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
Jan 14 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 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里面的抽象类
2010/01/28 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
javascript onmouseout 解决办法
2010/07/17 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
Python字符遍历的艺术
2008/09/06 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
python做反被爬保护的方法
2019/07/01 Python
python实现飞行棋游戏
2020/02/05 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
初中生学习生活的自我评价
2013/11/20 职场文书
英文自荐信格式
2013/11/28 职场文书
幼儿园教师节活动方案
2014/02/02 职场文书
静心口服夜广告词
2014/03/20 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
婚前协议书范本
2014/10/27 职场文书
教师个人学习总结
2015/02/11 职场文书
少先队工作总结2015
2015/05/13 职场文书
银行求职信怎么写
2019/06/20 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
Redis Cluster集群动态扩容的实现
2021/07/15 Redis