Найти - Пользователи
Полная версия: Распознавание отсканированной таблицы
Начало » Центр помощи » Распознавание отсканированной таблицы
1
kefirko
Добрый день.
Может кто сможет подсказать, в какую сторону копать…
Задача следующая: монтажник изготавливает изделие, и пишет на листке А4 в предзаполненную таблицу сколько и чего он использовал при производстве этого изделия (см. пример таблицы во вложении). Далее данные из этой таблички мастером участка заносятся в БД. Тратит он на это полдня, потому что бумажек очень много.
Хочу упростить жизнь мастеру и реализовать следующий механизм: монтажник заполняет таблицу на листке, потом отдает ее мастеру. Тот несет ее в сканер, сканирует в правильную сетевую папку. В конце рабочего дня мастер запускает нужную программу, которая смотрит в ту самую папку и анализирует отсканированные документы. Задача получить электронную версию таблицы, которую позже можно будет парой кликов загрузить в БД.
Всё могу кроме “распознать изображение таблицы и создать ее электронную версию”.
Прошу подсказать инструменты для реализации этой части алгоритма.
PEHDOM
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
py.user.next
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 день”, чтобы туда, поверив в эту туфту, мечтатели о больших зарплатах несли деньги, пока лапша всё ещё висит на ушах. А на самом деле программирование - это и сложно, и рутинно. Даже без всяких гениальных алгоритмов ты будешь работать как Папа Карло и нифига не будет получаться.

Так что сделай распознаватель одной цифры. Если получится, сделай распознаватель нескольких цифр. Если получится, сделай разрезалку числа на блоки. Если получится, сделай разрезалку детали на имя и число. Если получится, сделай разрезалку листа на детали. Так ты постепенно придёшь к решению этой задачи в целом.
Если же ты даже одну цифру не сможешь распознать, то задача неподъёмная. Мечтать не вредно.
doza_and
kefirko
Может кто сможет подсказать, в какую сторону копать
Написать приложение для мобилы в котором таблица слесарями забивается и отсылается мастеру.
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