Я попробовал то, что вы сказали, но он пытается клубиться с не табличными данными :(
я есть файлы счетов, я хочу найти таблицу в каждом счете. эта позиция таблицы не будет постоянной. Итак, я пришел к обработке изображений. Сначала я попытался преобразовать свой счет в изображение. затем я нашел контур на основе границ таблицы и наконец занял позицию таблицы. Я использовал приведенный ниже код для достижения своей цели.
with Image(page) as page_image:
page_image.alpha_channel = False #eliminates transperancy
img_buffer=np.asarray(bytearray(page_image.make_blob()), dtype=np.uint8)
img = cv2.imdecode(img_buffer, cv2.IMREAD_UNCHANGED)
ret, thresh = cv2.threshold(img, 127, 255, 0)
im2, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
margin=[]
for contour in contours:
# get rectangle bounding contour
[x, y, w, h] = cv2.boundingRect(contour)
# Don't plot small false positives that aren't text
if (w >thresh1 and h> thresh2):
margin.append([x, y, x + w, y + h])
#data cleanup on margin to extract required position values.
В этом кодеthresh1
, thresh2
Я буду обновлять на основе файла.
Таким образом, используя этот код, я могу успешно читать позиции таблиц на изображениях, используя эту позицию, я буду работать с моим PDF-файлом счета. Например
Образец 1:
Образец 2:
Выход:
Образец 1:
Образец 2:
Образец 3:
Но теперь у меня есть новый формат, который не имеет границ, но это таблица. Как это решить? Потому что вся моя работа полностью зависит от границ таблицы. Но сейчас у меня нет границ таблицы. Как мне этого добиться? Поскольку я новичок в обработке изображений, я не имею ни малейшего представления об этой проблеме. У меня вопрос, есть ли способ найти позицию, основанную на структуре таблицы?
Например, моя проблема ввода выглядит ниже:
Я хотел бы найти это poistion как ниже:
Как я могу решить это? Это действительно заметно, чтобы дать мне идею решить эту проблему.
Заранее спасибо.