Разработка механизма OCR с открытым исходным кодом специально для визуализированного текста (скриншоты)

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

Проведя весь вечер в поисках различных OCR-решений, я пришел к выводу, что большинство OCR-пакетов предназначены для отсканированного текста. Если и существуют какие-либо пакеты, которые могут надежно считывать экранный текст, то они значительно превышают бюджет этого любителя.

Я читал некоторые другие вопросы, и самым близким, который я нашел, были движки OCR, предназначенные для чтение с экрана.

Мне кажется, что читать отрендеренный текст должно быть намного проще, чем печатный и отсканированный текст. Линии всегда прямые, и любая данная буква всегда будет отображаться с одним и тем же представлением пикселей (в любом случае, в основном). Кроме того, почему бы не использовать фактический файл шрифта (если он у вас есть) в качестве шпаргалки для распознавания символов? С такой системой мы могли бы достичь 100% точности.

Предполагая, что у вас есть файл шрифта для шпаргалки, а исходное изображение идеально квадратное и не содержит шума, как вы будете распознавать символы с экрана?

(Проблемы, которые я могу предвидеть, — это линии пользовательского интерфейса и изображения, которые могут запутать любую грубую попытку угадать пиксели.)

Если вы уже знаете о бесплатном пакете OCR с открытым исходным кодом, предназначенном для чтения с экрана, сообщите мне об этом. Я немного сомневаюсь, что это обнаружится, поскольку никто из других искателей, похоже, тоже не получил зацепку.

Интерфейс Python предпочтительнее, но нищие не могут выбирать.

РЕДАКТИРОВАТЬ:
Чтобы уточнить, я ищу предложения по дизайну для решения OCR, которое специально разработано для чтения текста со скриншотов. Популярные инструменты, такие как tesseract (упомянутые в вопросе, который я связал), в лучшем случае трудно использовать, потому что они не предназначены для исходного файла такого типа.


person Hovis Biddle    schedule 27.12.2010    source источник
comment
Мой босс однажды придумал термин, который мне нравится для этого — очевидное распознавание персонажей.   -  person MK.    schedule 27.12.2010
comment
Ха! Мне нравится этот термин, особенно потому, что он применим. Жаль, что он сталкивается с другим аббревиатурой, иначе я бы использовал его для этого.   -  person Hovis Biddle    schedule 27.12.2010
comment
Привет @Hovis, у тебя есть это? У вас есть ссылка на ваш проект с открытым исходным кодом?   -  person Fernando Freitas Alves    schedule 11.04.2014
comment
Нет, я никогда к этому не прикасался.   -  person Hovis Biddle    schedule 18.04.2014


Ответы (3)


Итак, я подумал об этом и чувствую, что лучшим подходом будет подсчет количества пикселей в каждом пятне/глифе/символе. Это действительно должно сократить количество тестов, которые мне нужно провести, чтобы различать глифы.

К сожалению, мне придется быть очень конкретным в отношении шрифтов. Программное обеспечение сможет распознавать шрифты только с правильным разрешением, для правильного шрифта и толщины и т. д.

Это не идеально, и я все еще хотел бы видеть кого-то, кто знает больше об этом, проектирует OCR для визуализированного текста; но это будет работать для моего ограниченного случая.

person Hovis Biddle    schedule 31.12.2010

Если ваша цель состоит в том, чтобы подсчитать появление определенных событий в игре, OCR — не лучший способ для этого. Тем не менее, если вы решили использовать OCR, то tesseract-OCR — это хорошо. -известный пакет с открытым исходным кодом для выполнения оптического распознавания символов. Я не совсем уверен, что вы имеете в виду в отношении отсканированного и обработанного текста, но tesseract, вероятно, будет работать так же хорошо, как и любой доступный пакет с открытым исходным кодом. OCR по-прежнему сложное искусство, поэтому я не ожидаю 100% точности.

person Michael Aaron Safyan    schedule 27.12.2010
comment
Я пытался использовать тессеракт все утро, и это не выход. Он страдает от той же проблемы, поскольку предназначен для большого отсканированного текста. (Т.е. с высоким разрешением, но, вероятно, грязный текст) - person Hovis Biddle; 27.12.2010

Это не совсем то, что вам нужно, но вы можете взглянуть на Sikuli.

person Dustin Wyatt    schedule 28.12.2010
comment
Хм, это выглядит очень круто. Это действительно не то, что мне нужно, но я, вероятно, закончу тем, что поиграю с этим. Спасибо! - person Hovis Biddle; 29.12.2010
comment
Для справки в будущем эта ссылка на bit.ly фактически ведет на sikuli.org. Зачем вообще использовать сокращатель ссылок? - person SilverWolf; 07.04.2019
comment
@SilverWolf Кто знает, я написал этот ответ почти десять лет назад! - person Dustin Wyatt; 07.04.2019