一行Python代码就可以帮您获取图片中的文字信息

发表于:2023-5-19 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试开发Kevin    来源:今日头条

  最近工作中有需求需要用python对图片中的文字进行识别,调研了一下,选择了tesseract,目前在github上有50.5k个star!python可以调用,安装也十分方便,pip install pytesseract 即可。如果没有Pillow 包,还需要执行pip install Pillow。
  核心代码
  读取图片中文字信息的核心api如下:
  from PIL import Image
  import pytesseract
  captcha_text = pytesseract.image_to_string(Image.open("d:/tmp/img4.png"), lang='chi_sim')
  print(captcha_text)
  上面这段代码中需要解释的是如果图片中有中文字符则需要添加参数lang='chi_sim',并在安装的过程中添加识别中文的字符库,后面会讲到!
  运行代码遇到的问题
  直接运行上面的代码,会遇到下面的问题:
  raise TesseractNotFoundError()
  pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.
  我们来分析一下这个错误!错误提示tesseract没有安装,但是我们明明已经执行了pip install pytesseract,那么问题会出在哪里呢?
  我们需要先了解一下pytesseract,它是一款用于光学字符识别(OCR)的python工具,即从图片中识别出和“读取”其中嵌入的文字,底层使用的是Google的Tesseract-OCR 引擎,pytesseract只是对Tesseract-OCR的一层封装!看到这里我们就能够理解 ,运行python代码。
  pytesseract.image_to_string() 报错的原因了!因为我的PC上并没有安装Tesseract-OCR,pytesseract是无法调用Tesseract-OCR的api为我们干活的!
  安装Tesseract-OC
  Tesseract-OCR windows 版本的下载链接如下:https://github.com/UB-Mannheim/tesseract/wiki
  下载成功后,只需默认安装,在安装的过程中,如果想对其他国家语言文字识别可以选择相对应的语言包,如下图:
  安装成功后配置路径 C:\Program Files\Tesseract-OCR 到环境变量中即可。
  再次运行,正常执行!大家可以自己做一张文字图片的截图查看效果。
  复杂的登录校验码无法识别
  另外我测试了Tesseract-OCR对复杂校验码的识别情况,如下图:
  结论是:复杂的校验码仍然无法识别。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号