如何以结构化格式将图像中提取的文本存储在txt / doc文件中

时间:2019-03-28 12:43:15

标签: python-3.x pandas ocr google-vision

我想从图像中提取文本(它是银行交易对帐单),所以我成功完成了。但这给了我原始数据。不是图像中显示的结构化格式。

我尝试通过与他们的顶点玩来做到这一点。但是我刚刚发现以列表格式获得“描述”和“顶点”值。如何进一步将其以结构良好的格式保存在doc / txt文件中?

我的代码:

os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="C:\\Users\\...."
client = ImageAnnotatorClient()
list1=[]
list2=[]
def detect_text(Image_path):
    with io.open(Image_path, 'rb') as image_file:
        content = image_file.read()

    image = vision.types.Image(content=content)
    response = client.text_detection(image=image)
    web_content = response.web_detection
    web_content.best_guess_labels

    texts = response.text_annotations

    for text in texts:
        #print (text)
        for vertex in text.bounding_poly.vertices:

            list1.append(vertex)

        b=[text.description for text in texts]

    list2=b[1:]
    print(list2)
    print(list1)
detect_text(Image_path)

我得到这样的输出:

['IDBI', 'BANK', 'Customer', 'ID'......]
[x: 229
y: 241
, x: 2331
y: 241
, x: 2331
y: 3350
, x: 229
...
...
]

但是可以预期:以银行对帐单的形式获得输出看起来是相似的,即结构化格式。我可以顺利保存并显示在txt / doc文件中

1 个答案:

答案 0 :(得分:0)

我建议您使用textract库而不是其他任何东西。

参考链接-https://textract.readthedocs.io/en/stable/

希望这会有所帮助。