python图片二值化提高识别率

血红的双手。 提交于 2019-11-28 08:47:51

  

import cv2
from PIL import Image
from pytesseract import pytesseract
from PIL import ImageEnhance
import re
import string

def createFile(filePath,newFilePath):

    img = Image.open(filePath)

    # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
    Img = img.convert('L')
    Img.save(newFilePath)

    # 自定义灰度界限,大于这个值为黑色,小于这个值为白色
    threshold = 200

    table = []
    for i in range(256):
        if i < threshold:
            table.append(0)
        else:
            table.append(1)

    # 图片二值化
    photo = Img.point(table, '1')
    photo.save(newFilePath)

if __name__ == '__main__':

createFile(r'1.bmp',r'newTest.png')

 

 

原图:

处理过后的图:

 

识别结果:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!