Распознавание текста на картинке

мне видится такой алгоритм:
1. Фильтрация. Нужно научиться распознавать, относится пиксель к тексту или нет. Возможные цвета текста нам известны, так что по значениям r g b пикселя сделать это не трудно. Тем более что фон тёмный, его значеня r g b должны сильно отличаться.

2. Найти строки. Начинаем анализ картинки с верхнего левого пикселя, двигаемся построчно. Анализировать строку не обязательно целиком, если мы после 50-го (к примеру) пикселя не встретили текст, логично предположить, что в этой строке пикселей нет текста. Если на пути встретится пиксель, относящийся к тексту - значит мы нашли верхнюю координату y i-ой строки. Далее ищем нижнюю координату y сточки текста (пока на пути встречаются пиксели цвета текста, значит строка не кончилась). Зная стандартную высоту строки, задачу можно упростить.

3. Найти символы. Поочерёдно анализируем все найденные строки текста. Регион, заключающий в себя строку текста, анализируем от верхнего левого пикселя, двигаемся сверху вниз. Аналогично пункту 2 находим левую и правую координаты x каждого символа.
(исключение составляет символ ", у него есть сквозной просвет по вертикали. Возможно есть и другие подобные символы)

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

Добавлено через 9 минут
Взглянул на прилагаемый скрин из линейки. Если хорошо настроить фильтр, чтобы отличать пиксель символа от шума, который ореолом окружает каждый символ, то они всегда будут выглядеть одинаково, и распознавание не составит труда. А если сделать разрешения экрана меньше, то все объекты должны стать крупнее, шума должно стать меньше.

Добавлено через 1 час 7 минут
хотя на счёт разрешения экрана, кажется, я ошибся...

0