首先我们先要了解一下Tesseract,它是一款由Google进行维护的开源OCR识别引擎,开源且免费可以支持多种语言与多种多平台。
首先我们先要去github平台下载Tesseract。
在mac可以通过brew安装Tesseract引擎.
brew install --with-training-tools tesseract
在win服务器系统中可直接通过exe文件来安装,安装完成后需要将Tesseract的执行文件的目录加入到系统变量PATH中去。
一般,Tesseract默认安装的是英文语言训练包,如果需要简体中文或者其他可在tesseract-lang中找到下载然后将其放在安装文件夹中的testdata目录下即可。注:如果在windows系统中需要将testdata目录加入环境或系统变量.
Tesseract可以直接使用命令行执行。
tesseract 1.png outfile -l chi_sim
或者通过Python调用
我们只需要安装两个包
pip install pillow
pip install pytesseract
然后使用python编写的简单的转换函数。
from PIL import Image
import pytesseract
class Languages:
CHS = 'chi_sim'
CHT = 'chi_tra'
ENG = 'eng'
def img_to_str(image_path, lang=Languages.ENG):
return pytesseract.image_to_string(Image.open(image_path), lang)
print(img_to_str('images/1.png', lang=Languages.CHS))
即可实现简单的图片转文字效果,当然如果识别不准确我们还可以训练Tesseract库来提高准确度
除了使用python来调用Tesseract,我们还可以使用php或js来调用Tesseract引擎进行图片识别.
如php使用tesseract-ocr-for-php 库来帮助我们快速的调用tesseract。
js则使用Tesseract.js,它是Tesseract OCR引擎的emscripten端口。可在浏览器中使用带有CDN的webpack或普通脚本标签,也可以在带有Node.js的服务器上使用
除了以上的几种方法,我们还可以使用第三方提供的or图片识别服务如:微软Azure 阿里云、腾讯OCR等等。