Tesseract-OCR學(xué)習(xí)系列(一)簡(jiǎn)介

Tesseract Introduction

做了一段時(shí)間的OCR呼巷。在PC的Visual Studio上和在TI/ADI的DSP上都做過。一般都是看項(xiàng)目的具體情況捞烟,然后根據(jù)這具體情況薄声,設(shè)計(jì)一套算法萌业。設(shè)計(jì)好了之后,這套算法就只能應(yīng)用在這個(gè)項(xiàng)目上了奸柬。如果再來一個(gè)新的項(xiàng)目,就又得從頭寫起婴程±龋可是,不就是做OCR嗎档叔,不都差不多嘛桌粉!要是所有的OCR項(xiàng)目都能使用同一套代碼,那得有多帥呀衙四!

想一想铃肯,要做這件事,大概有下面這么些挑戰(zhàn):

  • 自動(dòng)搜索文字传蹈。目前我做的文字定位押逼,都是知道文字在圖像的什么地方,然后用經(jīng)驗(yàn)參數(shù)定位的惦界。這樣的話挑格,就必須針對(duì)不同的識(shí)別任務(wù),制訂不同的識(shí)別參數(shù)沾歪。如果識(shí)別任務(wù)中表明不能確定文字所在的地方漂彤,那我就歇菜了。反之灾搏,如果能自動(dòng)地定位到文字的所在之處挫望,那不就離我的目標(biāo)近了一步嗎?
  • 自動(dòng)分割狂窑。目前我做的文字分割媳板,基本都是預(yù)先知道有多少個(gè)字,字和字之前的間隔情況是怎么樣的等等一系列的信息之后泉哈,才可以開始動(dòng)手分割拷肌。可是如果我不知道這些信息呢旨巷?我又抓瞎了巨缘。
  • 自動(dòng)識(shí)別。非常不好意思采呐,我現(xiàn)在能做OCR基本只能說在初級(jí)階段若锁。可以做英文和數(shù)字的OCR斧吐,而且還必須預(yù)先知道它們的字體是什么樣的又固。要是任務(wù)中說仲器,字體不定,那對(duì)不起仰冠,又是mission impossible乏冀。
  • ……

因此,總得來說洋只,雖然我在OCR方面能做一些應(yīng)用辆沦,但是不能做的應(yīng)用更多。我本來想通過多學(xué)點(diǎn)書本知識(shí)再來實(shí)踐的方式來搞定這些問題识虚。然而肢扯,我為什么不去站在巨人的肩膀上呢?

做算法牛X的互聯(lián)網(wǎng)公司是誰担锤?當(dāng)然首推Google啦~Google維護(hù)著一項(xiàng)很著名的開源項(xiàng)目蔚晨,叫Tesseract

所以肛循,我們就一起來學(xué)習(xí)一下這個(gè)OCR開源軟件吧铭腕,應(yīng)當(dāng)可以解決我在上面列出的一些問題。

歷史

Tesseract項(xiàng)目最初由惠普實(shí)驗(yàn)室支持多糠,1996年被移植到Windows上谨履,1998年進(jìn)行了C++化。在2005年Tesseract由惠普公司宣布開源熬丧。2006年到現(xiàn)在笋粟,都由Google公司開發(fā)。


目前析蝴,Tesseract的源代碼放在GitHub上害捕。

特性

目前,Tesseract可以識(shí)別超過100種語言闷畸。也可以用來訓(xùn)練其它的語言尝盼。

源碼包提供了一個(gè)OCR的引擎——libtesseract以及一個(gè)命令行程序——tesseract

Tesseract支持多種輸出格式佑菩,如:普通文本盾沫、html、pdf等殿漠。

對(duì)于開發(fā)者

開發(fā)者可以使用libtesseract的C/C++接口來構(gòu)建自己的程序赴精。

Tesseract從源碼生成的文檔可以在tesseract-ocr.github.io中找到。

下載代碼

接下來绞幌,我們就先把最新代碼下載下來吧蕾哟。下載最新版本3.04.01的源代碼

由于我是個(gè)OpenCV深度使用者辩恼,而OpenCV的一個(gè)重要插件ImageWatch只支持Visual Studio 2012(至少官方文檔上目前是這么說的璃饱,我也沒有試過更高版本的VS版本奖蔓,但比2012低的版本肯定是不行的呻惕。)所以以下都以Visual Studio 2012為例介紹。


目錄結(jié)構(gòu)是這樣的促绵。而在我目前還搞不清楚狀況的前提下又厉,紅框部分當(dāng)然就引起了我的注意菠镇。VS2010VS2012就差一點(diǎn)點(diǎn)昂秃。熟悉的人都知道禀梳,VS2010的項(xiàng)目想轉(zhuǎn)換成VS2012簡(jiǎn)直太簡(jiǎn)單了。完全的自動(dòng)轉(zhuǎn)換械蹋,而且不會(huì)有任何問題。

這不羞芍,雙擊tesseract.sln哗戈,就自動(dòng)幫我轉(zhuǎn)換好了。


現(xiàn)在荷科,解決方案tesseract中出現(xiàn)了兩個(gè)項(xiàng)目唯咬,一個(gè)叫libtesseract304,一個(gè)叫tesseract畏浆。
很顯然胆胰,libtesseract304是實(shí)現(xiàn)功能的那個(gè)庫。而tesseract是使用庫的應(yīng)用程序刻获。

libtesseract304的項(xiàng)目配置:


tesseract的項(xiàng)目配置:


我編程很喜歡用試錯(cuò)法蜀涨,就是明知道編譯通不過,也要編譯一下蝎毡。這不厚柳,我知道,現(xiàn)在編譯libtesseract304肯定是有一大堆問題的沐兵。但别垮,不管怎么樣,編譯了再說吧扎谎。

果然碳想,編譯器報(bào)了一大堆錯(cuò)。


一共有110個(gè)錯(cuò)毁靶。都說是無法打開包括文件:"allheaders.h"胧奔。

那么,allheaders.h文件是什么预吆,為什么會(huì)找不到葡盗?如何才能構(gòu)建出可以運(yùn)行的程序?且聽下回分解。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末觅够,一起剝皮案震驚了整個(gè)濱河市胶背,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喘先,老刑警劉巖钳吟,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異窘拯,居然都是意外死亡红且,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門涤姊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暇番,“玉大人,你說我怎么就攤上這事思喊”诔辏” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵恨课,是天一觀的道長(zhǎng)舆乔。 經(jīng)常有香客問我,道長(zhǎng)剂公,這世上最難降的妖魔是什么希俩? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮纲辽,結(jié)果婚禮上颜武,老公的妹妹穿的比我還像新娘。我一直安慰自己拖吼,他們只是感情好盒刚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绿贞,像睡著了一般因块。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上籍铁,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天涡上,我揣著相機(jī)與錄音,去河邊找鬼拒名。 笑死吩愧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的增显。 我是一名探鬼主播雁佳,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了糖权?” 一聲冷哼從身側(cè)響起堵腹,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎星澳,沒想到半個(gè)月后疚顷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡禁偎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年腿堤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片如暖。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笆檀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盒至,到底是詐尸還是另有隱情酗洒,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布妄迁,位于F島的核電站寝蹈,受9級(jí)特大地震影響李命,放射性物質(zhì)發(fā)生泄漏登淘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一封字、第九天 我趴在偏房一處隱蔽的房頂上張望黔州。 院中可真熱鬧,春花似錦阔籽、人聲如沸流妻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绅这。三九已至,卻和暖如春在辆,著一層夾襖步出監(jiān)牢的瞬間证薇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工匆篓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浑度,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓鸦概,卻偏偏與公主長(zhǎng)得像箩张,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 時(shí)間長(zhǎng)了就會(huì)發(fā)現(xiàn)一件事先慷,你敲不開的門是別人故意不開的門饮笛,就不要繼續(xù)去瞧了。所以熟掂,不要總是犯賤的去追求明知會(huì)得不到的...
    天上一只叔閱讀 194評(píng)論 0 0
  • 文/塵宴 我已經(jīng)想好了缎浇,考完試,我就要去見你赴肚,給你一個(gè)大大的驚喜素跺。 距離上次見面已經(jīng)有30天2個(gè)小時(shí)53分了,嗯誉券,...
    塵宴閱讀 400評(píng)論 0 2
  • 2017年10月12日指厌,日拱一卒,積硅步踊跟,精進(jìn)未來的自己踩验。 獨(dú)角獸——估值在10億美金以上,而且沒有上市的創(chuàng)業(yè)公司...
    凡塵花仙子閱讀 371評(píng)論 1 3