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双端队列原理、实现与使用方法分析

本文实例讲述了python双端队列原理、实现与使用方法。分享给大家供大家参考,具体如下: 双端队列 双端队列(deque,全名double-ended queue),是一种具有队列和栈的...

在IPython中执行Python程序文件的示例

简单使用了一下之后,我觉得如果有机会(公司里面编码是极不自由的,也无所谓,我在公司不做数据分析),我肯定是更喜欢使用IPython作为我的Python shell环境了。简单的接触发现了...

使用python serial 获取所有的串口名称的实例

如下所示: #!/usr/bin/env python # -*- coding: utf-8 -* import serial import serial.tools.list...

python监控linux内存并写入mongodb(推荐)

(需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil #pip install pymongo #vim memory_moni...

django商品分类及商品数据建模实例详解

基类(商品类及分类类之间共同的字段) class BaseModle(models.Model): name = models.CharField(max_length=32,...