有個(gè)需求,需要從一張圖片中識(shí)別出中文,通過(guò)python來(lái)實(shí)現(xiàn),這種這么高大上的黑科技我們普通人自然搞不了,去github找了一個(gè)似乎能滿足需求的開(kāi)源庫(kù)-tesseract-ocr:
Tesseract的OCR引擎目前已作為開(kāi)源項(xiàng)目發(fā)布在Google Project,其項(xiàng)目主頁(yè)在這里查看https://github.com/tesseract-ocr,
它支持中文OCR,并提供了一個(gè)命令行工具。python中對(duì)應(yīng)的包是pytesseract. 通過(guò)這個(gè)工具我們可以識(shí)別圖片上的文字。
筆者的開(kāi)發(fā)環(huán)境如下:
- macosx
- python 3.6
- brew
**安裝tesseract **
brew install tesseract
安裝python對(duì)應(yīng)的包:pytesseract
pip install pytesseract
這里寫(xiě)圖片描述
怎么用?
如果要識(shí)別中文需要下載對(duì)應(yīng)的訓(xùn)練集:https://github.com/tesseract-ocr/tessdata
,下載"chi_sim.traineddata",然后copy到訓(xùn)練數(shù)據(jù)集的存放路徑,如:
這里寫(xiě)圖片描述
這里寫(xiě)圖片描述
具體代碼就幾行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import pytesseract
from PIL import Image
# open image
image = Image.open('test.png')
code = pytesseract.image_to_string(image, lang='chi_sim')
print(code)
OCR速度比較慢,大家可以拿一張包含中文的圖片試驗(yàn)一下。