Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tesseract training for a new font

Tags:

ocr

tesseract

I'm still new to Tesseract OCR and after using it in my script noticed it had a relatively big error rate for the images I was trying to extract text from. I came across Tesseract training, which supposedly would be able to decrease error rate for a specific font you'd use. I came across a website (http://ocr7.com/) which is a tool powered by Anyline to do all the training for a font you specify. So I recieved a .traineddata file and I am not quite sure what to do with it. Could anybody explain what I have to do with this file for it to work? Or should I just learn how to do Tesseract training the manual way, which according to the Anyline website may take a day's work. Thanks in advance.

like image 533
user19235 Avatar asked Dec 23 '16 05:12

user19235


2 Answers

For anyone that is still going to read this, you can use this tool to get a traineddata file of whichever font you want. After that move the traineddata file in your tessdata folder. To use tesseract with the new font in Python or any other language (I think?) put lang = "Font"as second parameter in image_to_string function. It improves accuracy significantly but can still make mistakes ofcourse. Or you can just learn how to train tesseract for a new font manually with this guide: http://pretius.com/how-to-prepare-training-files-for-tesseract-ocr-and-improve-characters-recognition/.

like image 53
user19235 Avatar answered Nov 17 '22 06:11

user19235


Edit: Tesseract 5 training tutorial: https://www.youtube.com/watch?v=KE4xEzFGSU8

I made a video tutorial explaining the process for the latest version of Tesseract (The LSTM model), hope it helps. https://www.youtube.com/watch?v=TpD76k2HYms

like image 45
Gabriel Garcia Avatar answered Nov 17 '22 08:11

Gabriel Garcia