Проблема с форматированным текстом в Google Vision document_text - PullRequest
0 голосов
/ 05 апреля 2019

Я использую видения GCP document_text_detection для извлечения содержимого из квитанции. Вывод не в структурированном формате.

Я пытался получить структурированный формат, используя строки и ширину / высоту слов, но форматирование не соответствует ожиданиям

response = client.document_text_detection(image=image)
items = []
lines = {}

for text in response.text_annotations[1:]:
    top_x_axis = text.bounding_poly.vertices[0].x
    top_y_axis = text.bounding_poly.vertices[0].y
    bottom_y_axis = text.bounding_poly.vertices[3].y

    if top_y_axis not in lines:
        lines[top_y_axis] = [(top_y_axis, bottom_y_axis), []]

    for s_top_y_axis, s_item in lines.items():
        if top_y_axis < s_item[0][1]:
            lines[s_top_y_axis][1].append((top_x_axis, text.description))
            break

for _, item in lines.items():
    if item[1]:
        words = sorted(item[1], key=lambda t: t[0])
        items.append((item[0], ' '.join([word for _, word in words]), words))

alllines=[]
for i in range(len(items)):
    alllines.append(items[i][1])

print(alllines)

Я ожидаю

['DOLLAR TREE (828) 883-2495',
'#3191',
'108 Store Chestnut Street',
'Suite 2',
'Brevard NC 28712-3775',
'DESCRIPTION QTY PRICE TOTAL',
'GOURMET MILKSHAKE MIXED NUT 1.00 1.00T',
'ENERGY DRINKS 1.00 1.00T',
'GATORADE 1.00 1.00T',
'CHDR POT SKINS 1.00 1.00T',
'Sub Total $ 5.00',
'FOOD TAX $ 0.06',
'SALES TAX $ 0.14',
'$ 5.20'] 

, нофактический выход составляет

['DOLLAR TREE ( 828 ) 883 - 2495',
 '# 3191',
 '108 Store Chestnut Street',
 'Suite 2',
 'Brevard NC 28712 - 3775',
 'DESCRIPTION QTY PRICE TOTAL',
 'GOURMET MILKSHAKE MIXED NUT 1 1 . . 00 00 1 1 . . 00T 00T',
 'ENERGY DRINKS 1 . 00 1 . 00T',
 'GATORADE 1 . 00 1 . 00T',
 'CHDR POT SKINS 1 . 00 1 . 00T',
 'Sub Total $ 5 . 00',
 'FOOD TAX $ 0 . 06',
 'SALES TAX $ 0 . 14',
 '$ 5 . 20']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...