Kontakty

TESSERACT. TESSERACT-OCR V Visual Studio - Rozpoznajte stránku textu. Digitalizácia obrázkov jeden po druhom

Tesseract. - Bezplatná platforma pre optické uznanie textu, ktorých zdroje spoločnosti Google predstavil v roku 2006. Ak napíšete softvér na rozpoznanie textu, pravdepodobne musíte pristupovať k službám tejto silnejšej knižnice. A ak sa nepohnešla so svojím textom, potom máte jeden spôsob, ako to vyučovať. Tento proces je pomerne komplikovaný a doplniteľný bez zrejmého a niekedy priamo s magickými akciami. Pôvodný popis je. Potreboval som takmer celý deň, aby som pochopil všetky svoje hĺbky, takže chcem zachrániť, dúfam, že je to pochopiteľnejšia možnosť. Aby ste si pomohli a iní prejsť touto cestou nabudúce rýchlejšie.

0. Čo potrebujeme

  • Tesseracte.
Montáž Táto knižnica je v systéme Windows (môžete si stiahnuť inštalatér z oficiálneho úložiska) a pod Linuxom. Pre väčšinu distribúcií Linuxu môžete jednoducho inštalovať TESSERACT sudo apt-get nainštalovať tesseract-ocr, Musím pridať zdroj pre moju módnu celok OS:
gedit /etc/apt/sources.list.
deb http://notesalexp.net/debian/precise/ Presie
wget -o - http://notesalexp.net/debian/alexp_key.asc
apt-kľúč pridať alexp_key.asc
aPT-Získajte aktualizáciu
aPT-GET INSTALL TESSERACT-OCR
  • Obrázok s textom na školenie
Je žiaduce, aby to bol skutočný text, ktorý potom bude musieť rozpoznať. Je dôležité, aby každý symbol písma stretol v naskenovanom fragmente aspoň 5-krát a výhodne 20-krát. Formát TIFF, bez kompresie, výhodne nie sú multiplocked. Medzi všetkými postavami by mali byť jasne rozlíšené medzery. Dajte náš obrázok do samostatného adresára a volanie vo forme<код языка>.<имя шрифта>.exp<номер>.tif Obraz nemusí byť jeden a nelíšiť by mali len číslo v názve súboru. Veľmi dôležité sú názvy súborov. Na súboroch s nesprávnymi menami pomôcky, ktoré budeme používať, prisahajú na chyby segmentácie atď. Pre definitívu predpokladáme, že študujeme jazyk SCC a font EEZ. Zavolajte tak súbor so vzorkou skenovania CCC.EEE.EXP0.TIF

1. Vytvorte a upravte súbor boxu
Pre. Ak chcete označiť znaky na obrázku a nastaviť svoje zhody UTF-8 textových symbolov sú box súbory. Toto sú obvyklé textové súbory, v ktorých každý znak zodpovedá reťazcov so súradnicami symbolu a obdĺžniky v pixeloch. Spočiatku vygenerujete nástroj z balíka Tesseract:
tesseract ccc.eee.eee.exp0 Batch.Nochop Makebox
Prijatý súbor CCC.EEE.EXP0.BOX v aktuálnom adresári. Pozri na to. Symboly na začiatku riadku úplne zodpovedajú znakom v súbore? Ak áno, potom nemusíte nič trénovať, môžete dobre spať. V našom prípade, s najväčšou pravdepodobnosťou znaky nebudú zhodnotiť ktorýkoľvek z v podstate v počte. Tí. Tesseract s predvoleným slovníkom nepoznal nielen postavy, ale aj niektoré z nich za dva alebo viac. Možno časť postáv, ktoré budeme "držať", t.j. spadne do spoločnej boxu a bude uznaná ako jedna. Všetko je potrebné upevniť skôr, ako pôjdete ďalej. Práca únavná a starostlivá, ale našťastie existuje číslo inžinierske siete tretích strán. Napríklad som použil pytestrainer-1,03. Otvoríme snímku, box-súbor s rovnakým názvom, ktoré sám vytiahne.
Polovica dňa prešiel ... s pocitom hlbokej spokojnosti s pteseracttrainer (nezabudli ste uložiť výsledok, vpravo?) A máte správny súbor box. Teraz môžete prejsť na ďalší krok.

2. Školenie Tesseract
tesseract ccc.eee.eeeeeee.eeee.eeee.eeee.evp0 nožové box.train
Dostaneme veľa chýb, ale pozeráme sa na niečo ako "nájdené 105 dobrých blobs". Ak je obrázok výrazne väčší ako počet "študovaných" znakov, to znamená, že je to šanca, že školenie ako celok sa podarilo. V opačnom prípade sa vrátime na začiatok. V dôsledku tohto kroku máte súbor ccc.eeee.eee.exp0.tr

3. Odstráňte nastavený symbol
uNICHARSET_EXTRACTOR CCC.EEEE.EXP0.BOX.
Dostávame sadu znakov ako unicharset súbor v aktuálnom adresári, kde sa každý znak a jeho vlastnosti nachádzajú v samostatnom riadku. Tu naša úloha skontroluje a opraví vlastnosti znakov (druhý stĺpec v súbore). Pre malé písmená abecedy, dali sme znamenie 3 pre veľké 5, pre interpunkciu 10 pre čísla 8, všetko ostatné (typ + \u003d -) označené 0 čínskych a japonských hieroglyfov. Takže táto etapa je veľa času, ktorý nebudete mať.

4. Opíšte štýl písma
Vytvorte súbor ccc.font_properties s jedným reťazcom: EEE 0 0 0 0 0. Tu najprv napíšte názov písma, potom číslo 1 alebo 0 je označené prítomnosťou štýlov znakov (resp . V našom prípade nie sú žiadne štýly, takže opustíme všetko v nuloch.

5. Klastre obrázkov, prototypov a iných mágií
Pre ďalšie štúdie musíme vykonávať tri ďalšie operácie. Môžete sa pokúsiť pochopiť svoj význam z oficiálneho popisu, nebol som predtým :). Vykonajte:
shapeclustering -f CCC.Font_properties -u Unicharset CCC.EEE.EXP0.TR
... Súbor Svapený
a potom:
mfTraining -f ccc.font_properties -u UNICHARSET -O CCC.UNICHARSET CCC.EEE.EXP0.TR
... Získajte súbory ccc.unicharset, Inttemp, pffmtable
Nakoniec:
cnTraining ccc.eee.exp0.tr.
... dostaneme súbor normproto.

6. slovníky
Teoreticky plnenie slovníkov často používaných slov (a slov vôbec) pomáha tesseracte-u riešiť vaše čmáre. Pochopenie slovníkov, ale ak zrazu chcete, urobte súboryfrequent_words_list a words_list, v ktorom zadávajú (každý s nový reťazec) Preto sa často používajú a jednoducho slová jazyka.
Ak chcete tieto zoznamy previesť na správny formát, vykonajte:
wordlist2dawg frequent_words_list ccc.freq-dawg ccc.Unicharset

wordlist2dawg words_list ccc.word-dawg ccc.Unicharset

7. Posledný tajomný súbor
Jeho meno je UnicharamBigs. Teoreticky musí venovať pozornosť tesseracku na podobných symboloch. na to textový súbor V každom riadku so separátormi sú karty opísané dvojicami strunov, ktoré môžu byť zmätené pri rozpoznávaní. Plne formát súboru je opísaný v dokumentácii, nebolo potrebné a nechal som ho prázdny.

8. Posledný tím
Všetky súbory musia byť premenované tak, aby ich mená začali s menom jazyka. Tí. V adresári zostanú iba súbory:

ccc.box.
ccc.intemp
ccc.pffmtable
ccc.tif.
ccc.font_properties.
ccc.normroto.
ccc.shapetovateľný
ccc.tr.
ccc.Unicharset.

A nakoniec, vykonávame:
combine_Tessdata CCC.
(!) Bod je povinný. V dôsledku toho dostaneme súbor CCC.TrainedData, ktorý nám umožní ďalej rozpoznať náš tajomný nový jazyk.

9. Skontrolujeme, či to stálo za to :)
Teraz sa snažte rozpoznať našu vzorku pomocou už vyškoleného tesseractu-a:
sudo cp ccc.trangedData / usr / Share / TESSERACT-OCR / TESSDATA /
tESSERACT CCC.TIF výstup -L CCC
Teraz sa pozrieme na výstup.txt a radovať sa (alebo dostať sa up-zmýšľajúci, v závislosti na výsledku).

Potrebovali sme zlepšiť pracovný postup v našej spoločnosti, predovšetkým, aby sme zvýšili rýchlosť spracovateľských dokumentov. Aby sme to urobili, rozhodli sme sa vyvinúť softvérové \u200b\u200briešenie Na základe jedného z knižníc OCR (optické rozpoznávanie znakov).

OCR, alebo optické rozpoznávanie textu, je mechanická alebo elektronická konverzia vytlačených textových obrázkov do stroja. OCR je spôsob digitalizácie tlačeného textu tak, aby sa mohol elektronicky uložiť, upravený, zobrazí sa a aplikuje sa v takýchto strojoch ako kognitívne výpočty, strojový preklad a inteligentná analýza dát.

Okrem toho sa OCR používa ako spôsob zadávania informácií z papierových dokumentov (vrátane finančných záznamov, \\ t vizitky, faktúry a oveľa viac).

Pred vykonaním samotného použitia sme vykonali dôkladnú analýzu troch najobľúbenejších knižníc OCR, aby sme určili najvhodnejšiu možnosť vyriešiť naše úlohy.

Analyzovali sme tri najobľúbenejšie knižnice OCR:

- API rozpoznávania textu Google

Rozpoznávanie textu Google Text

API s rozpoznaním programu Google Text je proces detekcie textu v obrazoch a video tokoch a texte na rozpoznávanie obsiahnutých v ňom. Po detekcii sa rozpoznávač určuje skutočný text v každom bloku a rozbije ho na slová a riadky. Zistí text rôznych jazykov (francúzština, nemčina, angličtina, atď.) V reálnom čase.

Stojí za zmienku, že tento OCR sa vo všeobecnosti vyrovnal s úlohou. Máme možnosť rozpoznať text v reálnom čase aj s už hotovými obrázkami textových dokumentov. V priebehu analýzy tejto knižnice sme odhalili výhody a nevýhody jeho používania.

Výhody:

- schopnosť rozpoznať text v reálnom čase

- schopnosť rozpoznať text z obrázkov;

- Knižnica s malou veľkosťou;

- vysoká rýchlosť rozpoznávania.

Nevýhody:

- Veľké súbory s vyškolenými údajmi (~ 30 MB).

Tesseract.

Tesseract je open source OCR knižnica pre rôzne operačné systémy. Je to zadarmo softvér, Vydané pod licenciou Apache, verzia 2.0, podporuje rôzne jazyky.

Vývoj Tesseract bol financovaný spoločnosť Google Od roku 2006, čas, kedy bol považovaný za jednu z najpresnejších a efektívnych knižníc OCR s otvoreným zdrojom.

Buďte to, že by sme mali v tom čase výsledky zavedenia tesseracku, ktoré sme zostali veľmi spokojní, pretože Knižnica je neuveriteľne volumetrická a neumožňuje rozpoznať text v reálnom čase.

Výhody:

- má otvorený zdrojový kód;

- Preto stačí učiť OCR rozpoznať požadované fonty a zlepšiť kvalitu rozpoznateľných informácií. Po rýchle nastavenia Knižnice a učenie sa kvality výsledkov rozpoznávania rýchlo zvýšili.

Nevýhody:

- Nedostatočná presnosť rozpoznávania, ktorá je eliminovaná odbornou prípravou a vzdelávaním algoritmu rozpoznávania;

- Ak chcete rozpoznať text v reálnom čase, vyžaduje sa dodatočné spracovanie výsledného obrazu;

- Malé presnosť rozpoznávania pri používaní štandardných súborov s údajmi písma, slová a symboly.

Akýkoľvek riadok

AnyLine poskytuje multi-platform SDK, ktorá umožňuje vývojárom ľahko integrovať funkcie OCR v aplikáciách. Táto knižnica OCR nás priťahovala mnohými funkciami, ktoré nastaví parametre rozpoznávania a poskytli modely na riešenie konkrétnych aplikovaných úloh. Stojí za zmienku, že knižnica je platená a určená na komerčné použitie.

Výhody:

- pekná jednoduché nastavenie rozpoznávanie požadovaných fontov;

- uznanie textu v reálnom čase;

- jednoduché a pohodlné nastavenie parametrov rozpoznávania;

- Knižnica môže rozpoznať čiarové kódy a QR kódy;

- poskytuje hotové moduly Riešiť rôzne úlohy.

Nevýhody:

- nízka rýchlosť rozpoznávania;

- získať uspokojivé výsledky pôvodné nastavenie Fonty na uznanie.

V priebehu analýzy vykonanej na vyriešenie našich úloh sme zostali na Google Textové rozpoznávanie API, ktoré kombinuje vysokú rýchlosť sám o sebe, nastavenie svetla a vysoké výsledky rozpoznávania.

Riešenie, ktoré vyvinulo USA, umožňuje skenovať papierové dokumenty automaticky ich digitalizovať a uložiť do jednej databázy. Kvalita rozpoznateľných informácií je približne 97%, čo je veľmi dobrý výsledok.

Vzhľadom na zavedenie rozvinutého systému vnútorného systému (vrátane spracovania dokumentov, ich tvorby a výmeny medzi oddeleniami atď.) Bolo zrýchlené o 15%.

Trvalo mi, aby som získal hodnoty upchatých čísel. Čísla okradnúť Z obrazovky.

Myslel som, a nesnažte sa vyskúšať OCR? Snažil som sa tesseract.

Nižšie vám poviem, ako som sa snažil prispôsobiť tesseracku, prečo som to vyškolil a čo sa z neho stalo. Projekt na Hithabe leží skript CMD, ktorý automatizuje, koľko času je možné proces cvičenia, a údaje, na ktorých som vykonal školenie. Vo Slove je všetko, čo potrebujete, aby ste mohli trénovať tesseract na vlak niečo užitočné.

Príprava

Klonovanie úložiska alebo na stiahnutie zIP ARCHIVE (~ 6MB). Nainštalujte tesserator 3.01 s from.syta. Ak tam už nie je, potom zo podadresára ZIP ARCHIVE / DISTROS.

Prejdite do priečinka Vzorky, spustiť montage_all.cmd.
Tento skript vytvorí konečný obrázok. vzorky / total.png., Nemôžete spustiť skript, pretože Už som ho umiestnil do koreňového priečinka projektu.

Prečo vlak?

Možno a bez tréningu bude výsledok dobrý? Skontrolovať.
./EXP1 - ako je\u003e tesseract ../total.png Celkom

Umiestnite opravený výsledok do súboru model_total.txtPorovnať výsledky uznania. Asterisk označuje nesprávne hodnoty.

model_total.txt Uznanie
predvolený
27
33
39
625.05
9
163
1,740.10
15
36
45
72
324
468
93
453
1,200.10
80.10
152.25
158.25
176.07
97.50
170.62
54
102
162
78
136.50
443.62
633.74
24
1,579.73
1,576.73
332.23
957.69
954.69
963.68
1,441.02
1,635.34
50
76
168
21
48
30
42
108
126
144
114
462
378
522
60
240
246
459.69
456.69
198
61
255
27
33
39
525 05*
9
153*
1,740 10*
15
35*
45
72
324
455*
93
453
1,200 10*
50 10*
152 25*
155 25*
175 07*
97 50*
170 52*
54
102
152*
75*
135 50*
443 52*
533 74*
24
1,579 73*
1,575 73*
332 23*
957 59*
954 59*
953 55*
1,441 02*
1,535 34*
50
75*
155*
21
45*
30
42
105*
125*
144
114
452*
375*
522
50*
240
245*
459 59*
455 59*
195*
51*
255

predvolené chyby rozpoznávania

Je možné vidieť, že existuje mnoho chýb. Ak sa pozorne pozeráte, môžete vidieť, že desatinné miesto nie je rozpoznané, čísla 6 a 8 sú rozpoznané ako 5. Budú cvičenie sa zbaviť chýb?

Posilovať

Tréning TESSERACT vám umožňuje jazdiť na rozpoznávanie obrázkov textov vo forme, v ktorom budete kŕmiť podobné obrázky v procese rozpoznávania.
Odovzdáte TESSERACT Training Images, opravte chyby rozpoznávania a prenášate tieto pokyny k tesseracku-y. A opravuje koeficienty do svojich algoritmov, aby pokračovali v tom, aby ste zabránili chyby, ktoré ste našli.

Vykonávať cvičenie, ktoré chcete spustiť. / Exp2 - vyškolený\u003e vlak.cmd

Aký je proces cvičenia? Av skutočnosti, že TESSERACT spracováva tréningový obraz a formuláre tzv. Krabice znakov - zvýrazňuje jednotlivé znaky z textu, ktorý vytvorí zoznam obmedzujúcich obdĺžnikov. Zároveň robí hádať o tom, aký symbol je obmedzený obdĺžnikom.

Výsledky tejto práce píše na súbor Celkovo -Box, ktorý vyzerá takto:
2 46 946 52 956 0
7 54 946 60 956 0
3 46 930 52 940 0
3 54 930 60 940 0
3 46 914 52 924 0
9 53 914 60 924 0
6 31 898 38 908 0
2 40 898 46 908 0
5 48 898 54 908 0
0 59 898 66 908 0

Tu v Singel Stĺpci Symbol a v 2 - 5 stĺpcoch súradnice ľavého dolného rohu obdĺžnika, jeho výšky a šírky.

Samozrejme, je ťažké ho upravovať manuálne a nepohodlne, takže grafické pomôcky uľahčujú túto prácu boli vytvorené nadšencami. Kedysi som bol napísaný v Java.

Po spustení. / Exp2 - vyškolený\u003e Java -jar JTessboxeditor-0.6Jtessboxeditor.JAR Musíte otvoriť súbor. / Exp2 - vyškolený / TOTAL.PNG, súbor bude automaticky otvorený. / Exp2 - vyškolený / celkom.Box a obdĺžnik definované v nej bude prekryté na tréningovom obraze.

V ľavej časti je uvedený obsah súboru Celoscox na pravej strane. Nad obrázkom je aktívna čiara súboru Celoscox

Modré zobrazené boxy a červené - boxu zodpovedajúce aktívnemu riadku.

Opravil som všetky zlé 5-Ki na pravej 6-KI a 8., pridané riadky s definíciami všetkých desatinných bodov v súbore a uložené totálne

Po úplnom editácii je potrebné, aby skript pokračoval v práci, musíte zatvoriť JTessboxeditor. Ďalej všetky akcie vykonávajú skript automaticky bez účasti používateľa. Skript píše výsledky tréningu pod kódom TTN

Ak chcete použiť výsledky vzdelávania pri rozpoznávaní, musíte spustiť TESSERACT C Key -L TTN
./EXP2 - vyškolený /\u003e Tesseract ../Total.png Celkom-vyškolený -L TTN

Je možné vidieť, že všetky čísla začali byť správne rozpoznané, ale desatinné miesto stále nie je rozpoznané.

model_total.txt Uznanie
predvolený
Uznanie
Po cvičení
27
33
39
625.05
9
163
1,740.10
15
36
45
72
324
468
93
453
1,200.10
80.10
152.25
158.25
176.07
97.50
170.62
54
102
162
78
136.50
443.62
633.74
24
1,579.73
1,576.73
332.23
957.69
954.69
963.68
1,441.02
1,635.34
50
76
168
21
48
30
42
108
126
144
114
462
378
522
60
240
246
459.69
456.69
198
61
255
27
33
39
525 05*
9
153*
1,740 10*
15
35*
45
72
324
455*
93
453
1,200 10*
50 10*
152 25*
155 25*
175 07*
97 50*
170 52*
54
102
152*
75*
135 50*
443 52*
533 74*
24
1,579 73*
1,575 73*
332 23*
957 59*
954 59*
953 55*
1,441 02*
1,535 34*
50
75*
155*
21
45*
30
42
105*
125*
144
114
452*
375*
522
50*
240
245*
459 59*
455 59*
195*
51*
255
27
33
39
625 05*
9
163
1,740 10*
15
36
45
72
324
468
93
453
1,200 10*
80 10*
152 25*
158 25*
176 07*
97 50*
170 62*
54
102
162
78
136 50*
443 62*
633 74*
24
1,579 73*
1,576 73*
332 23*
957 69*
954 69*
963 68*
1,441 02*
1,635 34*
50
76
168
21
48
30
42
108
126
144
114
462
378
522
60
240
246
459 69*
456 69*
198
61
255

chyby uznania učenia

Zväčšiť obrázok

Môžete sa zvýšiť rôznymi spôsobmi, snažil som sa dvoma spôsobmi: rozsah a zmena veľkosti

celkom-Scaleled.png (fragment) celkom-rezized.png (fragment)
Convert Celkom.png Celkom-Scaled.png -Scale "208x1920" Convert Celkom.png Celkom-zmesi.png -Rsizze "208x1920"

Vzhľadom k tomu, obrazy znakov sa zvýšili s samotnými obrázkami, tréningové údaje pod kódom TTN sú zastarané. Preto som rozpoznal bez kľúča -L TTN.

Je možné vidieť, že v obraze súčet-scalded.png TESSERACT zamieňa 7-KU s 2., a to nie je zmätená celkom-zmesi .png. Na oboch obrázkoch je desatinný bod správny. Rozpoznávanie obrázkov Celkom-rezized.png je takmer dokonalý. Existujú len tri chyby - medzera medzi číslami v číslach 21, 114 a 61.

Táto chyba však nie je kritická, pretože Je ľahké ho opraviť jednoduchým odstránením z línií medzier.

celkom-Scalled.png Chyby rozpoznávania

celkom-zmenené chyby rozpoznávania

model_total.txt Uznanie
predvolený
Uznanie
Po cvičení
celkom-Scaleled.png. celkom-rezized.png.
27
33
39
625.05
9
163
1,740.10
15
36
45
72
324
468
93
453
1,200.10
80.10
152.25
158.25
176.07
97.50
170.62
54
102
162
78
136.50
443.62
633.74
24
1,579.73
1,576.73
332.23
957.69
954.69
963.68
1,441.02
1,635.34
50
76
168
21
48
30
42
108
126
144
114
462
378
522
60
240
246
459.69
456.69
198
61
255
27
33
39
525 05*
9
153*
1,740 10*
15
35*
45
72
324
455*
93
453
1,200 10*
50 10*
152 25*
155 25*
175 07*
97 50*
170 52*
54
102
152*
75*
135 50*
443 52*
533 74*
24
1,579 73*
1,575 73*
332 23*
957 59*
954 59*
953 55*
1,441 02*
1,535 34*
50
75*
155*
21
45*
30
42
105*
125*
144
114
452*
375*
522
50*
240
245*
459 59*
455 59*
195*
51*
255
27
33
39
625 05*
9
163
1,740 10*
15
36
45
72
324
468
93
453
1,200 10*
80 10*
152 25*
158 25*
176 07*
97 50*
170 62*
54
102
162
78
136 50*
443 62*
633 74*
24
1,579 73*
1,576 73*
332 23*
957 69*
954 69*
963 68*
1,441 02*
1,635 34*
50
76
168
21
48
30
42
108
126
144
114
462
378
522
60
240
246
459 69*
456 69*
198
61
255
22*
33
39
625.05
9
163
1,240.10*
15
36
45
22*
324
468
93
453
1,200.10
80.10
152.25
158.25
126.02*
92.50*
120.62*
54
102
162
28*
136.50
443.62
633.24*
24
1,529.23*
1,526.23*
332.23
952.69*
954.69
963.68
1,441.02
1,635.34
50
26*
168
2 1*
48
30
42
108
126
144
1 14*
462
328*
522
60
240
246
459.69
456.69
198
6 1*
255
27
33
39
625.05
9
163
1,740.10
15
36
45
72
324
468
93
453
1,200.10
80.10
152.25
158.25
176.07
97.50
170.62
54
102
162
78
136.50
443.62
633.74
24
1,579.73
1,576.73
332.23
957.69
954.69
963.68
1,441.02
1,635.34
50
76
168
2 1*
48
30
42
108
126
144
1 14*
462
378
522
60
240
246
459.69
456.69
198
6 1*
255

Digitalizácia obrázkov jeden po druhom

OK, čo ak potrebujete digitalizovať obrázky jeden po druhom v reálnom režime ľanového režimu?

Snažím sa jeden po druhom.
./EXP5 - jeden po druhom\u003e pre / r% I v (* .png) Do tesseracku "% I" "% I"
Dva a trojmiestny čísla nie sú určené vôbec!

625.05
1740.10

Digitalizácia malých balíkov

A ak chcete digitalizovať obrázky podľa balení niekoľkými obrázkami (6 alebo 10 v balení)? Desaťkrát.
./EXP6 - TEN v riadku\u003e Tesseract Teninline.png Teninline

A dokonca aj bez medzery medzi 61.

závery

Vo všeobecnosti som očakával najhoršie výsledky, pretože Malé rastrové fonty sú hraničné puzdro kvôli ich malej veľkosti, odlišnej zrnitosti a stálosti - rôzne obrázky Jeden symbol úplne sa zhoduje. A prax ukázala, že usporiadané umelo inšpirované čísla sú lepšie rozpoznané.

Predbežný obraz má väčší účinok ako učenie. Zvýšenie s vyhladzovaním: Prevod -ressize ...

Uznávanie samostatných "krátkych" dvoch a trojciferných počtov neuspokojivých čísel je potrebné zbierať v balíkoch.

Všeobecne platí, že tesseract takmer vyrovnal s úlohou, napriek tomu, že je nabrúsená pre iné úlohy - rozpoznávanie nápisov na fotografii a videom, prehľadoch dokumentov.

Tesseract. - Bezplatná platforma pre optické uznanie textu, ktorých zdroje spoločnosti Google predstavil v roku 2006. Ak napíšete softvér na rozpoznanie textu, pravdepodobne musíte pristupovať k službám tejto silnejšej knižnice. A ak sa nepohnešla so svojím textom, potom máte jeden spôsob, ako to vyučovať. Tento proces je pomerne komplikovaný a doplniteľný bez zrejmého a niekedy priamo s magickými akciami. Pôvodný popis je. Potreboval som takmer celý deň, aby som pochopil všetky svoje hĺbky, takže chcem zachrániť, dúfam, že je to pochopiteľnejšia možnosť. Aby ste si pomohli a iní prejsť touto cestou nabudúce rýchlejšie.

0. Čo potrebujeme

  • Tesseracte.
Montáž Táto knižnica je v systéme Windows (môžete si stiahnuť inštalatér z oficiálneho úložiska) a pod Linuxom. Pre väčšinu distribúcií Linuxu môžete jednoducho inštalovať TESSERACT sudo apt-get nainštalovať tesseract-ocr, Musím pridať zdroj pre moju módnu celok OS:
gedit /etc/apt/sources.list.
deb http://notesalexp.net/debian/precise/ Presie
wget -o - http://notesalexp.net/debian/alexp_key.asc
apt-kľúč pridať alexp_key.asc
aPT-Získajte aktualizáciu
aPT-GET INSTALL TESSERACT-OCR
  • Obrázok s textom na školenie
Je žiaduce, aby to bol skutočný text, ktorý potom bude musieť rozpoznať. Je dôležité, aby každý symbol písma stretol v naskenovanom fragmente aspoň 5-krát a výhodne 20-krát. Formát TIFF, bez kompresie, výhodne nie sú multiplocked. Medzi všetkými postavami by mali byť jasne rozlíšené medzery. Dajte náš obrázok do samostatného adresára a volanie vo forme<код языка>.<имя шрифта>.exp<номер>.tif Obraz nemusí byť jeden a nelíšiť by mali len číslo v názve súboru. Veľmi dôležité sú názvy súborov. Na súboroch s nesprávnymi menami pomôcky, ktoré budeme používať, prisahajú na chyby segmentácie atď. Pre definitívu predpokladáme, že študujeme jazyk SCC a font EEZ. Zavolajte tak súbor so vzorkou skenovania CCC.EEE.EXP0.TIF

1. Vytvorte a upravte súbor boxu
Pre. Ak chcete označiť znaky na obrázku a nastaviť svoje zhody UTF-8 textových symbolov sú box súbory. Toto sú obvyklé textové súbory, v ktorých každý znak zodpovedá reťazcov so súradnicami symbolu a obdĺžniky v pixeloch. Spočiatku vygenerujete nástroj z balíka Tesseract:
tesseract ccc.eee.eee.exp0 Batch.Nochop Makebox
Prijatý súbor CCC.EEE.EXP0.BOX v aktuálnom adresári. Pozri na to. Symboly na začiatku riadku úplne zodpovedajú znakom v súbore? Ak áno, potom nemusíte nič trénovať, môžete dobre spať. V našom prípade, s najväčšou pravdepodobnosťou znaky nebudú zhodnotiť ktorýkoľvek z v podstate v počte. Tí. Tesseract s predvoleným slovníkom nepoznal nielen postavy, ale aj niektoré z nich za dva alebo viac. Možno časť postáv, ktoré budeme "držať", t.j. spadne do spoločnej boxu a bude uznaná ako jedna. Všetko je potrebné upevniť skôr, ako pôjdete ďalej. Práca únavná a starostlivá, ale našťastie existuje niekoľko inžinierskych sietí tretích strán. Napríklad som použil pytestrainer-1,03. Otvoríme snímku, box-súbor s rovnakým názvom, ktoré sám vytiahne.
Polovica dňa prešiel ... s pocitom hlbokej spokojnosti s pteseracttrainer (nezabudli ste uložiť výsledok, vpravo?) A máte správny súbor box. Teraz môžete prejsť na ďalší krok.

2. Školenie Tesseract
tesseract ccc.eee.eeeeeee.eeee.eeee.eeee.evp0 nožové box.train
Dostaneme veľa chýb, ale pozeráme sa na niečo ako "nájdené 105 dobrých blobs". Ak je obrázok výrazne väčší ako počet "študovaných" znakov, to znamená, že je to šanca, že školenie ako celok sa podarilo. V opačnom prípade sa vrátime na začiatok. V dôsledku tohto kroku máte súbor ccc.eeee.eee.exp0.tr

3. Odstráňte nastavený symbol
uNICHARSET_EXTRACTOR CCC.EEEE.EXP0.BOX.
Dostávame sadu znakov ako unicharset súbor v aktuálnom adresári, kde sa každý znak a jeho vlastnosti nachádzajú v samostatnom riadku. Tu naša úloha skontroluje a opraví vlastnosti znakov (druhý stĺpec v súbore). Pre malé písmená abecedy, dali sme znamenie 3 pre veľké 5, pre interpunkciu 10 pre čísla 8, všetko ostatné (typ + \u003d -) označené 0 čínskych a japonských hieroglyfov. Takže táto etapa je veľa času, ktorý nebudete mať.

4. Opíšte štýl písma
Vytvorte súbor ccc.font_properties s jedným reťazcom: EEE 0 0 0 0 0. Tu najprv napíšte názov písma, potom číslo 1 alebo 0 je označené prítomnosťou štýlov znakov (resp . V našom prípade nie sú žiadne štýly, takže opustíme všetko v nuloch.

5. Klastre obrázkov, prototypov a iných mágií
Pre ďalšie štúdie musíme vykonávať tri ďalšie operácie. Môžete sa pokúsiť pochopiť svoj význam z oficiálneho popisu, nebol som predtým :). Vykonajte:
shapeclustering -f CCC.Font_properties -u Unicharset CCC.EEE.EXP0.TR
... Súbor Svapený
a potom:
mfTraining -f ccc.font_properties -u UNICHARSET -O CCC.UNICHARSET CCC.EEE.EXP0.TR
... Získajte súbory ccc.unicharset, Inttemp, pffmtable
Nakoniec:
cnTraining ccc.eee.exp0.tr.
... dostaneme súbor normproto.

6. slovníky
Teoreticky plnenie slovníkov často používaných slov (a slov vôbec) pomáha tesseracte-u riešiť vaše čmáre. Pochopenie slovníkov, ale ak zrazu chcete, urobte súboryfrequent_words_list a words_list, v ktorom zadáte (každý z nového riadku), často používané a jednoducho slová jazyka.
Ak chcete tieto zoznamy previesť na správny formát, vykonajte:
wordlist2dawg frequent_words_list ccc.freq-dawg ccc.Unicharset

wordlist2dawg words_list ccc.word-dawg ccc.Unicharset

7. Posledný tajomný súbor
Jeho meno je UnicharamBigs. Teoreticky musí venovať pozornosť tesseracku na podobných symboloch. Tento textový súbor v každom riadku s oddeľovačmi Tab je popísaný pármi reťazcov, ktoré môžu byť zmätené pri rozpoznávaní. Plne formát súboru je opísaný v dokumentácii, nebol potrebný a nechal som ho prázdny.

8. Posledný tím
Všetky súbory musia byť premenované tak, aby ich mená začali s menom jazyka. Tí. V adresári zostanú iba súbory:

ccc.box.
ccc.intemp
ccc.pffmtable
ccc.tif.
ccc.font_properties.
ccc.normroto.
ccc.shapetovateľný
ccc.tr.
ccc.Unicharset.

A nakoniec, vykonávame:
combine_Tessdata CCC.
(!) Bod je povinný. V dôsledku toho dostaneme súbor CCC.TrainedData, ktorý nám umožní ďalej rozpoznať náš tajomný nový jazyk.

9. Skontrolujeme, či to stálo za to :)
Teraz sa snažte rozpoznať našu vzorku pomocou už vyškoleného tesseractu-a:
sudo cp ccc.trangedData / usr / Share / TESSERACT-OCR / TESSDATA /
tESSERACT CCC.TIF výstup -L CCC
Teraz sa pozrieme na výstup.txt a radovať sa (alebo dostať sa up-zmýšľajúci, v závislosti na výsledku).

TESSERACT-OCR je bezplatná knižnica pre rozpoznávanie textu. Aby ste ho mohli pripojiť, musíte si stiahnuť nasledujúce komponenty:
Leponica - http://code.google.com/p/leptonica/downloads/detail?Name\u003dleptonica-1,68-Win32-Lib-include-Dirss.zip.
Najnovšia verzia TEESRACT-OCR (ON tento moment 3.02) - https://code.google.com/p/tesserack-ocr/downloads/detail?Name\u003dtesshant-3.02.02-Win32-lib-included-dirs.zip&can\u003d2&q\u003d
Údaje o pracovnom vzdelávaní - https://tessract-ocr.googlecdecode.com/files/tesserack-ocr-3.02.Rus.tar.gz
Všetko je možné zozbierať sa stiahnutím zdrojové kódyAle to neurobíme.

Vytvorením nového projektu pripojte cesty k súborom lib a h. A napíšte jednoduchý kód.
#Include. #Include. Int hlavné () (TESSERACT :: TESSBASEAPI * MYOCR \u003d NOVÝ TESSRACT :: TESSBASEAPI (); Printf ("TESSERACT-OCR verzia:% s n", myoco-\u003e verzia ()); Printf ("LEPTONICA VERZIA:% S n ", getlepptonicasion ()); ak (myock-\u003e init (," RUS ")) (Fprintf (Stderr" nemohol inicializovať tesseract. \\ n "); výstup (1);) pix * PIX \u003d PIXREAD ("test.tif"); MYOCT-\u003e SETIMAGE (PIX); CHARP OUTTEXT; LPTCPY (OUTTEXT, MYOCT-\u003e GETUTF8TEXT ()); Printf ("OCR výstup: n n"); Printf (Outtext); MyOCT -\u003e CLEAR (); MYOCT-\u003e END (); PixDestroy (& PIX); Späť 0;)

Pripojiť lib súbory:
libteseratorAct302.lib.
libupt168.lib

Kompletné - program sa úspešne vytvorí. Ako príklad urobte nasledujúci obrázok:

Spustíme program tak, aby sa informácie zobrazovali v súbore (pretože UTF-8 v CAPO konzole bude):
Test\u003e A.TXT

Nižšie uvedený obsah súboru:
TESSERACT-OCR verzia: 3.02
Leptonica verzia: Leptonica-1.68 (Mar 14 2011, 10:47:28)
OCR výstup:

, Nahradenie tohto výrazu (63), vidíme to
S názvom Jedno-pásma, signál je priemyselný
a hĺbka modulácie sa rovná a.
7 ENVELOPE HO) Primárny signál priamo
Nie je možné pozorovať osciloskop, takže
Ako je tento signál úzkopásmový a my
"Prípad" jasnosť "chýba, ale
S jednopásmovým moduláciou, úzkym
'Lososový signál s rovnakou obálkou a potom ona
"A niekedy sa prejavuje explicitne a niekedy (ako v OP
"Slnečný prípad) je zmätok v mysliach zle
a výskumníci.
6.4. "Costa vzorec"
G u.
S príchodom om v učebniciach, káve `
Estatys a monografie
Ako víťazstvo dáva prechodu z amplitúdy
Modulácie na jednorazové pruhu. Bolo to veľmi vyjadrené
Neusporiadaných názorov. Na začiatku 60. rokov
Rican Scientist J. Kostas to napísal, pozri
TREBUNED JOURNÁLNA LITERATÚRA NA OHM
objavil v každom článku jeho odhad energie
"Jasné výhry o dvaja
Pruavé desiatky. V dôsledku toho nainštaloval
- výhru uvedené v každom článku, \\ t
To robí približne (Z-K-S!) DB, kde M-Number CO-'G
\u003e Autori tohto článku.
E, '11 Ak je tento vtip a nepresný, je to stále správne
"Hudba odráža, že existovala splatnosť
; \\ T V týchto rokoch. Okrem skutočnosti, že rôzni autori
D vyliezol na porovnanie v rôznych podmienkach a raz-m
, NomU určil výhry energie, sú to tak
",` To isté umožnilo veľa rôznych chýb. štyri "
, `Tu sú príklady určitého odôvodnenia. ",
1. S obvyklým AM, veriť dopravcu Power



Páči sa vám článok? Zdieľaj to