Любые предложения по преобразованию этих изображений в текст? Я использую pytesseract, и он отлично работает в большинстве случаев, кроме этого. В идеале я бы точно прочитал эти цифры. В худшем случае я могу просто попытаться использовать PIL, чтобы определить, является ли число слева от «/» равным нулю. Начните с левой стороны и найти первый белый пиксель, тоЧтение текста с изображения
from PIL import Image
from pytesseract import image_to_string
myText = image_to_string(Image.open("tmp/test.jpg"),config='-psm 10')
myText = image_to_string(Image.open("tmp/test.jpg"))
Слэш в центре вызывает вопросы здесь. Я также попытался использовать «.paste» PIL, чтобы добавить много лишнего черного вокруг изображения. Могло бы быть несколько других трюков PIL, которые я мог бы попробовать, но я бы предпочел не идти по этому маршруту, если только не придется.
Я пробовал использовать config = '- psm 10', но мои 8-ые иногда повторялись как:: иногда и случайные символы. И мои 0 прошли как ничто.
Ссылка на: pytesseract don't work with one digit image для -psm 10
_____________EDIT_______________ Дополнительные образцы:
Так что я делаю некоторые преобразования вуду, которые, кажется, работает в настоящее время. Но выглядит очень подвержен ошибкам:
def ConvertPPTextToReadableNumbers(text):
text = RemoveNonASCIICharacters(text)
text = text.replace("I]", "0")
text = text.replace("|]", "0")
text = text.replace("l]", "0")
text = text.replace("B", "8")
text = text.replace("D", "0")
text = text.replace("S", "5")
text = text.replace(".I'", "/")
text = text.replace(".I", "/")
text = text.replace("I'", "/")
text = text.replace("J", "/")
return text
В конечном счете порождает:
ConvertPPTextToReadableNumbers return text = 18/20
ConvertPPTextToReadableNumbers return text = 0/5
ConvertPPTextToReadableNumbers return text = 10/10
ConvertPPTextToReadableNumbers return text = 20/20
'-psm 10' для одного распознавания символов, вы можете попробовать' ПСМ 7' (одна строка текста) Ссылка: https://github.com/tesseract-ocr/tesseract/wiki/Command-Line -Usage – Gwen
Я оставил там несколько деталей, что я сделал с psm 10, это попытка вырезать первый символ, а затем использовать psm 10. Я был успешно способен вырезать первый символ иногда, но он был непоследовательным.Даже когда я могу собрать все 8, он будет интерпретироваться как: или что-то еще. И другие герои тоже не прошли. Даже когда я сам вывожу 0, он проходит через пробел. – LampShade
Используя psm 7, он постоянно читает «0 \ 5» как DIS, который, честно говоря, может быть достаточно хорош для моего худшего случая. Я могу просто проверить D, и я буду знать, что это 0 /. Если у кого-то еще есть лучшее решение, не стесняйтесь звонить. Мне жаль, что не было способа сказать «Интерпретировать все как цифры» – LampShade