Найти - Пользователи
Полная версия: Распознавание данных с изображения
Начало » Python для экспертов » Распознавание данных с изображения
1 2
d3z0x77+rsmqbc
У меня есть некоторое количество листов с напечатанными на них таблицами, некоторые данные из этих таблиц нужно внести в БД.
Вопрос в том, можно ли это как-то реализовать?

Я знаю, что вроде есть системы распознавания текста с изображения, просто вопрос в том, что данные в таблице содержатся и добавлять нужно не все, а по определённому условию.
Я сейчас хочу определиться возможно-ли это вообще?
doza_and
d3z0x77+rsmqbc
возможно-ли это вообще
А какие сомнения? Наймите людей и они вам таблицы набъют. Распознавание конечно тоже возможно, но вполне вероятны ошибки. Если надо не все, напишете скрипт который выберет из всего то что вам надо.

Смотрите Opencv. А можно и просто finereader использовать.
d3z0x77+rsmqbc
doza_and
Наймите людей и они вам таблицы набъют.
Там тонна листов.
doza_and
Если надо не все, напишете скрипт который выберет из всего то что вам надо.
Вот у меня как раз вопрос можно будет или нет выбрать. Просто соль в том, что я не представляю в каком виде вернутся данные.

Подскажите пожалуйста, если на пример распознавать текст с помощью Opencv, в каком виде вернутся данные? То есть как-то можно будет отсортировать данные, там соль в том, что если данных в одном из столбцов нет, то эту запись заносить в бд не нужно.
Alen
Есть ли пример изображения?
d3z0x77+rsmqbc
Сейчас под рукой в сожалению нет. Ну в общих чертах, могу описать. На листе располагается таблица и несколько колонок, в первых двух идут кодовые номера (то есть несколько чисел тире и ещё числа), в других колонках просто числа.
Что ещё описать не знаю.
doza_and
d3z0x77+rsmqbc
в каком виде вернутся данные
Ну в finereader можно скинуть текст или html
d3z0x77+rsmqbc
doza_and
Если использовать finereader, то вопрос в том, если ли к нему какие либо привязки у python, чтобы процесс распознавания автоматизировать.
Alen
d3z0x77+rsmqbc
doza_andЕсли использовать finereader, то вопрос в том, если ли к нему какие либо привязки у python, чтобы процесс распознавания автоматизировать.

Ну а зачем они вам, можете просто передавать в командную строку параметры (модуль subprocess).
Помимо finereader есть cuniform.
Если данные однотипны и шрифт один, можно вообще использовать обыкновенный PIL.
Алгоритм простой: бинаризация -> нахождение символов путем сравнивания с эталонными символами методом скользящего окна -> постобработка(склеивание слов из символов в зависимости от x,y координат)
Если есть разные вариации то можно находить краевые точки алгоритмами SIFT/SURF и обучать нейронку или SVM.
Есть и другие варианты распознания, тема большая, пока не увидишь что распознавать – пальцем в небо.

d3z0x77+rsmqbc
Alen
doza_and
http://yadi.sk/d/ltzeU1WOK7atW
Вот пример документа который нужно распознать, пробовал распознавать finereader, он цифру 4 стабильно не понимает и распознает криво. И ещё другие некоторые символы тоже плохо понимает. Подскажите вот такой документ можно с обработать ocr и получить, хорошие результаты? Просто я подозреваю, что шрифт этот плохо распознается.
Alen
Шрифт обыкновенный ГОСТовский либо АСКОНовский (скорее всего) либо OpenGost.
Основные сложности масштаб и поворот. Необходимо создать базу изображений для всех символов шрифта, далее методом скользящего окна сравнивать предварительно бинаризованое изображение с образцами при ошибке меньше порогового уровня считать что символ распознан. Образцы желательно делать тоньше чем они есть на самом деле. Для борьбы с поворотом можно распознавать линии (например SimpleCV findLines) и учитывать угол их наклона, другой способ преобразовать образцы и тестируемое окно изображение к полярным координатам, что элиминирует повороты.
Работать будет медленно, потом можно будет оптимизировать.
Кстати это кусок спецификации от какой ракеты?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB