Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 19, 2021 16:09:31

kefirko
Зарегистрирован: 2021-12-19
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Распознавание отсканированной таблицы

Добрый день.
Может кто сможет подсказать, в какую сторону копать…
Задача следующая: монтажник изготавливает изделие, и пишет на листке А4 в предзаполненную таблицу сколько и чего он использовал при производстве этого изделия (см. пример таблицы во вложении). Далее данные из этой таблички мастером участка заносятся в БД. Тратит он на это полдня, потому что бумажек очень много.
Хочу упростить жизнь мастеру и реализовать следующий механизм: монтажник заполняет таблицу на листке, потом отдает ее мастеру. Тот несет ее в сканер, сканирует в правильную сетевую папку. В конце рабочего дня мастер запускает нужную программу, которая смотрит в ту самую папку и анализирует отсканированные документы. Задача получить электронную версию таблицы, которую позже можно будет парой кликов загрузить в БД.
Всё могу кроме “распознать изображение таблицы и создать ее электронную версию”.
Прошу подсказать инструменты для реализации этой части алгоритма.

Отредактировано kefirko (Дек. 19, 2021 16:10:48)

Прикреплённый файлы:
attachment Образец таблицы.xls (30,5 KБ)

Офлайн

#2 Дек. 19, 2021 16:48:57

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Распознавание отсканированной таблицы

kefirko вы уверены что хотите изобретать велосипед? есть причина почему нельзя использовать файнридер или другое готовое ПО по распознаванию текста умеющее работать в пакетном режиме?

https://analyticsindiamag.com/how-to-use-opencv-to-extract-information-from-table-images/
https://levelup.gitconnected.com/text-extraction-from-a-table-image-using-pytesseract-and-opencv-3342870691ae



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Дек. 19, 2021 20:43:23)

Офлайн

#3 Дек. 19, 2021 22:19:31

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Распознавание отсканированной таблицы

kefirko
монтажник изготавливает изделие
В смысле собирает? Изготавливает слесарь.

Если цифры такие почтовые типа, то можно проанализировать попиксельно.
pillow. Image.getpixel()

Делаешь распознаватель каждой цифры. Дальше сканируешь изображение и нарезаешь его на блоки. После нарезки у тебя известно, какой блок по счёту какую деталь обозначает. И так у тебя получатся структуры, состоящие из имени детали и картинки с набором почтовых цифр. Дальше эта картинка с почтовыми цифрами берётся и нарезается на цифры, позиции которых тоже пронумеровываются. И так у тебя получаются структуры, состоящие из разряда цифры и картинки с одной цифрой. И после этого ты к этой одной цифре применяешь распознаватель одной цифры. Таким образом, у тебя получается структура структур.
деталь
{
имя_детали
{
имя Болт
}
число_деталей
{
разряд1
{
цифра 0
}
разряд2
{
цифра 0
}
разряд3
{
цифра 0
}
разряд4
{
цифра 0
}
разряд5
{
цифра 0
}
разряд6
{
цифра 0
}
разряд7
{
цифра 1
}
разряд8
{
цифра 5
}
}
}
деталь
{
имя_детали
{
имя Шайба
}
число_деталей
{
разряд1
{
цифра 0
}
разряд2
{
цифра 0
}
разряд3
{
цифра 0
}
разряд4
{
цифра 0
}
разряд5
{
цифра 0
}
разряд6
{
цифра 1
}
разряд7
{
цифра 2
}
разряд8
{
цифра 8
}
}
}
Естественно, нужно будет написать множество скриптов для всего этого, а потом соединить их в единую систему.

Новичкам может казаться, что всё должно быть просто. Но эту туфту втирают через рекламу говношкол из каждого чайника и утюга в стиле “программирование за 21 день”, чтобы туда, поверив в эту туфту, мечтатели о больших зарплатах несли деньги, пока лапша всё ещё висит на ушах. А на самом деле программирование - это и сложно, и рутинно. Даже без всяких гениальных алгоритмов ты будешь работать как Папа Карло и нифига не будет получаться.

Так что сделай распознаватель одной цифры. Если получится, сделай распознаватель нескольких цифр. Если получится, сделай разрезалку числа на блоки. Если получится, сделай разрезалку детали на имя и число. Если получится, сделай разрезалку листа на детали. Так ты постепенно придёшь к решению этой задачи в целом.
Если же ты даже одну цифру не сможешь распознать, то задача неподъёмная. Мечтать не вредно.



Отредактировано py.user.next (Дек. 19, 2021 22:37:33)

Офлайн

#4 Дек. 20, 2021 07:15:28

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

Распознавание отсканированной таблицы

kefirko
Может кто сможет подсказать, в какую сторону копать
Написать приложение для мобилы в котором таблица слесарями забивается и отсылается мастеру.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version