VietOCR jest nakładką GUI w Javie dla Silnika Tesseract OCR, zapewnia wsparcie rozpoznawania znaków dla popularnych formatów obrazu i obrazów wielostronicowych. Program posiada mechanizm przetwarzania wtórnego, który pomaga poprawiać błędy napotykane regularnie w procesie rozpoznawania znaków OCR, zwiększając tym samym stopień dokładności, który ma wpływ na ostateczny wynik. Program może również działać jako aplikacja w konsoli, wykonując polecenia bezpośrednio z linii poleceń.
Przetwarzanie wsadowe jest już dostępne. Program przeszukuje obserwowany folder celem znalezienia nowych plików z obrazami i automatycznie przetwarza je przez silnik OCR, następnie wysyła wyniki procesu do folderu wyjściowego.
Java Runtime Environment 8 or later. On Windows, Microsoft Visual C++ 2022 Redistributable Package is also required.
Tesseract Windows executable is bundled with the program. Additional
language data packs for Tesseract, whose names start with ISO639-3 codes,
should be placed into the tessdata
subdirectory.
Dla Linuksa, Tesseract i jego pakiety językowe są w Graficznym (ogólnodostępnym) repozytorium. Mogą być zainstalowane przy użyciu Menedżera pakietów Synaptic lub poniższego polecenia:
sudo apt-get install tesseract-ocr tesseract-ocr-eng tesseract-ocr-vie
The files will be placed in /usr/bin
and /usr/share/tesseract-ocr/tessdata
,
respectively. On the other hand, if Tesseract is built and installed from the source,
they will be placed in /usr/local/bin
and /usr/local/share/tessdata
.
You can also let VietOCR know the location
of tessdata
via the environment variable TESSDATA_PREFIX
:
export TESSDATA_PREFIX=/usr/local/share/
Dla innych platform zasięgnij wiedzy na stronie Tesseract Wiki .
VietOCR również umożliwia ściąganie i instalowanie wybranych pakietów językowych poprzez element menu Pobierz pakiet językowy. W zależności od lokalizacji folderu tessdata
może będzie wymagane uruchomienie programu jako root albo admin
by było możliwe zainstalowanie ściągniętych danych do folderu, zwłaszcza jeśli jest to wewnątrz katalogu systemowego takiego jak /usr
w Linuksie lub C:\Program Files
w Windows.
Scanning support on Windows is provided via the Windows Image Acquisition Library v2.0.
W systemie Linux, skanowanie wymaga instalacji pakietów SANE
sudo apt-get install libsane sane sane-utils libsane-extras xsane
PDF support is possible via PDFBox.
Funkcjonalność sprawdzania pisowni jest dostępna poprzez Hunspell, którego pliki słownika (.aff
.dic
) powinny być umieszczone w folderze dict
programu VietOCR. user.dic
jest plikiem z kodowaniem UTF-8, który zawiera listę słów, po jednym słowie na linię.
W systemie Linux, Hunspell wraz ze słownikami może być zainstalowany za pomocą Menedżera pakietów Synaptic lub polecenia apt
, jak poniżej:
sudo apt-get install hunspell hunspell-en-us
Aby uruchomić program:
java -jar VietOCR.jar
Uwaga: Jeżeli wystąpi wyjątek "out-of-memory", uruchom plik skryptowy ocr
w zamian użycia .jar.
Dane dla języka wietnamskiego zostały wygenerowane dla czcionek: Times New Roman, Arial, Verdana i Courier New. Dlatego, rozpoznawanie powinno mieć lepsze rezultaty dla obrazów posiadających podobne glify. OCRowane obrazy, które mają glify wyglądające inaczej niż obsługiwane czcionki, zwykle będą wymagały treningu Tesseract do utworzenia innego pakietu językowego specyficznego dla tych krojów czcionek. Dane językowe dla niektórych fontów VNI i TCVN3 (ABC) zostały również dołączone do ostatnich wersji.
Obrazy, dla których ma być przeprowadzony proces rozpoznawania znaków OCR powinny być zeskanowane w rozdzielczości co najmniej w rozdzielczości 200 DPI (punktów na cal) do 400 DPI w trybie monochromatycznym (czarno-białym) lub w skali szarości. Skanowanie w wyższych rozdzielczościach nie musi skutkować większą dokładnością rozpoznawania znaków, które obecnie wynosi 97% dla języka wietnamskiego, a następne wydanie Tesseract może poprawić to jeszcze bardziej. Mimo to, wciąż aktualne wyniki, zależą w dużym stopniu od jakości zeskanowanego obrazu. Typowe ustawienia skanowania to 300 DPI i 1 bpp (bit na piksel) obraz czarno-biały lub 8-bitowa skala szarości w formacie nieskompresowany TIFF lub PNG.
Tryb Zrzutu Ekranu zapewnia lepsze rezultaty dla obrazów niskiej rozdzielczości takich jak wydruki z ekranów, poprzez przeskalowanie ich do rozdzielczości 300 DPI.
In addition to the built-in text postprocessing algorithm, you can add your own
custom text replacement scheme via a UTF-8-encoded tab-delimited text file named x.DangAmbigs.txt
,
where x is the ISO639-3 language code. Both plain and Regex text replacements are supported.
By zmodifikować zachowanie silnika Tesseract możesz wpisać startowe i bieżące parametry kontrolne w pliki konfiguracyjne - odpowiednio: tessdata/configs/tess_configs
oraz tess_configvars
.
Niektóre wbudowane narzędzia są przewidziane do łączenia kilku obrazów lub plików PDF w jeden celem przygotowania do operacji OCR, lub dzielenia plików TIFF lub PDF zawierających zbyt wiele stron (co może powodować błędy „out-of-memory") na mniejsze,
Błędy rozpoznawania generalnie mogą być zakwalifikowane w trzy kategorie. Wiele błędów związane są z wielkością liter — na przykład: hOa, nhắC — które mogą być łatwo poprawione przez popularne edytory tekstu obsługujące Unicode. Wiele innych błędów, są rezultatem procesu OCR, takie jak brak znaków diakrytycznych, niepoprawne litery o podobnym kształcie itp. — huu – hưu, mang – marg, h0a – hoa, la – 1a, uhìu - nhìn. To też może być łatwo poprawione poprzez programy sprawdzające pisownie. Wbudowana funkcja Przetwarzania wtórnego może pomóc poprawić wiele wyżej wymienionych błędów.
Ostatnią kategorią błędów najtrudniejszą do wykrycia, są błędy semantyczne, co oznacza, że słowa stanowią poprawny termin w słowniku, ale są niepoprawne w danym kontekście — np., kat – kąt, vân – vấn. Te błędy wymagają od edytora by przeczytał tekst i ręcznie je poprawił, stosownie do oryginalnego obrazu.
Podążając dalej, poniżej są instrukcje jak poprawić pierwsze dwie kategorie błędów używając wbudowanych funkcji:
Większość pospolitych błędów, może być wyeliminowana przez powyższe procesy. Pozostałych, semantycznych błędów jest niewiele i o ile jest taka potrzeba to wymagają ręki człowieka, który chociażby przeczyta i wykona najistotniejsze poprawki by dokument był jak oryginalny zeskanowany i wolny od błędów.
Jeśli masz jakieś problemy lub pytania, proszę zgłosić je na forum VietOCR .