python验证码图片处理(二值化)

yipeiwu_com6年前Python基础

写在最前面:

这个我打算分几次写,由于我们通过selenium拿到的图片会很模糊,所以使用Tesseract识别之前要对图片先进行处理。

第一步就是二值化,设定阈值,低于阈值全部为白色(置0),其余黑色(置1)。

import pytesseract
from PIL import Image,ImageEnhance
 
def binaryzation(threshold=145):      #降噪,图片二值化
  table = []
  for i in range(256):
    if i < threshold:
      table.append(0)
    else:
      table.append(1)
 
  return table
 
image = Image.open('newcode.jpg')     #打开图片
image = image.convert('L')         #转化为灰度图
image.show()
image = image.point(binaryzation(), '1')  #二值化
image.show()

这是原始图片 :

转化为灰度图:

二值化:

今天先到这儿,我要继续研究啦~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python生成器generator用法示例

Python生成器generator用法示例

本文实例分析了Python生成器generator用法。分享给大家供大家参考,具体如下: 生成器generator本质是一个函数,它记住上一次在函数体中的位置,在生成器函数下一次调用,会...

Python OpenCV处理图像之图像像素点操作

Python OpenCV处理图像之图像像素点操作

本文实例为大家分享了Python OpenCV图像像素点操作的具体代码,供大家参考,具体内容如下 0x01. 像素 有两种直接操作图片像素点的方法: 第一种办法就是将一张图片看成一个多维...

解决python2.7 查询mysql时出现中文乱码

问题: python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 --- 可能情况: 1.mysql数据库各项没有设置编码,默认为'latin' 2.使用MySQL...

python安装pil库方法及代码

python安装pil库方法及代码

安装PIL 在Debian/Ubuntu Linux下直接通过apt安装: $ sudo apt-get install python-imaging Mac和其他版本的Linux...

使用Python正则表达式操作文本数据的方法

什么是正则表达式 正则表达式,是简单地字符的序列,可指定特定的搜索模式。正则表达式已存在很长一段时间,并且它本身就是计算机科学的一个领域。 在 Python中,使用Python的内置r...