frp писал(а): ↑24.07.2009 19:38
Если делать OCR для нормальных людей, то алгоритм вполне нормальный, но если делать программу для чтения отсканированых текстов, которые сканировал типичный ламер, то там всякое возможно.
А еще сложнее антикапча - там в слове буквы могут быть повернуты как угодно (здесь, правда, можно использовать и медленный алгоритм - символов обычно не больше десятка).
А все таки где взять инфу по когнитрону?
А не важно, кто сканировал:
1. Детектировать строки текста
2. Распознавать буквы, считая, что они перпендикулярны строкам.
3. Если не вышло, тогда медленно перебираем различные повороты.
Этот алгоритм и по файнридеру заметен - он поворачивает картинку так, чтобы строки были горизонтальны.
Ну, а антикапча - другой разговор, там не текст на несколько тысяч знаков, а всего-то 4-20 символов. Тут задача совсем другая и подход к ней нужен другой. Пересекающиеся буквы, буквы из точек, пунктирных линий, объемные контурные буквы... В общем, задача совсем другая.