這是一個Google支持的Open Source的文字辨識專案。目前只在Linux work,未來還有很多功能要做,像是多國語系的辨識。預計2008年第3季,才會有正式版本。

我做了些測試,在FC 6上。





Pre-request package and tool:autoconfig. automake, jam(another make tool)

要安裝OCROPUS必須先安裝 tesseract-ocr(An OCR Engine that was developed at HP Labs between 1985 and 1995. Apache License 2.0)

% svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr
% cd tesseract-ocr
% ./runautoconf
% ./configure
% make
% make install

正常來說這樣就可以了,可是在Fedora Code 6的gcc (4.1.1)下,在執行make需要修改一些檔案。

參考(http://code.google.com/p/tesseract-ocr/issues/detail?id=10&can=2&q=)

extern "C" { }
here and there seems to be a correct workaround

ccmain/control.cpp, line 152
extern "C" { extern int display_ratings; }

cutil/tordvars.h, line 48
extern "C" { extern int display_ratings; }

cutil/globals.h, line 47
extern "C" {
extern int optind; /*option index */
extern char *optarg; /*option argument */
}

ccutil/getopt.h, line 23
extern "C" {
extern int optind;
extern char *optarg;
}

接著,就是要裝ocropus了

% svn checkout http://ocropus.googlecode.com/svn/trunk/ ocropus % cd ocroups % ./configure % jam

不要執行 jam install。因為還沒又做安裝步驟。但是現在可以測試了。因為目前只有command-line的程式,所以以下提供一些,指令更參考:

% cd ocroups/ocropus-cmd

% ./ocropus ocr test-page.png > output.html
% env hocr=0 ./ocropus ocr input.png # hocr=0 是不輸出Html格式
% env hocr=0 k=0.122 ./ocropus ocr input.png # k(default 0.5; range [0,1]) 可以調整判斷的準確度

最後看看我的測試報告:

圖檔說明k=0.1k=0.12k=0.5
某網站CAPTCHA 5582 5582 2 55S
數位相機照的發票 47548735 saw 47648735 說明

我特別用些有底圖檔測試,還算準的。好的方面想,可以做一個自動發票對獎系統。壞的方面說,一些使用圖形數(文)字驗證(CAPTCHAs)的網站要小心了。

PS:希望這張發票可以中獎,不過看到篇文章的人,如果發現我中獎了,只要通知我就好了,可不要宣傳喔!! ^_^!

參考: