Python+Tesseract-OCR实现图像中的文字识别

开发环境:

运行平台:  win10

编程语言:python

IDE: pycharm

三方库模块:pytessseract、Tesseract-OCR

pytesseract库安装:

          打开cmd,执行安装命令:  pip --default-timeout=100 install pytesseract

如图:

Python+Tesseract-OCR实现图像中的文字识别_第1张图片

tesseract-ocr库安装:

        pip install tesseract-ocr

pip安装可能容易失败,可自行下载安装包安装:http://www.pc0359.cn/downinfo/55218.html

安装好后,找到你的python安装路径(比如D:\Python\Lib\site-packages\pytesseract)下的pytesseract下的pytesseract.py,修改:tesseract_cmd = r'D:/Tesseract-OCR/tesseract.exe'  (红色部分是你刚才Tesseract-OCR的安装路径),改好后保存退出。

至此,三方库安装完成。

代码实现:

import cv2 as cv
from PIL import Image
import pytesseract as tess


def recognize_text(img):
    gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
    ret,binary = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
    cv.imshow("binary", binary)

    # 此处可根据图像效果进行相应的形态学处理,再进行识别,提升准确率

    cv.bitwise_not(binary,binary)
    cv.imshow("dst_not",binary)

    textImg = Image.fromarray(binary)
    text = tess.image_to_string(textImg)
    print("识别结果:{}".format(text))


src = cv.imread("F:/workspace/pictures/digitals.png")
cv.imshow("src",src)

recognize_text(src)

cv.waitKey(0)

待识别图片:

Python+Tesseract-OCR实现图像中的文字识别_第2张图片

识别结果:

从结果可以看到,识别效果不是很好,第三组第一个数字7误识别为了字母T,所有前期的图像处理需要做好,此处仅做个演示,具体改进就不再做了。 

 

你可能感兴趣的:(计算机视觉)