Я пытаюсь извлечь некоторые цифры от 1-99 до изображения. Я пробовал несколько методов OCR с помощью PHP, но в конечном итоге мой скрипт будет терпеть неудачу, поскольку числа иногда поворачиваются на 5% влево или вправо. Это делает изображение не узнаваемым.
Теперь я установил Ocropus http://code.google.com/p/ocropus/ в качестве теста. К сожалению, это не дает мне правильные цифры каждый раз. Это заставляет меня думать, что мои фотографии недостаточно оптимизированы.
У кого-нибудь есть подсказки / идеи, как оптимизировать читаемость чисел? Я также был бы благодарен за идеи, как найти номера на картинке.
Кажется, что Tesseract / Ocropus путаются с перекосом, и может быть, что несколько перекошенных чисел в одной строке путают Tesseract или Ocropus.
Вы передаете весь образ как сетку чисел? Попробовали ли вы поместить каждый блок (номер) отдельно в качестве отдельного изображения в движок OCR? Вы можете найти лучшие результаты.
Вы пробовали какие-либо другие двигатели OCR? Вам нужно, чтобы он был с открытым исходным кодом?
Я запускал изображение через более дешевый коммерческий движок OCR, и все номера были правильно распознаны. Таким образом, еще один вариант – быстро завершить коммерческий движок OCR с помощью кода и интерфейса C # или C ++ для обеспечения улучшенных результатов.
Можно ли использовать внешний (веб-интерфейс) API для вашего решения? Если это так, рассмотрите http://www.wisetrend.com/wisetrend_ocr_cloud.shtml (REST API для OCR)
Он может автоматически корректировать поворот изображения; Попробуйте настроить параметры Deskew и AnalysisMode, описанные в http://www.wisetrend.com/WiseTREND_Online_OCR_API_v2.0.htm
(Кроме того, при использовании API убедитесь, что разрешение изображения правильно установлено в заголовке входного изображения – это может существенно повлиять на качество распознавания).