Я не могу добавить языковые данные в тессеракт - PullRequest
0 голосов
/ 10 января 2020

Цель

Я хочу сделать китайский ocr с помощью tesseract. Если я хочу использовать китайский ocr, мне нужно добавить обученные данные. Затем, я думаю, есть два способа добавить обученные данные, используя команду sudo apt install tesseract-ocr-chi-sim или загрузив из https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata

С помощью метода установки из sudo apt install, китайские данные был правильно добавлен и ocr был успешно завершен. Однако, когда я попробовал последний метод, он не работал, даже если я пробовал много раз.

Причина, по которой я хочу попробовать последний метод, заключается в том, что я думаю, что последний может иметь более высокую точность распознавания, чем данные установлены из sudo apt install, и я действительно хочу попробовать это. Вы знаете, почему я не могу сделать ocr?


Ошибка массажа

Когда я добавляю данные последним способом, я получаю следующую ошибку:

> $ tesseract 0.jpeg output -l chi_sim Error opening data file
> /usr/share/tesseract-ocr/4.00/tessdata/chi_sim.traineddata Please make
> sure the TESSDATA_PREFIX environment variable is set to your
> "tessdata" directory. Failed loading language 'chi_sim' Tesseract
> couldn't load any languages! Could not initialize tesseract.

Что я сделал

В обоих случаях обученные данные тессеракта выглядят следующим образом.

$ tesseract --list-langs
List of available languages (5):
chi_sim
chi_tra
eng
jpn
osd

Обученные данные содержатся в /usr/share/tesseract-ocr/4.00 / tessdata /, поэтому нет никакой ошибки в том, куда помещать данные.

/usr/share/tesseract-ocr/4.00/tessdata$ ls
chi_sim.traineddata  configs          jpn.traineddata    osd.traineddata  tessconfigs
chi_tra.traineddata  eng.traineddata pdf.ttf

Ошибка, которая появилась на этот раз, произошла из-за пути TESSDATA_PREFIX, поэтому я попытался выполнить его по следующему пути два пути, но та же ошибка появилась и здесь.

Во-первых, я добавил следующий текст в ~ / .bashr c или ~ / .profile.

export TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00/tessdata/

Во-вторых, я извините ocr следующим образом.

tesseract 0.jpeg output -l chi_sim --tessdata-dir /usr/share/tesse
ract-ocr/4.00/tessdata

версия инструментов

$ tesseract --version
tesseract 4.0.0-beta.1
leptonica-1.75.3
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0

Found AVX2
Found AVX
Found SSE

После этого я изменил версию tesseract на tesseract 5.0.0-alpha и попробовал ее, но результат был точно таким же.

Из сообщения об ошибке я думаю, что это проблема с путем TESSDATA_PREFIX. Есть ли ошибка в пути добавления пути? Или есть другие причины?

...