Tesseract-OCR 3.0+ 安装和使用

来源:互联网 发布:node.js cms 开源 编辑:程序博客网 时间:2024/06/10 17:26

0.介绍

Tesseract是一个开源的OCR引擎,能识别100多种语言(中,英,韩,日,德,法...等等),但是Tesseract对手写的识别能力较差

1.安装

brew install leptonicabrew install tesseract  #或brew install --with-training-tools tesseractpip install pytesseract


参考文档:http://khalsa.guru/posts/16

2.下载语言库

下载地址:https://github.com/tesseract-ocr/tessdata , 亲测可用的包点击

根据自己的需求选择所要的语言库,在这里我们选择的是简体中文所以选择的库是:chi_sim.traineddata
将文件拷贝到到:/usr/local/Cellar/tesseract/3.04.01_2/share/tessdata目录下。

库名-语言表如下

库名语言afrAfrikaans(南非荷兰语)amhAmharic(阿姆哈拉语)araArabic(阿拉伯语)asmAssamese(阿萨姆)azeAzerbaijani(阿塞拜疆)aze_cyrlAzerbaijani - Cyrilic(阿塞拜疆-Cyrilic)belBelarusian(白俄罗斯)benBengali(孟加拉)bodTibetan(西藏)bosBosnian(波斯尼亚)bulBulgarian(保加利亚语)catCatalan; Valencian(加泰罗尼亚语; 巴伦西亚)cebCebuano(宿务)cesCzech(捷克)chi_simChinese - Simplified(中国-简体)chi_traChinese - Traditional(中国-繁体)chrCherokee(切诺基)cymWelsh(威尔士)danDanish(丹麦)dan_frakDanish - Fraktur(丹麦-Fraktur)deuGerman(德国)deu_frakGerman - Fraktur(德国-Fraktur)dzoDzongkha(不丹文)ellGreek, Modern (1453-)(希腊,现代(1453-))engEnglish(英语)enmEnglish, Middle (1100-1500)(英语,中东(1100-1500))epoEsperanto(世界语)equMath / equation detection module(数学/方程式检测模块)estEstonian(爱沙尼亚)eusBasque(巴斯克)fasPersian(波斯)finFinnish(芬兰)fraFrench(法语)frkFrankish(法兰克)frmFrench, Middle (ca.1400-1600)(法国,中东(ca.1400-1600))gleIrish(爱尔兰)glgGalician(加利西亚)grcGreek, Ancient (to 1453)(希腊语,古(到1453年))gujGujarati(古吉拉特语)hatHaitian; Haitian Creole(海天; 海地克里奥尔语)hebHebrew(希伯来语)hinHindi(印地文)hrvCroatian(克罗地亚)hunHungarian(匈牙利)ikuInuktitut(因纽特语)indIndonesian(印尼)islIcelandic(冰岛)itaItalian(意大利语)ita_oldItalian - Old(意大利语-旧)javJavanese(爪哇)jpnJapanese(日本)kanKannada(卡纳达语)katGeorgian(格鲁吉亚)kat_oldGeorgian - Old(格鲁吉亚-旧)kazKazakh(哈萨克斯坦)khmCentral Khmer(中央高棉)kirKirghiz; Kyrgyz(柯尔克孜; 吉尔吉斯)korKorean(韩国)kurKurdish(库尔德人)laoLao(老挝)latLatin(拉丁)lavLatvian(拉脱维亚)litLithuanian(立陶宛)malMalayalam(马拉雅拉姆语)marMarathi(马拉)mkdMacedonian(马其顿)mltMaltese(马耳他)msaMalay(马来文)myaBurmese(缅甸)nepNepali(尼泊尔)nldDutch; Flemish(荷兰; 佛兰芒语)norNorwegian(挪威)oriOriya(奥里亚语)osdOrientation and script detection module(定位及脚本检测模块)panPanjabi; Punjabi(旁遮普语; 旁遮普语)polPolish(波兰)porPortuguese(葡萄牙语)pusPushto; Pashto(普什图语; 普什图语)ronRomanian; Moldavian; Moldovan(罗马尼亚; 摩尔多瓦; 摩尔多瓦)rusRussian(俄罗斯)sanSanskrit(梵文)sinSinhala; Sinhalese(僧伽罗语; 僧伽罗语)slkSlovak(斯洛伐克)slk_frakSlovak - Fraktur(斯洛伐克- Fraktur)slvSlovenian(斯洛文尼亚)spaSpanish; Castilian(西班牙语; 卡斯蒂利亚)spa_oldSpanish; Castilian - Old(西班牙语; 卡斯蒂利亚-老)sqiAlbanian(阿尔巴尼亚)srpSerbian(塞尔维亚)srp_latnSerbian - Latin(塞尔维亚语-拉丁语)swaSwahili(斯瓦希里语)sweSwedish(瑞典)syrSyriac(叙利亚)tamTamil(泰米尔)telTelugu(泰卢固语)tgkTajik(塔吉克斯坦)tglTagalog(菲律宾语)thaThai(泰国)tirTigrinya(提格雷语)turTurkish(土耳其)uigUighur; Uyghur(维吾尔族; 维吾尔)ukrUkrainian(乌克兰)urdUrdu(乌尔都语)uzbUzbek(乌兹别克斯坦)uzb_cyrlUzbek - Cyrilic(乌兹别克斯坦- Cyrilic)vieVietnamese(越南语)yidYiddish(意第绪语)

3.Tesseract使用

终端输入命令:tesseract --help

Usage:  tesseract --help | --help-psm | --version  tesseract --list-langs [--tessdata-dir PATH]  tesseract --print-parameters [options...] [configfile...]  tesseract imagename|stdin outputbase|stdout [options...] [configfile...]OCR options:  --tessdata-dir PATH   Specify the location of tessdata path.  --user-words PATH     Specify the location of user words file.  --user-patterns PATH  Specify the location of user patterns file.  -l LANG[+LANG]        Specify language(s) used for OCR.  -c VAR=VALUE          Set value for config variables.                        Multiple -c arguments are allowed.  -psm NUM              Specify page segmentation mode.NOTE: These options must occur before any configfile.Page segmentation modes:  0    Orientation and script detection (OSD) only.  1    Automatic page segmentation with OSD.  2    Automatic page segmentation, but no OSD, or OCR.  3    Fully automatic page segmentation, but no OSD. (Default)  4    Assume a single column of text of variable sizes.  5    Assume a single uniform block of vertically aligned text.  6    Assume a single uniform block of text.  7    Treat the image as a single text line.  8    Treat the image as a single word.  9    Treat the image as a single word in a circle. 10    Treat the image as a single character.Single options:  -h, --help            Show this help message.  --help-psm            Show page segmentation modes.  -v, --version         Show version information.  --list-langs          List available languages for tesseract engine.  --print-parameters    Print tesseract parameters to stdout.



一般使用:

//默认使用eng文字库, imgName是图片的地址,result识别结果tesseract imgName result
指定语言:

//指定使用简体中文tesseract -l chi_sim imgName result//查看本地存在的语言库tesseract --list-langs
指定多语言:

//指定多语言,用+号相连tesseract -l chi_sim+eng imgName result
有个地方需要特别注意,参数psm

//输入命令,查看psm的参数tesseract --help-psm 0 Orientation and script detection (OSD) only. 1 Automatic page segmentation with OSD. 2 Automatic page segmentation, but no OSD, or OCR. 3 Fully automatic page segmentation, but no OSD. (Default) 4 Assume a single column of text of variable sizes. 5 Assume a single uniform block of vertically aligned text. 6 Assume a single uniform block of text. 7 Treat the image as a single text line. 8 Treat the image as a single word. 9 Treat the image as a single word in a circle. 10 Treat the image as a single character. 翻译(可能不是很准,最好看原文): 0 定向脚本监测(OSD) 1 使用OSD自动分页 2 自动分页,但是不使用OSD或OCR(Optical Character Recognition,光学字符识别) 3 全自动分页,但是没有使用OSD(默认) 4 假设可变大小的一个文本列。 5 假设垂直对齐文本的单个统一块。 6 假设一个统一的文本块。 7 将图像视为单个文本行。 8 将图像视为单个词。 9 将图像视为圆中的单个词。 10 将图像视为单个字符。


如:

//不设置psm值的命令tesseract xxx.png ./xxx/xxx -l chi_sim -psm 6




Tesseract-OCR 4.0+ 安装:地址









原创粉丝点击