ocr

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] walardocr [2019/02/25 18:20] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řá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     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:
 +
 +               výpis více informací
 +
 +               výpis tvarů z oblastí (viz -c)
 +
 +               výpis vzorů z oblastí (viz -c)
 +
 +               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í:
 +
 +               použij databázi pro znaky, které nejsou rozpoznány předešlými
 +                 algoritmy (funkce je v raném vývoji)
 +
 +               přepínání mezi analýzou rozvržení, nebo zónováním (ve vývoji)
 +
 +               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}}