Улучшить результаты OCR Tesseract с размытым текстом
Я работаю над распознаванием OCR печатного текста. В частности, я фокусируюсь на шаге предварительной обработки, чтобы улучшить результаты Tesseract.
Я уже получил хорошие результаты с адаптивным порогом, шумоподавлением, текстовым столом и т.д. Но все же Tesseract, похоже, терпит неудачу, когда другие коммерческие продукты возвращают достойные результаты.
Я использовал следующее тестовое изображение, и вот результаты, полученные с Tesseract 3.04 по сравнению с двумя коммерческими OCR-аписом. Все 3 службы были снабжены одним и тем же двоичным изображением, содержащим слегка размытый текст.
![Text image used to compared the 3 OCR products]()
Тессеракт
Careers in Technology Consulting
Networking Lunch
21 m 2014, 11:00 - 14:30
Definingthecorporatellstmtegy, Wammmwdngdeal, creating
uniquebwinessisighnwilgbigdam-doesflismflxemmyouafioy?
Findoutmoreabanhowitfeektomkasatedlflogymbyjoiningour
for further mm please visit mAeloittexom/weers
ABBYY Fine Reader Online
Careers in Technology Consulting
Networking Lunch
21 November 2014,1140-14:30
Defining the corporate IT strategy, planning a multHnKon <Mar outsourcing deal, creating unique business insights using big data-doesthis sound Ifce something you enjoy?
Find out more about hour it feels to work as a technology consultant by joining our exclusive networking lunch,
For further information please visit wrwMuleloittexom/carcert
Online OCR
Careers in Technology Consulting Networking Lunch 21 November 2014, 11;00 —14:30
Defining the corporate IT strategy, planning a muiti-indlimi dollar outsourcing deal, creating unique business insights using big data—does this sound like something you enjoy?
Find out more about how it feels to work as a tedmology consultant by joining our exclusive networking lunch,
For further information' please visit wwwdeloitte,com/careers
Теперь интересно, большой разрыв между Tesseract и другими двумя продуктами связан с другим движком (наверняка ABBYY использует свой собственный движок, не уверен в веб-сервисе OCR), или есть некоторые другие шаги предварительной обработки, которые можно выполнить перед запуском Tesseract. У вас есть предложения?
Ответы
Ответ 1
Вот предложение для "волшебной" предварительной обработки OCR.
Чтобы объяснить принцип предлагаемой идеи предварительной обработки, рассмотрим выдержку из предоставленного текстового изображения, на котором не удалось выполнить все тестируемые OCR:
![исходное изображение]()
и применить к нему некоторую "препроцессорную мудрость". Сначала обычное пороговое значение:
![пороговое изображение]()
а затем некоторая "магия", стреляя вертикальными линиями через слова-элементы, обнаруживая макс. 2 пиксельных "бара" и разрезание их по краям, а также сокращение словарного элемента до его нижней линии:
![после извлечения я]()
Теперь переключение с линий съемки через слова-элементы на этом изображении с вертикального на горизонтальное, чтобы обнаружить очень широкие "стержни" и разрезать их по вертикали в середине их ширины:
![после разделения выращенных символов]()
Это должно помочь любому OCR-движку обеспечить лучшие результаты на этом конкретном изображении. Я могу себе представить, что некоторые из коммерческих OCR-двигателей используют этот подход, уже способный обеспечить лучшее признание, чем те, которые были протестированы.
В этом контексте позвольте мне упомянуть о других бесплатных OCR-движках, доступных в репозиториях Ubuntu (сопоставимых с tesseract). Испытывая их друг против друга, вы можете еще больше узнать, как это получается, что они дают разные результаты, а затем заглядывают в их исходный код, чтобы знать:) и вывести из этого что-то о коммерческих.
sudo apt-get install cuneiform gocr ocrad