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 logging模块的使用方法

1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:...

python实现简单socket通信的方法

本文实例讲述了python实现简单socket通信的方法。分享给大家供大家参考,具体如下: 刚刚开始接触python,实现了一个helloworld程序---关于udp协议的socket...

django实现web接口 python3模拟Post请求方式

django实现web接口 python3模拟Post请求方式

作为抛砖引玉,用python3实现百度云语音解析,首先需要模拟Post请求把音频压缩文件丢给百度解析。 但是遇到一个问题客户端怎麽丢数据都是返回错误,后来在本地用django搭建了一个接...

Python 3.6 -win64环境安装PIL模块的教程

Python 3.6 -win64环境安装PIL模块的教程

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。 由于PIL仅支持到Python 2.7...

详解Python2.x中对Unicode编码的使用

我确定有很多关于Unicode和Python的说明,但为了方便自己的理解使用,我还是打算再写一些关于它们的东西。   字节流 vs Unicode对象 我们先来用Python定...