Python+Tesseract-OCR识别图片上的文本内容

目标

解决UI自动化过程中的图文验证码问题,过程大致分为两个步骤:

  1. 自动下载网页上指定的图片
  2. 识别图片上的文本内容

本文以“识别页面上指定图片的文本“为例。

代码实现效果

Python+Tesseract-OCR识别图片上的文本内容

Python+Tesseract-OCR识别图片上的文本内容

环境准备

  1. Pytesseract
  2. Tesseract-OCR
  3. Pillow

手动安装pytesseract库

命令:pip install pytesseract

Python+Tesseract-OCR识别图片上的文本内容

安装Tesseract-OCR.exe

下载地址

https://github.com/UB-Mannheim/tesseract/wiki

Python+Tesseract-OCR识别图片上的文本内容

双击exe程序直接安装即可

Python+Tesseract-OCR识别图片上的文本内容

 

 

配置环境变量

Python+Tesseract-OCR识别图片上的文本内容

Python+Tesseract-OCR识别图片上的文本内容

校验安装成功

Python+Tesseract-OCR识别图片上的文本内容

 

 

安装Pillow包

Python自带的图文简单处理模块,正常安装Python的时候会自动安装,故无需另外手动安装。(若没自动安装则可手动安装:pip install Pillow)

代码正文

初始化浏览器和元素定位方式

  1. 初始化并放大浏览器
  2. 初始化元素定位方式:本文使用CSS选择器方式定位

Python+Tesseract-OCR识别图片上的文本内容

Python+Tesseract-OCR识别图片上的文本内容

获取图片

  1. 页面全屏截图
  2. 截图转为Image对象
  3. 获取指定图片的大小和位置
  4. 裁剪图片

 

Python+Tesseract-OCR识别图片上的文本内容

Python+Tesseract-OCR识别图片上的文本内容

识别图片上的文本

  1. 识别裁剪后的图片上的文本内容

Python+Tesseract-OCR识别图片上的文本内容

Python+Tesseract-OCR识别图片上的文本内容

问题:

Python脚本运行报错:

Python+Tesseract-OCR识别图片上的文本内容

 

解决方案:

修改tesseract文件的默认路径

Python+Tesseract-OCR识别图片上的文本内容