Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
ocr [2014/05/08 08:04]
Karel Hrnčiarik
ocr [2019/02/25 18:20] (aktuální)
Řádek 1: Řádek 1:
 +**OCR ** neboli optické rozpoznávání znaků (z anglického Optical Character Recognition) je metoda, která pomocí scanneru umožňuje digitalizaci tištěných textů, s nimiž pak lze pracovat jako s normálním počítačovým textem. Počítačový program převádí obraz buď automaticky,​ nebo se musí naučit rozpoznávat znaky.
  
 +Převedený text je téměř vždy v závislosti na kvalitě předlohy třeba podrobit důkladné korektuře, protože OCR program nemusí rozeznat všechna písmena správně. OCR – zpracování textu z tištěné do elektronické podoby je použitelné pro všechny tištěné výstupy z laserových,​ inkoustových,​ termosublimačních a jehličkových tiskáren a samozřejmě pro předlohy vytištěné knihtiskem. ​
 +
 +U nevhodných předloh, např. slabě vytištěných jehličkových výtisků nebo dohromady slitých písmen, se z časového hlediska vyplatí spíše přepis textu. [[http://​cs.wikipedia.org/​wiki/​OCR|wikipedia]]
 +
 +
 +====== OCR aplikace ======
 +Kvalitní OCR aplikace jsou tesseract s grafickou nadstavbou YAGF a online OCR.
 + 
 +===== GOCR =====
 +
 +Gocr je zástupce OCR programů dostupných zadarmo, který zvládá rozpoznávání diakritiky a je použitelný pro česky psané texty (umí  zpracovat naskenované texty do kódování UTF-8). Má úspěšnost asi 85%. Kvůli této úspěšnosti je dobré využít vhodný nástroj ke kontrole správnosti zpracovaného textu, např. OpenOffice, nebo aspell.
 +
 +Program podporuje užití databáze známých znaků, nebo vytváření ("​učení"​) nové databáze přímo při rozpoznávání. Tato funkce je ale zatím ve vývojové verzi. Na program existuje několik grafických nadstaveb (např. Kooka,​gocr-Gtk - ubuntu 8.0.4)
 +
 +**Příklad použití:​**
 +
 +Po mých pokusech s nastavením skeneru jsem zůstal u volby "​binary"​ s rozlišením 500 dpi. Vyšší rozlišení už se mi jevilo nevhodné. Skenuji v programu xsane, který je počeštěn. Celkem zajímavý je i xscanimage. Gocr podporuje celkem hodně grafických formátů (viz man gocr).
 +
 +Přejdeme do adresáře kde máme naskenované dokumenty v některém z podporovaných grafických formátů:
 +<​code>​
 +cd /​cesta/​k_nasim/​obrazkum/​ Enter 
 +</​code>​
 +<​code>​
 +ls Enter 
 +</​code>​(skeny jsou ve formátu png, ale můžete použít i jiné formáty viz man gocr) Např.:
 +
 +<​code>​
 +002.png 006.png ​ 012.png ​ 016.png ​ 020.png ​ 024.png ​ 028.png
 +000.png 003.png ​ 007.png ​ 010.png ​ 013.png ​ 017.png ​ 021.png ​ 025.png ​ 029.png
 +001.png 004.png ​ 008.png ​ 014.png ​ 018.png ​ 022.png ​ 026.png ​ 030.png
 +005.png 009.png ​ 011.png ​ 015.png ​ 019.png ​ 023.png ​ 027.png ​ 10_600.png
 +</​code>​
 +<​code>​
 +gocr -f UTF8  -i 001.png -o 001.txt ​
 +</​code>​
 +potom pokračujeme i s dalšími soubory až převedeme všechny soubory. Gocr je celkem rychlý.
 +
 +<​code>​
 +gocr -f UTF8  -i 001.png -o 001.txt
 +</​code>​atd. Čímž se vytvoří soubory s rozpoznaným textem 001.txt, 002.txt atd.
 +
 +Můžete také použít jednoduchý příkaz, který rozpozná všechny PNG soubory v adresáři:
 +<​code>​
 +for f in `ls *.png`; do gocr -f UTF8 -i "​$f"​ -o "​$f.txt";​ done
 +</​code>​
 +**-f UTF8** = výstup bude v kódování UTF8\ 
 +**-i 001.png** = input tj. vstupní soubor\ ​
 +**-o 001.txt** = output, výstupní soubor - takto se bude jmenovat náš elektronický dokument
 +
 +Pokud potřebujete výsledné textové soubory převést do jiného kódování,​ můžete využít například program recode. Pro převod do
 +kódování ISO-8859-2 můžete použít např.:
 +
 +<​code>​
 +recode UTF-8..ISO-8859-2 001.txt
 +</​code>​(soubor se překóduje na ISO-8859-2)
 +
 +<​code>​
 +recode UTF-8..ISO-8859-2 *.txt
 +</​code>​(překóduje všechny txt soubory ve složce)
 +
 +Pokud program recode upozorní na špatné konce řádků, můžete použít parametr -f.
 +
 +<​code>​
 +recode -f UTF-8..ISO-8859-2 *.txt
 +</​code>​
 +==== Manuálová stránka (man gocr) ====
 +<​code>​
 +GOCR(1) ​                       Uživatelský manuál ​                     GOCR(1)
 +
 +JMÉNO
 +       gocr - konzolový program pro optické zpracování znaků (OCR)
 +
 +SYNTAXE
 +       gocr [OPTION] [-i] pnm-file
 +
 +POPIS
 +       gocr je program pro optické rozpoznávání znaků, který může být použit z
 +       ​příkazové řádky. Jako vstup přijímá PNM, PGM, PBM, PPM nebo PCX  formát
 +       a rozpoznaný text vypisuje na standardní výstup. Pokud je namísto názvu
 +       pnm souboru použita pomlčka, jsou data čtena ​ ze  standardního ​ vstupu.
 +       ​Pokud ​ jsou  nainstalovány ​ programy ​ gzip,  bzip2 a netpbm-progs a váš
 +       ​systém podporuje popen(3) tak jsou jako  vstupní ​ soubory ​ (ne  stream)
 +       ​podporovány ​ také  pnm.gz, ​ pnm.bz2, png, jpg, jpeg, tiff, gif, bmp, ps
 +       ​(pouze jednostránkové) a eps, kde pnm může být nahrazeno jedním z  ppm,
 +       pgm nebo pbm souborem.
 +
 +
 +OPTIONS
 +       ​-h ​    ​vypíše informace o použití
 +
 +       -i file
 +              čte  vstup ze souboru "​file"​ (nebo ze standardního vstupu, pokud
 +              je jako název souboru uvedena jednoduchá pomlčka)
 +
 +       -o file
 +              uloží výstup do souboru ​ "​file" ​ namísto ​ výpisu ​ na  standardní
 +              výstup
 +
 +       -e file
 +              odešle ​ chyby  do  souboru ​ "​file"​ namísto na standardní chybový
 +              výstup, nebo na standardní výstup, pokud je namísto "​file" ​ uve‐
 +              dena pomlčka
 +
 +       -x file
 +              tato  možnost ​ bude  vypisovat do souboru "​file"​ aktuální postup
 +              zpracovávání. "​file"​ může být název souboru, ​ název ​ pojmenované
 +              roury  (viz  man mkfifo), nebo deskriptor souboru 1...255. ​ Tato
 +              volba  je  užitečná ​ pro  GUI  vývojáře, ​ aby  mohli  zobrazovat
 +              aktuální ​ postup ​ OCR  zpracovávání. ​ Deskriptor souboru je dos‐
 +              tupný pouze, pokud bylo gocr zkompilování s definovanou konstan‐
 +              tou __USE_POSIX.
 +
 +       -p path
 +              cesta k databázi včetně ukončovacího lomítka (výchozí je ./db/).
 +              Zde budou umístěny obrázky s naučenými znaky
 +
 +       -f format
 +              výstupní formát rozpoznaného textu (ISO8859_1 TeX HTML XML  UTF8
 +              ASCII). ​  ​Do ​ XML  budou  uvedena ​ také  data  o  pozici znaku a
 +              pravděpodobnosti úspěšnosti rozpoznání daného znaku
 +
 +       -l level (úroveň)
 +              nastavit úroveň šedé na úroveň "​level"​ (0<​160<​=255, ​ default: ​ 0
 +              pro  autodetekci),​ tmavší pixely přísluší znakům, světlejší pix‐
 +              ely jsou interpretovány jako pozadí vstupního souboru
 +
 +       -d size
 +              nastavit velikost prachu v pixelech ​ (částečky ​ menší ​ než  tato
 +              hodnota ​ budou  odstraněny),​ 0 znamená autodetekci,​ výchozí hod‐
 +              nota je -1 pro autodetekci
 +
 +       -s num nastavit ​  ​šířku ​  ​mezery ​  ​mezi ​  ​slovy ​  ​v ​  ​jednotkách ​  bodů
 +              (typografických terčíků). Výchozí hodnotou je 0 pro autodetekci.
 +              Širší mezery jsou chápány jako mezery mezi slovy, užší jako mez‐
 +              ery mezi znaky.
 +
 +       -v verbosity
 +              upovídaný ​ režim ​ s výstupem na standardní chybový výstup; "​ver‐
 +              bosity"​ je bitové pole (specifikace viz. níže)
 +
 +       -c string
 +              výpis upovídaných znaků pouze pro znaky z řetězce "​string"​. ​ Pro
 +              tyto  znaky  je  generováno ​ více  informací. Podtržítko znamená
 +              neznámé znaky. Tato možnost je vhodná k omezení výstupu ladících
 +              informací pouze na potřebné.
 +
 +       -C string
 +              rozpoznávat ​ pouze  znaky z řetězce "​string"​. Toto je filtrovací
 +              funkce, která umožní omezení ​ zpracovávaného ​ řetězce ​ pouze  na
 +              určité ​ znaky. ​ Je možno použít rozmezí 0-9 nebo a-z, pro znak -
 +              je potřeba použít --
 +
 +       -a certainty
 +              nastavit hodnotu spolehlivosti ​ (0..100; ​ výchozí ​ hodnota ​ 95).
 +              Znaky  s  větší ​ hodnotou ​ spolehlivosti, ​ než  "​certainty"​ jsou
 +              přijaty, znaky s  menší ​ hodnotou ​ jsou  považovány ​ za  neznámé
 +              (nerozpoznané). ​  ​Nastavte ​ vyšší ​ hodnotu, ​ pokud chcete vypsat
 +              pouze znaky s větší spolehlivostí na správnost.
 +
 +       -m mode
 +              nastavit režim operace; "​mode"​ je bitové pole  (výchozí ​ hodnota
 +              je 0)
 +
 +       -n bool
 +              pokud  je "​bool"​ nenulový, rozpoznávej pouze čísla. Tato možnost
 +              je nyní zastaralá, použijte -C "​0123456789"​
 +
 +       ​Úroveň upovídanosti je specifikován jako bitové pole:
 +
 +       ​1 ​        ​výpis více informací
 +
 +       ​2 ​        ​výpis tvarů z oblastí (viz -c)
 +
 +       ​4 ​        ​výpis vzorů z oblastí (viz -c)
 +
 +       ​8 ​        ​výpis vzorů po rozpoznání (pro ladění)
 +
 +       ​16 ​       výpis ladících informací o rozpoznání jednotlivých ​ řádků ​ na
 +                 ​standardní chybový výstup
 +
 +       ​32 ​       vytvoří ​ outXX.png ​ s  rámečky (okolo rozpoznávaných znaků) a
 +                 ​jednotlivými rozpoznávanými řádky při každém OCR kroku
 +
 +       ​Operační režimy jsou následující:​
 +
 +       ​2 ​        ​použij databázi pro znaky, které nejsou rozpoznány předešlými
 +                 ​algoritmy (funkce je v raném vývoji)
 +
 +       ​4 ​        ​přepínání mezi analýzou rozvržení,​ nebo zónováním (ve vývoji)
 +
 +       ​8 ​        ​neporovnávat nerozpoznané znaky s rozpoznanými
 +
 +       ​16 ​       nesnažit ​ se  rozdělit překrývající se znaky na 2 nebo 3 jed‐
 +                 ​notlivé znaky
 +
 +       ​32 ​       neprovádět opravy kontextu
 +
 +       ​64 ​       balení znaků: před začátkem rozpoznání jsou prohledány stejné
 +                 ​znaky ​ a  pouze jeden z těchto znaků je zaslán k analýze. (ve
 +                 ​vývoji)
 +
 +       ​130 ​      ​rozšířit databázi, zeptá se uživatele na nerozpoznané znaky a
 +                 ​rozšíří ​ databázi ​ podle  odpovědi uživatele (128+2, funkce v
 +                 ​raném vývoji)
 +
 +       ​256 ​      ​vypnout rozpoznávací engine (má smysl spolu s  parametrem ​ -m
 +                 2)
 +
 +
 +
 +AUTOR
 +       Joerg Schulenburg (see http://​jocr.sourceforge.net/​ for EMAIL)
 +       First version of man page by Tim Waugh <​twaugh@redhat.com>​
 +
 +INFORMACE O VERZI
 +       Tato stránka dokumentuje gocr, verze 0.41
 +
 +DALŠÍ INFORMACE
 +       ​Více ​ informací ​ můžete ​ nalézt ​ v  /​usr/​share/​doc/​gocr-X.XX/​gocr.html.
 +       ​Přečtěte si také /​usr/​share/​doc/​gocr-X.XX/​README abyste ​ zjistili, ​ jak
 +       ​dosáhnout lepších výsledků
 +
 +PŘÍKLADY
 +       gocr -v 33 text1.pbm
 +              výpis ​ upovídaných ​ informací, ​ out30.png ​ je  vytvořen, aby byl
 +              vidět postup rozpoznávání.
 +
 +       gocr -v 7 -c _YV text1.pbm
 +              upovídaný výstup pro neznámé znaky Y and V
 +
 +       djpeg -pnm -gray text.jpg | gocr -
 +              převést jpg obrázek do pnm formátu a použít jako vstup
 +
 +Linux                             20 Aug 2006                          GOCR(1)
 +</​code>​
 +Domovská stránka [[http://​jocr.sourceforge.net/​]]
 +
 +==== gocr-gtk grafická nástavba gocr ====
 +
 +Grafická nástavba programu gocr gocr-gtk. Spouští se příkazem "​gtk-ocr"​
 +
 +Ve složce **Setting** dopíšeme k příkazu /​usr/​bin/​gocr kódování a uložíme:
 +<​code>​
 +/​usr/​bin/​gocr -f UTF8 
 +</​code>​
 +Lze vybrat postupně všechny naše naskenované obrázky a pak najednou konvertovat. Soubory, které se vytvoří, budou mít příponu .txt a budou se nacházet ve stejném adresáři jako naskenované obrázky. Jednoduše lze měnit velikost prachu odstín šedi a šířku mezery (přednastaveno je 10/160/0). Pokud potřebujeme překódovat. Např. na ISO-8859-2:
 +<​code>​
 +recode -f UTF-8..ISO-8859-2 *.txt 
 +</​code>​
 +===== Kooka =====
 +
 +Je kompletní program pro skenování obrázků, využívající jako OCR právě program gocr. Jednoduše lze použít kontrolu pravopisu, která funguje dobře, ale musíme si nainstalovat slovník **aspell-cs**,​ který je v distribuci.
 +
 +
 +
 +
 +===== LOCR =====
 +
 +Zatím verze 0.1, je zdarma.
 +[[http://​www.math.northwestern.edu/​~mlerma/​locr/​]]
 +
 +
 +===== ocre =====
 +Vypadá zajímavě. Umí i polské znaky, je grafický a autor píše, že ho bude rozšiřovat na další jazyky dle přání uživatelů. Tak pišme!!!
 +[[http://​lem.eui.upm.es/​ocre.html]]
 +
 +=====Hebrew OCR =====
 +Rozpozná poezii a biblické texty v hebrejštině.
 +[[http://​www.claraocr.org/​]]
 +
 +===== ClaraOCR =====
 +Výborně vypadající grafický program, ale už se dlouho nevyvíjí. Nepodporuje české znaky, ale je možné naučit jej nové znaky (tip! c + háček = č!)
 +[[http://​www.claraocr.org/​]]
 +
 +===== Tesseract OCR =====
 +Původně komerční OCR program od firmy HP, nyní vyvíjen společností Google pod licencí Apache. [[http://​code.google.com/​p/​tesseract-ocr/​]]
 +
 +{{:​apt.png}} [[:​Instalace programů|Nainstalujte]] balík [[apt://​tesseract-ocr|tesseract-ocr]] a [[apt://​tesseract-ocr-ces|tesseract-ocr-ces]]
 +
 +**Grafické nadstavby** YAGF, gImageReader ​
 +
 +{{:​apt.png}} [[:​Instalace programů|Nainstalujte]] balík [[apt://​yagf|yagf]]
 +
 +{{:​navigate.png}} Aplikaci můžete spustit z nabídky **Aplikace → Kancelář → YAGF**, případně [[:​Terminál|příkazem]] ''​yagf''​.
 +
 +**Nastavení YAGF**
 +Spusťte YAGF a ve sloupci **Settings → OCR Settings ** vybrat tesseract
 +
 +{{:​yagf.png?​400}}
 +
 +===== Online OCR =====
 +Grafická nadstavba teseractu [[http://​www.newocr.com/​|freeware - online OCR]]
 +
 +===== ABBYY FineReader CLI=====
 +[[http://​www.ocr4linux.com/​|komerční program]]
 +
 +
 +====== Odkazy ======
 +  * [[http://​ubuntu.wz.cz/​|Původni zdroj]]
 +  * [[http://​groundstate.ca/​ocr|Linux OCR: A review of free optical character recognition software]] {{.:​en.png}} - gocr, Clara, Ocre, Ocrad, Tesseract, Ocropus, Aspire OCR
 +  * [[http://​www.howtoforge.com/​ocr_with_tesseract_on_ubuntu704|Optical Character Recognition With Tesseract OCR On Ubuntu 7.04]]
 +
 +{{page>​úpravy/​rozšíření}}
 +
 +{{page>​úpravy/​grafika}}
 +
 +{{page>​úpravy/​konvence}}