Névjegyzék

Tesseract képzés. Tesseract-OCR a Visual Studio - felismeri a szöveg oldalát. A képek digitalizálása egyenként

Tesseract. - A szöveg optikai elismeréséhez szükséges szabad platform, amelynek forrásai 2006-ban bemutatták a közösséget. Ha szoftvert írsz a szöveg felismeréséhez, valószínűleg hozzáférnie kell az erőteljes könyvtár szolgáltatásaihoz. És ha nem tudott megbirkózni a szövegével, akkor egy útja van - tanítani. Ez a folyamat meglehetősen bonyolult, és nem nyilvánvaló, és néha közvetlenül mágikus akciókkal rendelkezik. Az eredeti leírás. Szükségem volt szinte egy egész napra, hogy megértsem az összes mélységét, ezért meg akarok menteni, remélem, hogy megérthetőbb lehetőség. Tehát, hogy segítsen magának, és mások menj át ezen az úton a következő alkalommal gyorsabban.

0. Mire van szükségünk

  • Tesseract valójában.
A könyvtár összeszerelése Windows alatt van (letöltheti a telepítőt a hivatalos tárolóból) és Linux alatt. A legtöbb Linux disztribúció érdekében telepítse a Tesseract egyszerűen telepíthető sudo apt-get install tesseract-ocr, Hozzá kell adnom a forrásokat a divatos elhelyezett operációs rendszerhez:
gedit /etc/apt/sources.list.
dEB http://notesalexp.net/debian/precise/ Precise Main
wGAT -O - http://notesalexp.net/debian/alexp_key.asc
aPT-kulcs Alexp_key.asc hozzáadása
apt-get frissítés
apt-get install tesseract-ocr
  • Kép a képzés szövegével
Kívánatos, hogy valódi szöveg volt, ami azt fogja felismerni. Fontos, hogy minden betűtípus-szimbólum a beolvasott fragmensen megfeleljen legalább 5-szer, előnyösen 20-szor. TIFF formátum, tömörítés nélkül, lehetőleg nem multiplocked. Az összes karakter között egyértelműen megkülönböztethető rések. Tegye a képünket egy külön könyvtárba és hívja az űrlapon<код языка>.<имя шрифта>.exp<номер>.tif Előfordulhat, hogy a kép nem lehet, és különböznek, csak a fájlnévben kell számolni. Formátumfájlnevek nagyon fontosak. A segédprogram hibás nevével rendelkező fájloknál esküszöm, hogy a szegmentálási hibákra stb. A határozottságért feltételezzük, hogy tanulmányozzuk az SCC nyelvet és az Eee betűtípust. Így hívja a fájlt a szkennelési minta ccc.eee.exp0.tif

1. A dobozfájl létrehozása és szerkesztése
Mert. A képen szereplő karakterek megjelölése és az UTF-8 szöveges szimbólumainak beállítása a dobozfájlok. Ezek azok a szokásos szövegfájlok, amelyekben minden karakter egy szimbólummal és téglalap koordinátákkal rendelkező karakterláncnak felel meg. Kezdetben létrehozhat egy segédprogramot a Tesseract csomagból:
tesseract ccc.eee.eee.exp0 batch.nochop makebox
Kapott ccc.eee.exp0.box fájlt az aktuális könyvtárban. Nezd meg. A vonal elején a szimbólumok teljesen megfelelnek a fájl karaktereinek? Ha igen, akkor nem kell semmit edzeni, jól aludhatsz. A mi esetünkben valószínűleg a karakterek nem fognak egybeesni a lényegében a számban. Azok. A Tesseract az alapértelmezett szótárral nem csak a karaktereket nem ismeri fel, hanem két vagy több számukra is tekintette. Talán a karakterek része, amellyel "stick", azaz egy közös dobozba esik, és el fogják ismerni. Mindent meg kell javítani, mielőtt továbblépsz. Fárasztó és gondoskodó, de szerencsére vannak számok harmadik féltől származó segédprogramok. Például a Pytestrainer-1.03-at használtam. Nyissa ki a képet, a doboz-fájl ugyanazzal a névvel, aki maga húzza ki.
Fél nap elhaladt ... Önnek a mély elégedettségérzetet a PyteserActtrainerrel (nem felejtette el, hogy mentse az eredményt, jobbra?), És van-e megfelelő dobozfájl. Most megy a következő lépéshez.

2. Képzés TesserAct
tesseract ccc.eee.eee.eee.eee.ee.ee.eee.evp0 NoBatch box.train
Sok hibát kapunk, de valami olyasmit keresünk, mint a "talált 105 jó blobs". Ha az ábra jelentősen nagyobb, mint a "vizsgált" karakterek száma, vagyis az esély, hogy a képzés egésze sikerült. Ellenkező esetben visszatérünk az elejére. Ennek a lépésnek köszönhetően van egy ccc.eee.ee.exp0.TR fájl

3. Távolítsa el a szimbólumkészletet
uniCHARSET_EXTRACTOR CCC.EEE.EXP0.BOX.
Az aktuális könyvtárban lévő UniCharset fájlként egy karakterkészletet kapunk, ahol minden karakter és jellemzői külön sorban találhatók. Itt a feladatunk ellenőrzi és javítja a karakterek jellemzőit (a fájl második oszlopát). Az ábécé kis betűitől 3 jelet tegyünk nagy 5-re, a 10-es számokhoz a 8-as számokhoz, minden máshoz (típus + \u003d -). A kínai és a japán hieroglifák. Tehát ez a szakasz sok időt vesz igénybe.

4. Ismertesse a betűtípust
Hozzon létre egy CCC.FONT_PROPERTIES fájlt egyetlen karakterlánccal: Eee 0 0 0 0 0 0. Itt először írja be a betűtípus nevét, majd az 1. vagy 0 számot a stílus karakterek (dőlt Bold fix fix serif fraktur) jelenlétével jelöljük. . A mi esetünkben nincs stílus, így mindent elhagyunk nullán.

5. A számok, prototípusok és más mágia klaszterei
További vizsgálatokhoz három további műveletet kell végrehajtanunk. Megpróbálhatod megérteni jelentését a hivatalos leírásból, nem voltam korábban :). Csak végezze el:
shapeclustering -f ccc.font_properties -u unicarset ccc.eee.exp0.tr
... File smermetable
és akkor:
mftraining -f ccc.font_properties -u unicarset -o ccc.unicharset ccc.eee.exp0.tr
... Fájlok kapása ccc.unicharset, inttemp, pffmtable
Végül:
cctraining ccc.eee.exp0.tr.
... megkapjuk a normaproto fájlt.

6. Szótárak
A gyakran használt szavak (és a szavak) szótárak elméleti kitöltése segít a tesseract-u-nek, hogy foglalkozzon a doodlesekkel. A szótárak megértése, de ha hirtelen szeretné, készítsen fájlokatfrekvencia_Words_list és Words_list, amelybe belép (mindegyikük Új karakterlánc) Ennek megfelelően, gyakran használt és egyszerűen a nyelv szavai.
A listák helyes formátumú konvertálásához hajtsa végre:
wordlist2dawg frekventátum_Words_list ccc.freq-dawg ccc.unicharset

wordlist2dawg Words_list CCC.Word-Dawg CCC.unicharset

7. Utolsó titokzatos fájl
A neve UniCharbigs. Elméletileg figyelmet kell fordítania a hasonló szimbólumokra vonatkozó Tesseraktorra. azt szöveges fájl Minden sorban a szeparátorok, a fülek által leírt pár húrok, hogy lehet összetéveszteni felismerésekor. Teljesen fájlformátumot írunk le a dokumentációban, nem volt szükség, és üresen hagytam.

8. Utolsó csapat
Minden fájlt át kell nevezni, hogy a nevük a nyelv nevével kezdődjön. Azok. Csak a fájlok maradnak a könyvtárban:

cCC.BOX.
ccc.inttemp
cCC.PFFMTable
cCC.TIF.
cCC.FONT_PROPERTIES.
cCC.NORMPROTO.
cCC.Shapetable
ccc.tr.
ccc.unicharset.

És végül, végezzük:
combine_tessdata CCC.
(!) A pont kötelező. Ennek eredményeképpen megkapjuk a CCC.Traineddata fájlt, amely lehetővé teszi számunkra, hogy felismerje titokzatos új nyelvünket.

9. Ellenőrizzük, hogy megéri-e :)
Most próbáljuk felismerni a mintánkat a már képzett Tesseract-A segítségével:
sudo cp ccc.traineddata / usr / share / tesseract-ocr / tessdata /
tesseract ccc.tif kimenet -l CCC
Most megnézzük a kimenetet.txt, és örüljünk (vagy az eredménytől függően).

Mire volt szükségünk a munkafolyamat a cégünkben, elsősorban a papírdokumentumok feldolgozásának sebességének növelése érdekében. Ehhez úgy döntöttünk, hogy az OCR (optikai karakterfelismerés) könyvtárak egyikén alapuló szoftveroldatot dolgozunk ki.

Az OCR vagy az optikai szövegfelismerés, a nyomtatott szöveges képek mechanikus vagy elektronikus átalakítása egy gépbe. Az OCR a nyomtatott szöveg digitalizálásának módja, hogy elektronikusan menthető, szerkeszthető, megjelenik és alkalmazzák az ilyen gépi folyamatokban kognitív számítások, gépi fordítás és intelligens adatelemzés.

Ezenkívül az OCR-t a papírdokumentumokból származó információk (beleértve a pénzügyi bejegyzéseket, névjegykártyák, számlák és még sok más).

A kérelem végrehajtása előtt elvégeztük a három legnépszerűbb OCR könyvtár alapos elemzését annak érdekében, hogy meghatározzuk a legmegfelelőbb lehetőséget a feladatok megoldásához.

Elemeztük a három legnépszerűbb OCR könyvtárat:

- Google Szövegfelismerés API

Google szövegfelismerés API

A Google Text Recognition API a szövegek és a videófolyamok és a benne foglalt felismerési szöveg észlelésének folyamata. Az észlelés után az elismerő meghatározza az egyes blokkok tényleges szövegét, és szavakkal és vonalakkal megszakítja. Valós időben felfedezi a különböző nyelvek (francia, német, angol stb.) Szövegét.

Érdemes megjegyezni, hogy általában ez az OCR a feladathoz kapcsolódott. Megkaptuk a lehetőséget, hogy felismerjük a szöveget mind valós időben, mind már kész szöveges dokumentumokkal. A könyvtár elemzése során mind a használatának előnyeit, mind hátrányait fedeztük fel.

Előnyök:

- a szöveg valós idejű felismerésének képessége

- a képekből származó szövegek felismerése;

- kis méretű könyvtár;

- Magas felismerési sebesség.

Hátrányok:

- Nagy méretű fájlok képzett adatokkal (~ 30 MB).

Tesseract.

A Tesseract egy nyílt forráskódú OCR könyvtár különböző operációs rendszer. Ingyen van szoftver, Az Apache Licenc, 2.0-es verzió, különböző nyelvek támogatása.

A Tesseract fejlesztése finanszírozott company Google 2006 óta az idő, amikor az egyik legpontosabb és hatékonyabb OCR könyvtárnak tekinthető nyílt forráskódú.

Legyen ez azért, hogy abban az időben a Tesseract bevezetésének eredményei továbbra is nagyon elégedettek, mert A könyvtár hihetetlenül volumetrikus, és nem teszi lehetővé a szöveg valós idejű felismerését.

Előnyök:

- nyílt forráskódú;

- Ennek megfelelően elegendő az OCR tanítására, hogy felismerje a kívánt betűtípusokat és javítsa a felismerhető információk minőségét. A könyvtár és a képzés gyors beállításai után az elismerési eredmények minősége gyorsan növekedett.

Hátrányok:

- elégtelen felismerési pontosság, amelyet az elismerési algoritmus képzésével és tanulásával kiküszöböl;

- A szöveg valós idejű felismerése, a kapott kép további feldolgozása szükséges;

- Kis felismerési pontosság, ha szabványos fájlokat használ a betűtípusadatokkal, szavakkal és szimbólumokkal.

Bármilyen vonal

Anyline több platform SDK-t biztosít, amely lehetővé teszi a fejlesztők számára, hogy könnyen integrálják az OCR funkciókat az alkalmazásokban. Ez az OCR-könyvtár számos képességet vonzott minket a felismerési paraméterek beállításával és a modellek által meghatározott alkalmazott feladatok megoldására. Érdemes megjegyezni, hogy a könyvtárat fizetik és kereskedelmi célra használják.

Előnyök:

- csinos egyszerű beállítás a kívánt betűtípusok felismerése;

- a szövegfelismerés valós időben;

- az elismerési paraméterek egyszerű és kényelmes beállítása;

- a könyvtár felismerheti a vonalkódokat és a QR-kódokat;

- Készen készített modulokat kínál különböző feladatok megoldására.

Hátrányok:

- alacsony felismerési sebesség;

- kielégítő eredmények megszerzése kezdeti beállítás Betűtípusok az elismeréshez.

A feladatok megoldásához végzett elemzés során a Google Text Retifition API-on tartózkodtunk, amely nagy sebességet ötvözi önmagában, fénybeállítás és magas felismerési eredmények.

Az általunk kifejlesztett megoldás lehetővé teszi a papírdokumentumok beolvasását, automatikusan digitalizálja őket, és menteni egy adatbázisba. A felismerhető információ minősége körülbelül 97%, ami nagyon jó eredmény.

A fejlett rendszer bevezetése miatt a belső (beleértve a dokumentumfeldolgozást, az osztályok létrehozását és cseréjét stb.) 15% -kal gyorsították.

Elvitt, hogy megkapjam az eltömődött számok értékeit. Számok kirabolták A képernyőn.

Azt gondoltam, és nem próbálok kipróbálni az OCR-t? Megpróbáltam Tesseractot.

Az alábbiakban elmondom, hogyan próbáltam alkalmazkodni a Tesseract-ot, miért képeztem, és mi történt tőle. A Hithabe projekt egy CMD szkript, amely automatizálja, hogy mennyi időt lehet az edzés folyamatának, és az adatokat képzést végeztem. Egy szóban van mindent, amire szüksége van a Tesseract edzéséhez, hogy valami hasznos legyen.

Készítmény

A tároló klónozása vagy letöltése zip archívum (~ 6 MB). Telepítse a 3.01 Tesserator-t a.syta-val. Ha már nincs ott, akkor a zip archívum alkönyvtárból / disztribúcióból.

Menjen a minták mappába, futtassa montage_all.cmd.
Ez a szkript létrehoz egy végső képet. minták / teljes.png., nem tudja elindítani a forgatókönyvet, mert Már a projekt gyökérmappájába helyeztem.

Miért vonat?

Talán és képzés nélkül az eredmény jó lesz? Jelölje be.
./exp1 - as\u003e tesseract ../total.png összesen

Helyezze el a fájl korrigált eredményét model_total.txtxAz elismerés eredményeinek összehasonlítása. A csillag rossz értékeket jelez.

model_total.txtx Elismerés
alapértelmezett
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

alapértelmezett felismerési hibák

Látható, hogy sok hiba van. Ha szorosan nézel ki, láthatod, hogy a tizedespont nem ismeri fel, a 6. és 8-as számok elismertek 5. Az edzés segít megszabadulni a hibáktól?

Edzés

A TesserAction képzés lehetővé teszi, hogy az űrlapon lévő szövegek képeinek felismerésére irányuljon, amelyben hasonló képeket ad meg az elismerési folyamatban.
A Tesseract képzési képeket adja meg, javítsa ki az elismerési hibákat, és továbbítja ezeket az utasításokat a TesserAct-y-re. És korrigálja az algoritmusok együtthatókat, hogy továbbra is megakadályozzák a talált hibákat.

Az edzés végrehajtásához, amelyet futtatni szeretne. / Exp2 - képzett\u003e train.cmd

Mi az edzés folyamat? És abban a tényben, hogy a Tesseract feldolgozza a képzési képet és az úgynevezett formákat. Dobozok karakterek - kiemeli az egyes karaktereket a szövegből, amely létrehozza a téglalapok korlátozását. Ugyanakkor kitalálja, hogy milyen szimbólumot korlátozott egy téglalap.

A munka eredményei a teljes értékre írnak.
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

Itt a Singel oszlop szimbólumában és 2-5 oszlopban a téglalap bal alsó sarkának koordinátái, magassága és szélessége.

Természetesen nehéz manuálisan és kényelmetlenül szerkeszteni, így a munkát megkönnyítő grafikus segédprogramokat a rajongók hozták létre. Régebben írtam Java-ban.

Üzembe helyezés után. / Exp2 - képzett\u003e Java -jar jtessboxeditor-0.6jtessboxeditor.jar Meg kell nyitnia a fájlt. / Exp2 - képzett / total.png, a fájl automatikusan megnyílik. / Exp2 - képzett / teljes Meg kell határozni, hogy a képzési képen lesz.

A bal oldalon a teljes tartalma a megfelelő.Box fájl a jobb oldalon van egy képzési kép. A kép fölött a teljes értékű .Box fájl aktív vonala

Kék ábrázolt dobozok és piros - boksz, amely megfelel az aktív sornak.

A jobb 6-ki és a 8. helyen végzett 5-ki hibás 5-ki javítottam, hozzáadott sorokat a fájl összes tizedes pontjának meghatározásaival, és megtakarították.

A szerkesztés befejezése után szükséges, hogy a forgatókönyv továbbra is működjön, meg kell zárnia a Jtessboxeditorot. Ezenkívül minden műveletet egy parancsfájl végzi, a felhasználói részvétel nélkül. A szkript a TTN-kód alatt a képzés eredményeit írja

A tanulási eredmények felismerése során el kell indítania a Tesseract C billentyűzet -l TTN-t
./exp2 - képzett /\u003e tesseract ../total.png teljes képzett -l ttn

Látható, hogy az összes számot helyesen elismerték, de a tizedespont még mindig nem ismeri fel.

model_total.txtx Elismerés
alapértelmezett
Elismerés
edzés után
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

tanulásfelismerési hibák

Kép nagyítása

Különböző módon növelhetem, kétféleképpen próbáltam: skála és átméretezem

teljes méretű.png (töredék) teljes méretű.png (töredék)
Konvertálása ..png teljes méretű átalakítás.

Mivel a karakterek képei maguk a képekkel nőttek, a TTN kód alatti képzési adatok elavultak. Ezért, aztán felismertem a billentyűs -l ttn nélkül.

Látható, hogy a kép teljes skálázott.png Tesseract összezavarja a 7-KU-t egy 2-es, és nem zavarja a teljes átméretezett.png-t. Mindkét képen a tizedespont helyes. Képfelismerés A teljes-resized.png szinte tökéletes. Csak három hiba van - a 21, 114 és 61 szám számok közötti különbség.

De ez a hiba nem kritikus, mert A szóközök soraiból egyszerűen eltávolítható.

teljes méretű.png felismerési hibák

total-resized.png felismerési hibák

model_total.txtx Elismerés
alapértelmezett
Elismerés
edzés után
teljes méretű.png. teljes átméretezett.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

A képek digitalizálása egyenként

Oké, mi van, ha egy másik képet kellene digitálnia a valódi vászon módban?

Megpróbálok egyenként.
./exp5 - egyenként\u003e a / r% i (* .png) tesseraktív "% i" "% i"
Két és háromjegyű számok egyáltalán nincs meghatározva!

625.05
1740.10

Kis csomagok digitalizálása

És ha a képeket több képen keresztül szeretné digitálni (6 vagy 10 a csomagban)? Tíz idő.
./exp6 - tíz sorban\u003e tesseract teninline.png teninline

Elismert, és még a 61-es rés nélkül is.

következtetések

Általában vártam a legrosszabb eredményeket, mert A kis raszteres betűtípusok a kis méretük, különféle granuláció és állandóság miatt - különböző képek Egy szimbólum teljesen egybeesik. És a gyakorlat kimutatta, hogy az elrendezett mesterségesen inspirált számokat jobban felismerik.

Az előfeldolgozó kép nagyobb hatással van, mint a tanulás. Növekedés a simítással: konvertálni ...

A különálló "rövid" két és háromjegyű számú nem kielégítő számú számok elismerése csomagolásban kell összegyűjteni.

De általában, Négydimenziós szinte megbirkózott a feladattal, annak ellenére, hogy éles más feladatok - felismerve feliratok a fotó és videó, szkennelt dokumentumokat.

Tesseract. - A szöveg optikai elismeréséhez szükséges szabad platform, amelynek forrásai 2006-ban bemutatták a közösséget. Ha szoftvert írsz a szöveg felismeréséhez, valószínűleg hozzáférnie kell az erőteljes könyvtár szolgáltatásaihoz. És ha nem tudott megbirkózni a szövegével, akkor egy útja van - tanítani. Ez a folyamat meglehetősen bonyolult, és nem nyilvánvaló, és néha közvetlenül mágikus akciókkal rendelkezik. Az eredeti leírás. Szükségem volt szinte egy egész napra, hogy megértsem az összes mélységét, ezért meg akarok menteni, remélem, hogy megérthetőbb lehetőség. Tehát, hogy segítsen magának, és mások menj át ezen az úton a következő alkalommal gyorsabban.

0. Mire van szükségünk

  • Tesseract valójában.
A könyvtár összeszerelése Windows alatt van (letöltheti a telepítőt a hivatalos tárolóból) és Linux alatt. A legtöbb Linux disztribúció érdekében telepítse a Tesseract egyszerűen telepíthető sudo apt-get install tesseract-ocr, Hozzá kell adnom a forrásokat a divatos elhelyezett operációs rendszerhez:
gedit /etc/apt/sources.list.
dEB http://notesalexp.net/debian/precise/ Precise Main
wGAT -O - http://notesalexp.net/debian/alexp_key.asc
aPT-kulcs Alexp_key.asc hozzáadása
apt-get frissítés
apt-get install tesseract-ocr
  • Kép a képzés szövegével
Kívánatos, hogy valódi szöveg volt, ami azt fogja felismerni. Fontos, hogy minden betűtípus-szimbólum a beolvasott fragmensen megfeleljen legalább 5-szer, előnyösen 20-szor. TIFF formátum, tömörítés nélkül, lehetőleg nem multiplocked. Az összes karakter között egyértelműen megkülönböztethető rések. Tegye a képünket egy külön könyvtárba és hívja az űrlapon<код языка>.<имя шрифта>.exp<номер>.tif Előfordulhat, hogy a kép nem lehet, és különböznek, csak a fájlnévben kell számolni. Formátumfájlnevek nagyon fontosak. A segédprogram hibás nevével rendelkező fájloknál esküszöm, hogy a szegmentálási hibákra stb. A határozottságért feltételezzük, hogy tanulmányozzuk az SCC nyelvet és az Eee betűtípust. Így hívja a fájlt a szkennelési minta ccc.eee.exp0.tif

1. A dobozfájl létrehozása és szerkesztése
Mert. A képen szereplő karakterek megjelölése és az UTF-8 szöveges szimbólumainak beállítása a dobozfájlok. Ezek azok a szokásos szövegfájlok, amelyekben minden karakter egy szimbólummal és téglalap koordinátákkal rendelkező karakterláncnak felel meg. Kezdetben létrehozhat egy segédprogramot a Tesseract csomagból:
tesseract ccc.eee.eee.exp0 batch.nochop makebox
Kapott ccc.eee.exp0.box fájlt az aktuális könyvtárban. Nezd meg. A vonal elején a szimbólumok teljesen megfelelnek a fájl karaktereinek? Ha igen, akkor nem kell semmit edzeni, jól aludhatsz. A mi esetünkben valószínűleg a karakterek nem fognak egybeesni a lényegében a számban. Azok. A Tesseract az alapértelmezett szótárral nem csak a karaktereket nem ismeri fel, hanem két vagy több számukra is tekintette. Talán a karakterek része, amellyel "stick", azaz egy közös dobozba esik, és el fogják ismerni. Mindent meg kell javítani, mielőtt továbblépsz. A munka unalmas és óvatos, de szerencsére számos harmadik fél segédprogram van erre. Például a Pytestrainer-1.03-at használtam. Nyissa ki a képet, a doboz-fájl ugyanazzal a névvel, aki maga húzza ki.
Fél nap elhaladt ... Önnek a mély elégedettségérzetet a PyteserActtrainerrel (nem felejtette el, hogy mentse az eredményt, jobbra?), És van-e megfelelő dobozfájl. Most megy a következő lépéshez.

2. Képzés TesserAct
tesseract ccc.eee.eee.eee.eee.ee.ee.eee.evp0 NoBatch box.train
Sok hibát kapunk, de valami olyasmit keresünk, mint a "talált 105 jó blobs". Ha az ábra jelentősen nagyobb, mint a "vizsgált" karakterek száma, vagyis az esély, hogy a képzés egésze sikerült. Ellenkező esetben visszatérünk az elejére. Ennek a lépésnek köszönhetően van egy ccc.eee.ee.exp0.TR fájl

3. Távolítsa el a szimbólumkészletet
uniCHARSET_EXTRACTOR CCC.EEE.EXP0.BOX.
Az aktuális könyvtárban lévő UniCharset fájlként egy karakterkészletet kapunk, ahol minden karakter és jellemzői külön sorban találhatók. Itt a feladatunk ellenőrzi és javítja a karakterek jellemzőit (a fájl második oszlopát). Az ábécé kis betűitől 3 jelet tegyünk nagy 5-re, a 10-es számokhoz a 8-as számokhoz, minden máshoz (típus + \u003d -). A kínai és a japán hieroglifák. Tehát ez a szakasz sok időt vesz igénybe.

4. Ismertesse a betűtípust
Hozzon létre egy CCC.FONT_PROPERTIES fájlt egyetlen karakterlánccal: Eee 0 0 0 0 0 0. Itt először írja be a betűtípus nevét, majd az 1. vagy 0 számot a stílus karakterek (dőlt Bold fix fix serif fraktur) jelenlétével jelöljük. . A mi esetünkben nincs stílus, így mindent elhagyunk nullán.

5. A számok, prototípusok és más mágia klaszterei
További vizsgálatokhoz három további műveletet kell végrehajtanunk. Megpróbálhatod megérteni jelentését a hivatalos leírásból, nem voltam korábban :). Csak végezze el:
shapeclustering -f ccc.font_properties -u unicarset ccc.eee.exp0.tr
... File smermetable
és akkor:
mftraining -f ccc.font_properties -u unicarset -o ccc.unicharset ccc.eee.exp0.tr
... Fájlok kapása ccc.unicharset, inttemp, pffmtable
Végül:
cctraining ccc.eee.exp0.tr.
... megkapjuk a normaproto fájlt.

6. Szótárak
A gyakran használt szavak (és a szavak) szótárak elméleti kitöltése segít a tesseract-u-nek, hogy foglalkozzon a doodlesekkel. A szótárak megértése, de ha hirtelen szeretné, készítsen fájlokatfrequent_Words_list és Words_list, amelyben belépsz (mindegyik új vonalból), illetve gyakran használják és egyszerűen a nyelv szavakat.
A listák helyes formátumú konvertálásához hajtsa végre:
wordlist2dawg frekventátum_Words_list ccc.freq-dawg ccc.unicharset

wordlist2dawg Words_list CCC.Word-Dawg CCC.unicharset

7. Utolsó titokzatos fájl
A neve UniCharbigs. Elméletileg figyelmet kell fordítania a hasonló szimbólumokra vonatkozó Tesseraktorra. Ez a szövegfájl minden sorban füllel elválasztó ismertet pár húrok, hogy lehet összetéveszteni az elismerése. Teljesen fájlformátumot írunk le a dokumentációban, nem volt szükség, és üresen hagytam.

8. Utolsó csapat
Minden fájlt át kell nevezni, hogy a nevük a nyelv nevével kezdődjön. Azok. Csak a fájlok maradnak a könyvtárban:

cCC.BOX.
ccc.inttemp
cCC.PFFMTable
cCC.TIF.
cCC.FONT_PROPERTIES.
cCC.NORMPROTO.
cCC.Shapetable
ccc.tr.
ccc.unicharset.

És végül, végezzük:
combine_tessdata CCC.
(!) A pont kötelező. Ennek eredményeképpen megkapjuk a CCC.Traineddata fájlt, amely lehetővé teszi számunkra, hogy felismerje titokzatos új nyelvünket.

9. Ellenőrizzük, hogy megéri-e :)
Most próbáljuk felismerni a mintánkat a már képzett Tesseract-A segítségével:
sudo cp ccc.traineddata / usr / share / tesseract-ocr / tessdata /
tesseract ccc.tif kimenet -l CCC
Most megnézzük a kimenetet.txt, és örüljünk (vagy az eredménytől függően).

A Tesseract-OCR egy ingyenes könyvtár a szövegfelismeréshez. Annak érdekében, hogy csatlakozzon ahhoz, hogy letöltse a következő összetevőket:
Leptonica - http://code.google.com/p/leptonica/downloads/detail?name\u003dleptonica-.68-win32-lib-include-dirs.zip.
A TesserAct-OCR legújabb verziója (jelenleg 3.02) - https://code.google.com/p/tesseract-oc/downloads/detail?name\u003dtesseract-3.02.02-win32-lib-include-dirs .zip és can \u003d 2 & q \u003d
Munkahelyi tanulási adatok - https://teskract-ocr.googlecode.com/files/tesseract-oc-3.02.rus.tar.gz
Minden letölthető forráskódokDe ezt nem fogjuk megtenni.

Új projekt létrehozásával csatlakoztassa az útvonalakat a LIB és a H fájlokhoz. És írjon egy egyszerű kódot.
#Inlude. #Inlude. Int Main () (Tesseract :: Tessbaseapi * myoc \u003d új TESSRAST :: tessbaseapi (); Printf ("Tesseract-OCR verzió:% s \\ n", myoco\u003e verzió ()); Printf ("Leptonica változat:% s \\ n ", getlepononicasion ()); ha (Myoct-\u003e init (NULL," RUS ")) (Frintf (stderr," nem tudta inicializálni a Tesseract-ot. \\ n "); kilépés (1);) Pix * Pix \u003d Pixuread ("test.tif"); myocr-\u003e setimage (pix); char outtext, lstrcy (outtext, myoc isch-\u003e getutf8text ()); Printf ("OCR kimenet: \\ n \\ n"); nyomtatás (outtext); myoc -\u003e tiszta (); myocr-\u003e vége (); pixdestroy (& pix); visszatérés 0;)

Csatlakoztassa a LIB fájlokat:
Libteseratoract302.lib.
libbt168.lib

Teljes - A program sikeresen létrehozva. Például a következő képet:

A programot úgy futtatjuk, hogy az információ megjelenjen a fájlban (az UTF-8 a Capo konzolban lesz):
Teszt\u003e a.txt.

Az alábbi fájl tartalma:
TesserAct-OCR verzió: 3.02
Leptonica változat: Leptonica-1.68 (2011. március 14, 10:47:28)
OCR kimenet:

, Helyettesítjük ezt a kifejezést (63), ezt látjuk
Az egysávos jelzés, a jel ipari
és a moduláció mélysége egyenlő a.
7 Boríték HO) Elsődleges jel közvetlenül
Lehetetlen megfigyelni az oszcilloszkópot, így
Hogy ez a jel keskeny sáv, és mi
"Az" tisztaság ", de hiányzik, de
Egysávos modulációval, keskeny
- Lazacjel ugyanazzal borítékkal, majd ő
"És kifejezetten és néha megnyilvánul (mint az op
"Napos eset) zavart okoz az elmék rosszul
és a kutatók ..
6.4. "Costa Formula"
G U.
Az OM megjelenésével a tankönyvekben, kávéban `
Az estatys és a monográfiák megkérdezték a kérdést
Hogyan nyeri meg az átmenet az amplitúdóból
Modulációk az egysávra. Ez sokkal kifejeződött
Rendezetlen vélemények. Az Ame 60-as évek elején
Rican tudós J. Kostas azt írta, hogy
Trebuned folyóirat irodalom az ohmon, ő
minden cikkben felfedezett az energia becslése
"Világos nyeremények az am-kettővel
Sokszoros tucat. Ennek eredményeként telepítette
- az egyes cikkekben feltüntetett győztes,
Körülbelül (Z-K-S!) Db, ahol m-szám co-'g
\u003e E cikk szerzői.
E, '11 Ha ez a vicc és a pontatlan, még mindig helyes
"A zene tükrözi a létezett érettséget
; Azokban az években. Amellett, hogy a különböző szerzők
D különböző körülmények között összehasonlították, és egyszer-m
, Nomu meghatározta az energia nyereményeit, ők ők
- Ugyanez megengedett sok különböző hibát. négy "
, Itt vannak példák néhány érvelésre. ",
1. A szokásos vagyok, hiszen a hatalom hordozója



Tetszett a cikket? Oszd meg