開源的命令行OCR軟件──tesseract

tesseract-ocr是一個(gè)跨平臺開源的OCR軟件(Optical Character Recognition,光學(xué)字符識別),它歷史悠久,早期是HP實(shí)驗(yàn)室的項(xiàng)目,現(xiàn)托管google code。
大部分常用的linux發(fā)行版,應(yīng)該都在源里包含了此軟件,所以ubuntu下只需要 sudo apt-get install tesseract-ocr tesseract-ocr-eng 就可以安裝了,注意必須安裝 tesseract-ocr-eng 這個(gè)是識別英文字符所必須的數(shù)據(jù)文件。而在ubuntu下,也只需要 emerge app-text/tesseract 就可以了,但是也必須給這個(gè)包添加 linguas_en 這個(gè)use,才會(huì)安裝所需要的數(shù)據(jù)文件。- R  I/ Q6 V  N- Y* Z# r
關(guān)于數(shù)據(jù)文件,還得交代一下,其實(shí)tesseract在2.0版以后,已經(jīng)有了學(xué)習(xí)能力了,如果你想提高某個(gè)字體的識別率,或者識別不在默認(rèn)語言包里的UTF-8字符(比如中文)的話,可以安裝這個(gè)方法來訓(xùn)練出自己的數(shù)據(jù)文件。& W7 ?, @% i- L/ t' D: X
這個(gè)OCR軟件能干嘛呢?典型地應(yīng)用就是識別驗(yàn)證碼,哈哈。所以以這個(gè)為例,來介紹一下使用方法,先來看看這幾個(gè)驗(yàn)證碼(可“圖片另存為”,然后自行測試):6 D; W: L7 G. s: H' Y4 y/ \

這幾個(gè)都是用默認(rèn)的數(shù)據(jù)文件能正確識別的例子,由于tesseract只識別tiff格式的圖片文件,所以識別之前,需要將圖片先轉(zhuǎn)成tif格式,具體如下:
$ convert cnblogs.com.jpe ppm:- | ppm2tiff yzm.tif $ tesseract yzm.tif out Tesseract Open Source OCREngine $ cat out.txt 1750
* i' [/ G+ a' U
同時(shí),也有些比較難的驗(yàn)證碼,是程序不能正確識別的,如下幾個(gè)就是例子:

雖然識別的正確性不是非常高,但是已經(jīng)很不錯(cuò)了,哈哈。