OCRTools - это то, что я использую для .net
Для Java я использовал Aspire в прошлом, это очень хорошо, хотя и немного страшно. Я много слышал о тессеракт , вы можете также проверить это.
Если вас смущает ответ: то, что вы ищете, - это API / SDK программного обеспечения для оптического распознавания символов. То, что вы задали в вопросе, указывает на создание OCR с нуля. Это требует понимания обработки изображений (в основном распознавания объектов).