Уведомления

Группа в Telegram: @pythonsu

#1 Март 5, 2014 17:47:49

d3z0x77+rsmqbc
Зарегистрирован: 2014-01-21
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

У меня есть некоторое количество листов с напечатанными на них таблицами, некоторые данные из этих таблиц нужно внести в БД.
Вопрос в том, можно ли это как-то реализовать?

Я знаю, что вроде есть системы распознавания текста с изображения, просто вопрос в том, что данные в таблице содержатся и добавлять нужно не все, а по определённому условию.
Я сейчас хочу определиться возможно-ли это вообще?

Офлайн

#2 Март 5, 2014 18:46:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

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

Смотрите Opencv. А можно и просто finereader использовать.



Отредактировано doza_and (Март 5, 2014 18:47:38)

Офлайн

#3 Март 5, 2014 18:52:26

d3z0x77+rsmqbc
Зарегистрирован: 2014-01-21
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

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

Подскажите пожалуйста, если на пример распознавать текст с помощью Opencv, в каком виде вернутся данные? То есть как-то можно будет отсортировать данные, там соль в том, что если данных в одном из столбцов нет, то эту запись заносить в бд не нужно.

Отредактировано d3z0x77+rsmqbc (Март 5, 2014 19:21:41)

Офлайн

#4 Март 5, 2014 19:38:48

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

Есть ли пример изображения?

Офлайн

#5 Март 5, 2014 19:45:04

d3z0x77+rsmqbc
Зарегистрирован: 2014-01-21
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

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

Офлайн

#6 Март 5, 2014 20:13:06

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

d3z0x77+rsmqbc
в каком виде вернутся данные
Ну в finereader можно скинуть текст или html



Офлайн

#7 Март 5, 2014 20:24:18

d3z0x77+rsmqbc
Зарегистрирован: 2014-01-21
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

doza_and
Если использовать finereader, то вопрос в том, если ли к нему какие либо привязки у python, чтобы процесс распознавания автоматизировать.

Офлайн

#8 Март 5, 2014 20:47:42

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

d3z0x77+rsmqbc
doza_andЕсли использовать finereader, то вопрос в том, если ли к нему какие либо привязки у python, чтобы процесс распознавания автоматизировать.

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

Офлайн

#9 Март 7, 2014 13:07:59

d3z0x77+rsmqbc
Зарегистрирован: 2014-01-21
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

Alen
doza_and
http://yadi.sk/d/ltzeU1WOK7atW
Вот пример документа который нужно распознать, пробовал распознавать finereader, он цифру 4 стабильно не понимает и распознает криво. И ещё другие некоторые символы тоже плохо понимает. Подскажите вот такой документ можно с обработать ocr и получить, хорошие результаты? Просто я подозреваю, что шрифт этот плохо распознается.

Отредактировано d3z0x77+rsmqbc (Март 7, 2014 13:09:27)

Офлайн

#10 Март 7, 2014 17:47:35

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Распознавание данных с изображения

Шрифт обыкновенный ГОСТовский либо АСКОНовский (скорее всего) либо OpenGost.
Основные сложности масштаб и поворот. Необходимо создать базу изображений для всех символов шрифта, далее методом скользящего окна сравнивать предварительно бинаризованое изображение с образцами при ошибке меньше порогового уровня считать что символ распознан. Образцы желательно делать тоньше чем они есть на самом деле. Для борьбы с поворотом можно распознавать линии (например SimpleCV findLines) и учитывать угол их наклона, другой способ преобразовать образцы и тестируемое окно изображение к полярным координатам, что элиминирует повороты.
Работать будет медленно, потом можно будет оптимизировать.
Кстати это кусок спецификации от какой ракеты?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version