Python+Tesseract实现图片文字识别

导语

图片文字识别也是有点意思哈,苦于现在用Python实现图片中文识别的方法很有限,不知死活的胖子打算记录一下自己挥泪的实现过程……

1. 工具准备

笔者使用的是Tesseract,必须要好好感谢Google为人类各方面生活品质提升所做出的努力与贡献!(鼓掌!!)Tesseract是一个Google支持的开源ocr项目,用于识别图片中文字,各国文字任卿选啊哈哈哈,详细安装教程及其使用方法可以戳这里(Windows环境记得将tesseract.exe目录添加进系统环境变量,方便Python调用)。使用Tesseract ocr有两种方式:动态库方式 libtesseract执行程序方式 tesseract.exe,笔者使用的是第二个方式,也方便Python调用。Tesseract其他中文介绍可以参考Python下Tesseract Ocr引擎及安装介绍。

2. 图片文字识别

由于tesseract.exe是直接用terminal调用的,所以这里使用到了os.popen用于运行terminal命令。

import os

def getresults(resultFolder, imgFolder):
    
    """
    Parameters
    ----------
    resultFolder: results directory
    imgFolder: image directory
    """
    # Windows
    # cmd = 'cmd.exe /k tesseract.exe ' + img + 'result -l chi_sim+eng'
    
    # OS X
    # cmd = 'tesseract ' + img + ' result -l chi_sim'

    imgList = os.listdir(imgFolder)
    os.chdir(imgFolder)
    for i in range(1, len(imgList)):
        resultFile = ' %sresult-%s' % (resultFolder, imgList[i].split('.')[0])
        cmd = 'tesseract ' + imgList[i] + resultFile + ' -l chi_sim'
        os.popen(cmd)

[一定要特别mark一下!][null-link]
在Windows环境下调用terminal对tesseract的命令时,tesseract后一定要加.exe!要加.exe!要加.exe!例如:cmd.exe /k tesseract.exe testImg.jpg result -l chi_sim+eng 不知死活的笔者之前在网上没找到对于该问题的解决方法,可费了老大劲……
[null-link]: chrome://not-a-link

3. 其他

在笔者摸索使用Python处理图片时,发现一个非常好的包:opencv,等之后找时间试试哈哈哈哈……

你可能感兴趣的:(Python+Tesseract实现图片文字识别)