作者:劉志軍,6年+Python使用經(jīng)驗(yàn), 高級(jí)開(kāi)發(fā)工程師,目前在互聯(lián)網(wǎng)醫(yī)療行業(yè)從事Web系統(tǒng)構(gòu)架工作 個(gè)人公眾號(hào):Python之禪(微信ID:vttalk)
題圖:https://unsplash.com/@alvaroserrano
在一個(gè)項(xiàng)目中遇到這樣的需求,要把一堆圖片中的文字識(shí)別出來(lái)并分門別類地保存數(shù)據(jù)庫(kù),上萬(wàn)字純手工敲是下下策,網(wǎng)上有很多圖片轉(zhuǎn)文字的在線服務(wù),單張圖轉(zhuǎn)沒(méi)什么問(wèn)題,可惜大批量的圖缺乏定制化,愛(ài)搗鼓的程序員還是自己動(dòng)手靠譜,開(kāi)源項(xiàng)目 Tesseract 專用于 OCR 識(shí)別,它的應(yīng)用場(chǎng)景非常多,比如驗(yàn)證碼識(shí)別、車牌識(shí)別、普通的文字圖片識(shí)別都不是問(wèn)題。
Linux 和 Mac 平臺(tái)的安裝非常簡(jiǎn)單,直接命令行安裝即可,默認(rèn)只有英文語(yǔ)言包,漢語(yǔ)包需要額外指定
sudo apt-get install tesseract-ocr # ubuntu
brew install tesseract # macOS
Windows 平臺(tái)需要二進(jìn)制安裝包,官方下載地址 https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows,安裝時(shí)需要選擇中文語(yǔ)言包才是識(shí)別漢字
安裝完成后,需要設(shè)置兩個(gè)環(huán)境變量 $PATH 和 $TESSDATA_PREFIX,如果不指定后面會(huì)報(bào)錯(cuò),把 tessertact 的安裝路徑加入 PATH 變量中,TESSDATA_PREFIX 變量的值指定為語(yǔ)言包的路徑
Python-tesseract 是 tessertact 的 Python 封裝包,它需要依賴圖片處理庫(kù) PIL(Pillow),環(huán)境搭建完成后就可以開(kāi)始做定制化開(kāi)發(fā)了。
以下我以杜甫的《登高》作為 demo 從中提取出其中的文字
# pip install pytesseract 先安裝依賴包
try:
import Image
except ImportError:
from PIL import Image
import pytesseract
# lang 指定中文簡(jiǎn)體
text = pytesseract.image_to_string(Image.open('dufu-denggao1.jpeg'), lang='chi_sim')
print(text)
輸出結(jié)果:
風(fēng) 急 天 高 猿 哨 哀 , 渚 清 沙 白 鳥(niǎo) 飛 回 。無(wú) 邊 落 木 蕭 蕭 下 , 不 盡 長(zhǎng) 江 滾 滾 來(lái) 。萬(wàn) 里 悲 秋 常 作 客 , 百 年 多 病 獨(dú) 登 臺(tái) 。艱 難 苦 恨 繁 霜 鬢 , 漫 倒 新 停 濁 酒 杯 。
你可以根據(jù)自己的業(yè)務(wù)需求進(jìn)行自定義開(kāi)發(fā),為了適應(yīng)不同的環(huán)境下的圖片,你可能需要了解更多 Tesseract 的API,以此來(lái)提高文字識(shí)別的準(zhǔn)確率。 如果你有興趣,甚至基于公眾號(hào)開(kāi)發(fā),用戶上傳圖片,自動(dòng)識(shí)別出文字,提供收費(fèi)服務(wù)也不是沒(méi)有可能。
Tesseract 有超過(guò) 30 年的歷史,它最早誕生于HP實(shí)驗(yàn)室,在 2005 年,Tesseract由美國(guó)內(nèi)華達(dá)州信息技術(shù)研究所獲得,其后由 Google 贊助進(jìn)行后續(xù)的開(kāi)發(fā)和維護(hù)。
下面的幾篇 Tesseract 相關(guān)的論文非常適合研究生做課題設(shè)計(jì)
WIKI:https://github.com/tesseract-ocr/tesseract/wiki
論文:https://github.com/lzjun567/the-Papers-and-Data-of-Tesseract-OCR-
Python愛(ài)好者社區(qū)歷史文章大合集:
聯(lián)系客服