您的位置:首页 > 编程语言 > Python开发

【Pythons实现识别身份证号码】

2018-03-21 22:51 441 查看
利用Python调研pytesseract库来进行简单的身份证号码识别,在使用直接要安装相关库,具体流程百度
# coding=utf-8
from PIL import Image
import pytesseract
# 识别身份证

# 二值化
def binarizing(img, threshold):
'''

:param img:
:param threshold:
:return:
'''
pix = img.load() # 返回一个用于读取和修改像素的像素访问对象
m, n = img.size
for y in range(n):
for x in range(m):
if pix[x, y] > threshold:
pix[x, y] = 255
else:
pix[x, y] = 0

return img

# 去除干扰线
def depoint(img):
'''

:param img:
:return:
'''

pix = img.load()
m, n = img.size
for y in range(1, n-1):
for x in range(1, m-1):
count = 0
if pix[x, y-1] > 245:
count = count + 1
if pix[x, y+1] > 245:
count = count + 1
if pix[x-1, y] > 245:
count = count + 1
if pix[x+1, y] > 245:
count = count +1
if count > 2:
pix[x, y] = 255

return img

if __name__ == '__main__':
image = Image.open('idcard.png')
image = image.convert('L')
img = binarizing(image, 100)
img = depoint(img)
num = pytesseract.image_to_string(img)
print(str(num))





运行结果:



参考链接:http://blog.csdn.net/u013421629/article/details/72677964
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: