機(jī)器視覺(jué)
從 Google 的無(wú)人駕駛汽車(chē)到可以識(shí)別假鈔的自動(dòng)售賣(mài)機(jī),機(jī)器視覺(jué)一直都是一個(gè)應(yīng)用廣 泛且具有深遠(yuǎn)的影響和雄偉的愿景的領(lǐng)域贷屎。
我們將重點(diǎn)介紹機(jī)器視覺(jué)的一個(gè)分支:文字識(shí)別,介紹如何用一些 Python庫(kù)來(lái)識(shí)別和使用在線圖片中的文字艘虎。
我們可以很輕松的閱讀圖片里的文字唉侄,但是機(jī)器閱讀這些圖片就會(huì)非常困難,利用這種人類(lèi)用戶(hù)可以正常讀取但是大多數(shù)機(jī)器人都沒(méi)法讀取的圖片野建,驗(yàn)證碼 (CAPTCHA)就出現(xiàn)了属划。驗(yàn)證碼讀取的難易程度也大不相同,有些驗(yàn)證碼比其他的更加難讀贬墩。
將圖像翻譯成文字一般被稱(chēng)為光學(xué)文字識(shí)別(Optical Character Recognition, OCR)榴嗅⊥唬可以實(shí)現(xiàn)OCR的底層庫(kù)并不多,目前很多庫(kù)都是使用共同的幾個(gè)底層 OCR 庫(kù),或者是在上面 進(jìn)行定制陶舞。
ORC庫(kù)概述
在讀取和處理圖像、圖像相關(guān)的機(jī)器學(xué)習(xí)以及創(chuàng)建圖像等任務(wù)中绪励,Python 一直都是非常出色的語(yǔ)言肿孵。雖然有很多庫(kù)可以進(jìn)行圖像處理唠粥,但在這里我們只重點(diǎn)介紹:Tesseract
Tesseract
Tesseract 是一個(gè) OCR 庫(kù),目前由 Google 贊助(Google 也是一家以 OCR 和機(jī)器學(xué)習(xí)技術(shù)聞名于世的公司)。Tesseract 是目前公認(rèn)最優(yōu)秀停做、最精確的開(kāi)源 OCR 系統(tǒng)晤愧。 除了極高的精確度,Tesseract 也具有很高的靈活性。它可以通過(guò)訓(xùn)練識(shí)別出任何字體蛉腌,也可以識(shí)別出任何 Unicode 字符官份。
安裝Tesseract
Windows 系統(tǒng)
下載可執(zhí)行安裝文件https://code.google.com/p/tesseract-ocr/downloads/list安裝。
Linux 系統(tǒng)
可以通過(guò) apt-get 安裝: $sudo apt-get tesseract-ocr
Mac OS X系統(tǒng)
用 Homebrew(http://brew.sh/)等第三方庫(kù)可以很方便地安裝等第三方庫(kù)可以很方便地安裝) brew install tesseract
要使用 Tesseract 的功能烙丛,比如后面的示例中訓(xùn)練程序識(shí)別字母舅巷,要先在系統(tǒng)中設(shè)置一 個(gè)新的環(huán)境變量 $TESSDATA_PREFIX
,讓 Tesseract 知道訓(xùn)練的數(shù)據(jù)文件存儲(chǔ)在哪里河咽,然后搞一份tessdata數(shù)據(jù)文件钠右,放到Tesseract目錄下。
在大多數(shù) Linux 系統(tǒng)和 Mac OS X 系統(tǒng)上,你可以這么設(shè)置:
$export TESSDATA_PREFIX=/usr/local/share/Tesseract
在 Windows 系統(tǒng)上也類(lèi)似,你可以通過(guò)下面這行命令設(shè)置環(huán)境變量:
#setx TESSDATA_PREFIX C:\Program Files\Tesseract OCR\Tesseract
安裝pytesseract
Tesseract 是一個(gè) Python 的命令行工具忘蟹,不是通過(guò) import 語(yǔ)句導(dǎo)入的庫(kù)飒房。安裝之后,要用 tesseract 命令在 Python 的外面運(yùn)行,但我們可以通過(guò) pip 安裝支持Python 版本的 Tesseract庫(kù):
pip install pytesseract