Чтение символа из изображения

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

Скажите, что у меня есть изображение - employee1.jpg. Это изображение будет иметь два две рукописных записи - число Сотрудника и сумма, которая будет выплачена сотруднику. Я должен считать число сотрудника из изображения и запросить базу данных для, что число, обновите сотрудника с суммой, которая будет заплачена, как получено от изображения. Оба число сотрудника и сумма, которая будет заплачена, записаны внутренние два поля в указанном месте на изображении.

Есть ли любой способ автоматизировать это. В основном я хочу решение в .NET с помощью c#. Я знаю, что это может быть сделано с помощью искусственных нейронных сетей.

Любые идеи очень ценились бы.

7
задан Nathan Taylor 10 June 2010 в 06:37
поделиться

5 ответов

Есть LeadTools SDK для OCR / ICR. Это очень удобно для распознавания рукописных символов. Я делаю технико-экономическое обоснование с этим, и до сих пор думаю, что это получится. leadTools предоставляет компоненты, которые можно использовать в вашем приложении, он поддерживает C, C ++, C #, VB.Net и т. д.

Для этого вы можете перейти по следующей ссылке: http://www.leadtools.com/downloads/default.htm?category=

1
ответ дан 7 December 2019 в 07:40
поделиться

Распознавание образов является основным примером изучения нейронных сетей. Я не знаю, есть ли какая-нибудь библиотека / фреймворк для работы с AI на C #. Если вы его найдете, сначала вам нужно обучить сеть (обучение с учителем), а для этого вам нужно подготовить большой набор образцов изображений; больше примеров -> результат точнее. С другой стороны, вы можете использовать OpenCV (C / C ++, Python и Java), который представляет собой библиотеку, специализирующуюся на компьютерном зрении и имеющую модуль для реализации методов искусственного интеллекта.

Хорошего дня! Оскар.

1
ответ дан 7 December 2019 в 07:40
поделиться

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

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

Я считаю, что автоматизировать этот процесс невозможно. По крайней мере, вы можете написать программу в помощь человеку, введя значения вручную (также посмотрите Amazon Mechanical Turk ):

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

Чтобы сделать этот процесс быстрым и плавным, вы должны очень позаботиться о том, чтобы пользователь мог легко вводить значения, просто используя клавиатуру:

  • При отображении нового изображения установите фокус на текстовое поле id.
  • Если идентификатор пользователя всегда имеет определенную длину, переключитесь в следующее поле, если введены все числа.
    • (Если вы разрешите это, возврат в пустом следующем поле должен вернуться к предыдущему)
  • В противном случае разрешите переход к следующему текстовому полю, нажав вкладку или return
  • Обычно эти текстовые поля расположены друг над другом (не бок о бок), поэтому вы должны поддерживать переключение между ними с помощью клавиш со стрелками вверх и вниз.
  • После завершения ввода в последнем текстовом поле автоматически отображается следующее изображение.
    • Также в этом случае новой новой записи (ничего уже не введено) можно легко вернуться к старой записи, используя клавишу возврата или стрелку влево).

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

Последнее предложение:
Потому что это утомительный процесс для человека, который легко может привести к ошибкам, возможно, пусть два человека вводят эти значения, и только если оба вводят одно и то же, принимайте это значение как одобренное. Это должно привести к правильному показателю где-то выше 99%. Если вам нужно абсолютно 100%, подумайте о том, чтобы позволить 4-5 людям проверять одну запись, и только если все они вводят одинаковые значения, считайте ее одобренной.Чтобы получить также сравнение того, насколько хорошим будет ваше программное обеспечение ocr, просто позвольте ему также просмотреть ваши изображения и сравнить эти результаты с введенными человеком значениями, чтобы получить представление, когда вы действительно можете полагаться только на свою ocr.

1
ответ дан 7 December 2019 в 07:40
поделиться

Вы можете использовать библиотеку изображений документов Microsoft Office (MODI), которая содержится в Office 2003/2007.

Ссылки:

3
ответ дан 7 December 2019 в 07:40
поделиться

Механизмы распознавания текста не обучены читать рукописный текст, поэтому у вас могут возникнуть проблемы с MODI. Вы хотите попробовать найти механизм ICR. Тем не менее, лучшие из них имеют точность только на 80% при хороших входных данных. Возможно, вам станет лучше, потому что вы знаете, что ваш текст всегда состоит из чисел.

В этом вопросе / ответе SO говорится, что OCROpus имеет ICR

FOSS Intelligent Character Recognition (ICR)

1
ответ дан 7 December 2019 в 07:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: