Советы по использованию OCR на изображении доски - PullRequest
1 голос
/ 18 мая 2010

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

Ответы [ 6 ]

4 голосов
/ 23 июня 2010

Вы уже пробовали программное обеспечение OCR? Вполне вероятно, что программное обеспечение OCR хорошо подходит для чтения того, что по сути уже является черно-белым изображением.

Однако, если вам необходимо сделать это, вы можете попробовать:

  1. Порог изображения.
    • По существу возьмите версию изображения в оттенках серого и превратите ее в черные / белые пиксели
  2. Выполните двоичную дилатацию, чтобы вырастить оставшиеся объекты
  3. Выполнить бинарную эрозию

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

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

Единственные тексты, которые у меня есть, относятся к 1997 году, но, безусловно, с тех пор на эту тему написано больше.

  • Алгоритмы обработки изображений и компьютерного зрения - J.R. Parker
  • Цифровая обработка изображений - Гонсалес / Вудс
1 голос
/ 23 июня 2010

Не уверен, насколько вы ограничены в выборе решения для оптического распознавания символов, но механизм распознавания текста ABBYY (и веб-API на его основе, http://www.wisetrend.com/wisetrend_ocr_cloud.shtml) включает в себя параметры автоматической очистки изображения / удаления текстуры.

1 голос
/ 18 мая 2010

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

1 голос
/ 18 мая 2010

В Photoshop диалоговое окно Уровни может быть наиболее полезной для вас настройкой изображения. Подражание этому в коде - совсем другая тема.

Основой уровней является то, что вы настраиваете максимальные, минимальные и средние значения уровней яркости. Обычно показанные на гистограмме, вы настраиваете точки таким образом, чтобы получить желаемый уровень контрастности, но также перемещаете среднюю точку так, чтобы текст на изображении был наиболее четким; критично для приложений OCR. Перемещая среднюю точку, вы можете «устранить» размытие серого, которое обычно окружает почерк, заставляя его исчезать в светлых (или темных) областях изображения.

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

1 голос
/ 18 мая 2010

Не так, я бы сказал, инвертируйте изображение (поменяйте цвета, чтобы надпись была черно-белой) и немного увеличьте контраст. Вы можете попробовать изменить яркость, чтобы стертый мел исчезал на заднем плане.

0 голосов
/ 18 мая 2010

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

...