Linux: Jak użyć tesseract z językiem innym niż Angielski (np. Polski)
Ta komenda pokazuje jakie języki są zainstalowane z tesseract
tesseract --list-langs
Wynik
List of available languages (3):
eng
osd
pol
Na Linux Mint/Ubuntu/Debian można użyć apt do doinstalowania nowych języków - np. Polski wymaga pol na końcu komendy
sudo apt-get install tesseract-ocr-pol
Dla innych języków można użyć apt dla znalezienia pliku lub użyć nazwy z poniższego linku do dodakowych zbiorów danych.
Aby zainstalować wszystkie języki można użyć tesseract-ocr-all
Będą one zainstalowane w /usr/share/tesseract-ocr/4.00/tessdata/ (przynajmniej w Linux Mint 20)
Ale można też ściągnąc pliki traineddata ręcznie ze srtony
Traineddata Files for Version 4.00 + lub z repozytorium tesseract
I można je trzymać w dowolnym folderze i używać --tessdata-dir aby pracować z językami z tego folderu
Można sprawdzić czy tesseract rozpoznaje ściągnięte pliki używająć
tesseract --list-langs --tessdata-dir /folder/with/traineddata/
Można użyć absolutnej ub względnej ścieżki. Dla plików w obrcnym folderze można użyć .
tesseract --list-langs --tessdata-dir .
To powinno wyświetlić tylko języki w tym folderze (pominie języki z poprzedniej komendy)
Ale można też używać tego folderu do rozpoznawania tekstu w pliku
tesseract image.png output_file --tessdata-dir /folder/with/traineddata/ -l pol
Opcje muszą być po obrazku i pliku wynikowy.
Normalnie tesseract generuje plik z tekstem ale używając stdout może wyświetlic w konsoli (i można to przekierować do innego programu korzystając z potokowania |)
tesseract image.png stdout --tessdata-dir /folder/with/traineddata/ -l pol
Można także użyć pliku z ekstra opcjami aby zapisać w pdf, tsv, itp.
Wszystkie opcje można zobaczyć z
tesseract --print-parameters
Aby zobaczyć opcje dotyczące tworzenia extra plików można użyć fitra
tesseract --print-parameters | grep create
Wynik
devanagari_split_debugimage 0 Whether to create a debug image for split shiro-rekha process.
tessedit_create_txt 0 Write .txt output file
tessedit_create_hocr 0 Write .html hOCR output file
tessedit_create_alto 0 Write .xml ALTO file
tessedit_create_lstmbox 0 Write .box file for LSTM training
tessedit_create_tsv 0 Write .tsv output file
tessedit_create_wordstrbox 0 Write WordStr format .box output file
tessedit_create_pdf 0 Write .pdf output file
tessedit_create_boxfile 0 Output text with boxes
I wtedy można stworzyć plik np. my_options z
tessedit_create_pdf 1
i użyć go jako ostatni argument
tesseract image.png output_file --tessdata-dir /folder/with/traineddata/ -l pol my_options
Notatki:
