python文字验证码识别_利用python进行验证码识别(预处理部分)

# -*- coding: utf-8 -*-

"""Created on Thu Feb 1 15:52:05 2018@author: Administrator"""

from PIL import Image

import os

import time #命名时用

import string #字符串模块

import shutil #文件复制粘贴等操作模块

path=r'C:\Users\Administrator\Desktop\python之图像识别\2.验证吗识别相关\pic(字母加数字加边框)'

path_save=r'C:\Users\Administrator\Desktop\python之图像识别\2.验证吗识别相关\归类\\'

path_save2=r'C:\Users\Administrator\Desktop\python之图像识别\2.验证吗识别相关\cut\\'

path_makedir=r'C:\Users\Administrator\Desktop\python之图像识别\2.验证吗识别相关\分类_识别\\'

path_copy_from=r'C:\Users\Administrator\Desktop\python之图像识别\2.验证吗识别相关\归类'

#import pytesseract #利用著名hp的软件tesseract来进行简单的规则的文字识别

##上面都是导包,只需要下面这一行就能实现图片文字识别

#text=pytesseract.image_to_string(Image.open(r'C:\Users\Administrator\Desktop\python之图像识别\pic\123.jpg'),lang='eng')

#print(type(text))

################以下为自定义阈值的二值化函数##############

def get_bin_table(threshold): #threshold为阈值

"""获取灰度转二值的映射table:param threshold::return:"""

table = []

for i in range(256):

if i < threshold:

table.append(0)

else:

table.append(1)

return table

##########################################################

################以下为去噪函数(简单的删除点)::9邻域框,以当前点为中心的田字框,黑点个数##############

def sum_9_region(img, x, y): #为输入图片,xy分别为像素坐标,故使用其时需要用循环函数来厉遍图片里所有点

"""9邻域框,以当前点为中心的田字框,黑点个数:param x::param y::return:"""

# todo 判断图片的长宽度下限

cur_pixel = img.getpixel((x, y)) # 当前像素点的值

width = img.width

height = img.height

if cur_pixel == 1: # 如果当前点为白色区域,则不统计邻域值

return 0

if y == 0: # 第一行

if x == 0: # 左上顶点,4邻域

# 中心点旁边3个点

sum = cur_pixel \

+ img.getpixel((x, y + 1)) \

+ img.getpixel((x + 1, y)) \

+ img.getpixel((x + 1, y + 1))

return 4 - sum

elif x == width - 1: # 右上顶点

sum = cur_pixel \

+ img.getpixel((x, y + 1)) \

+ img.getpixel((x - 1, y)) \

+ img.getpixel((x - 1, y + 1))

return 4 - sum

else: # 最上非顶点,6邻域

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值