gpt4 book ai didi

python - 使用 Google Cloud Vision API 从申请表中提取手写文本

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:12 26 4
gpt4 key购买 nike

我想使用 Google Vision API 的文本检测功能从申请表中提取手写文本。它极大地提取了手写文本,但给出了非常无组织的 JSON 类型响应,我不知道如何解析它,因为我只想提取特定字段,如姓名、联系电话、电子邮件等,并将它们存储到 MySQL 数据库中。

代码(https://cloud.google.com/vision/docs/detecting-fulltext#vision-document-text-detection-python):

def detect_document(path):
"""Detects document features in an image."""
from google.cloud import vision
client = vision.ImageAnnotatorClient()

with io.open(path, 'rb') as image_file:
content = image_file.read()

image = vision.types.Image(content=content)

response = client.document_text_detection(image=image)

for page in response.full_text_annotation.pages:
for block in page.blocks:
print('\nBlock confidence: {}\n'.format(block.confidence))

for paragraph in block.paragraphs:
print('Paragraph confidence: {}'.format(
paragraph.confidence))

for word in paragraph.words:
word_text = ''.join([
symbol.text for symbol in word.symbols
])
print('Word text: {} (confidence: {})'.format(
word_text, word.confidence))

#for symbol in word.symbols:
# print('\tSymbol: {} (confidence: {})'.format(
# symbol.text, symbol.confidence))

Input Image

API 响应:

'Block confidence: 0.9900000095367432

Paragraph confidence: 0.9900000095367432
Word text: A (confidence: 0.9900000095367432)
Word text: . (confidence: 0.9900000095367432)
Word text: Bank (confidence: 0.9900000095367432)
Word text: Challan (confidence: 0.9900000095367432)
Paragraph confidence: 0.9900000095367432
Word text: Bank (confidence: 0.9900000095367432)
Word text: Branch (confidence: 0.9800000190734863)

Block confidence: 0.44999998807907104

Paragraph confidence: 0.44999998807907104
Word text: ca (confidence: 0.44999998807907104)

Block confidence: 0.7099999785423279

Paragraph confidence: 0.7099999785423279
Word text: ABC (confidence: 0.9900000095367432)
Word text: muitce (confidence: 0.5699999928474426)

Block confidence: 0.7400000095367432

Paragraph confidence: 0.7400000095367432
Word text: Deposit (confidence: 0.8700000047683716)
Word text: ID (confidence: 0.6700000166893005)
Word text: VOSSÁETM (confidence: 0.5400000214576721)
Word text: - (confidence: 0.7900000214576721)
Word text: 0055 (confidence: 0.9300000071525574)

Block confidence: 0.800000011920929

Paragraph confidence: 0.800000011920929
Word text: Deposit (confidence: 0.9800000190734863)
Word text: Date (confidence: 0.9200000166893005)
Word text: 14 (confidence: 0.47999998927116394)
Word text: al (confidence: 0.27000001072883606)
Word text: 19 (confidence: 0.800000011920929)

Block confidence: 0.9900000095367432

Paragraph confidence: 0.9900000095367432
Word text: ate (confidence: 0.9900000095367432)

Block confidence: 0.9900000095367432

Paragraph confidence: 0.9900000095367432
Word text: B (confidence: 0.9900000095367432)
Word text: . (confidence: 0.9900000095367432)
Word text: Personal (confidence: 0.9900000095367432)
Word text: Information (confidence: 0.9900000095367432)
Word text: : (confidence: 0.9900000095367432)
Word text: Use (confidence: 0.9900000095367432)
Word text: CAPITAL (confidence: 0.9900000095367432)
Word text: letters (confidence: 0.9900000095367432)
Word text: and (confidence: 0.9900000095367432)
Word text: leave (confidence: 0.9900000095367432)
Word text: spaces (confidence: 0.9900000095367432)
Word text: between (confidence: 0.9900000095367432)
Word text: words (confidence: 0.9900000095367432)
Word text: . (confidence: 0.9900000095367432)

Block confidence: 0.9100000262260437

Paragraph confidence: 0.8999999761581421
Word text: Name (confidence: 0.9900000095367432)
Word text: : (confidence: 0.9700000286102295)
Word text: MUHAMMAD (confidence: 0.9599999785423279)
Word text: HANIE (confidence: 0.9200000166893005)
Word text: Father (confidence: 0.9900000095367432)
Word text: (confidence: 0.9900000095367432)
Word text: s (confidence: 1.0)
Word text: Name (confidence: 0.9900000095367432)
Word text: : (confidence: 0.9900000095367432)
Word text: MUHAMMAD (confidence: 0.9100000262260437)
Word text: Y (confidence: 0.8399999737739563)
Word text: AQOOB (confidence: 0.8500000238418579)
Word text: Computerized (confidence: 0.9800000190734863)
Word text: NIC (confidence: 0.9900000095367432)
Word text: No (confidence: 0.5400000214576721)
Word text: . (confidence: 0.9100000262260437)
Word text: 77 (confidence: 0.8899999856948853)
Word text: 356 (confidence: 0.8100000023841858)
Word text: - (confidence: 0.699999988079071)
Word text: 5 (confidence: 0.8600000143051147)
Word text: 284 (confidence: 0.5699999928474426)
Word text: 345 (confidence: 0.800000011920929)
Word text: - (confidence: 0.41999998688697815)
Word text: 3 (confidence: 0.8199999928474426)
Paragraph confidence: 0.8999999761581421
Word text: D (confidence: 0.699999988079071)
Word text: D (confidence: 0.5600000023841858)
Word text: M (confidence: 0.6700000166893005)
Word text: m (confidence: 0.6600000262260437)
Word text: rrrr (confidence: 0.6600000262260437)
Word text: Gender (confidence: 0.9900000095367432)
Word text: : (confidence: 1.0)
Word text: Male (confidence: 0.9900000095367432)
Word text: Age (confidence: 0.9800000190734863)
Word text: : (confidence: 0.9700000286102295)
Word text: ( (confidence: 0.9399999976158142)
Word text: in (confidence: 0.9700000286102295)
Word text: years (confidence: 0.9900000095367432)
Word text: ) (confidence: 0.9599999785423279)
Word text: 24 (confidence: 0.6499999761581421)
Word text: Date (confidence: 0.9900000095367432)
Word text: of (confidence: 0.9900000095367432)
Word text: Birth (confidence: 0.9900000095367432)
Word text: ( (confidence: 0.12999999523162842)
Word text: 4 (confidence: 0.9399999976158142)
Word text: - (confidence: 0.8999999761581421)
Word text: 06 (confidence: 0.9100000262260437)
Word text: - (confidence: 0.7400000095367432)
Word text: 1999 (confidence: 0.5099999904632568)
Word text: Domicile (confidence: 0.9900000095367432)
Word text: ( (confidence: 0.949999988079071)
Word text: District (confidence: 0.9900000095367432)
Word text: ) (confidence: 0.9900000095367432)
Word text: : (confidence: 0.9599999785423279)
Word text: Mirpuskhas (confidence: 0.8399999737739563)
Word text: Contact (confidence: 0.9399999976158142)
Word text: No (confidence: 0.9100000262260437)
Word text: . (confidence: 0.9900000095367432)
Word text: 0333 (confidence: 0.9900000095367432)
Word text: - (confidence: 0.9800000190734863)
Word text: 7072258 (confidence: 0.9900000095367432)
Paragraph confidence: 0.9200000166893005
Word text: ( (confidence: 0.9900000095367432)
Word text: Please (confidence: 0.9900000095367432)
Word text: do (confidence: 0.9800000190734863)
Word text: not (confidence: 1.0)
Word text: mention (confidence: 0.9900000095367432)
Word text: converted (confidence: 0.949999988079071)
Word text: No (confidence: 0.9900000095367432)
Word text: . (confidence: 0.9900000095367432)
Word text: ) (confidence: 0.9800000190734863)
Word text: Postal (confidence: 0.9900000095367432)
Word text: Address (confidence: 0.9800000190734863)
Word text: : (confidence: 0.9900000095367432)
Word text: Wasdev (confidence: 0.9300000071525574)
Word text: Book (confidence: 0.8799999952316284)
Word text: Depo (confidence: 0.9599999785423279)
Word text: Digri (confidence: 0.9599999785423279)
Word text: Taluka (confidence: 0.9900000095367432)
Word text: jhuddo (confidence: 0.9700000286102295)
Word text: Disstri (confidence: 0.7599999904632568)
Word text: mes (confidence: 0.38999998569488525)
Word text: . (confidence: 0.1899999976158142)

Block confidence: 0.9399999976158142

Paragraph confidence: 0.9399999976158142
Word text: Sindh (confidence: 0.9700000286102295)
Word text: . (confidence: 0.75)

Block confidence: 0.9800000190734863

Paragraph confidence: 0.9800000190734863
Word text: Are (confidence: 0.9900000095367432)
Word text: You (confidence: 0.9900000095367432)
Word text: Government (confidence: 0.9800000190734863)
Word text: Servant (confidence: 0.9900000095367432)
Word text: : (confidence: 0.9900000095367432)
Word text: Yes (confidence: 0.9900000095367432)
Word text: ( (confidence: 0.9900000095367432)
Word text: If (confidence: 0.7599999904632568)
Word text: yes (confidence: 0.9700000286102295)
Word text: , (confidence: 0.9900000095367432)
Word text: please (confidence: 0.9900000095367432)
Word text: attach (confidence: 0.9900000095367432)
Word text: NOC (confidence: 0.9900000095367432)
Word text: ) (confidence: 0.949999988079071)

Block confidence: 0.9900000095367432

Paragraph confidence: 0.9900000095367432
Word text: No (confidence: 0.9900000095367432)

Block confidence: 0.20999999344348907

Paragraph confidence: 0.20999999344348907
Word text: ✓ (confidence: 0.20999999344348907)

Block confidence: 0.9700000286102295

Paragraph confidence: 0.9700000286102295
Word text: Religion (confidence: 0.9599999785423279)
Word text: : (confidence: 0.9900000095367432)
Word text: Muslim (confidence: 0.9900000095367432)

Block confidence: 0.3799999952316284

Paragraph confidence: 0.3799999952316284
Word text: ✓ (confidence: 0.3799999952316284)

Block confidence: 0.9599999785423279

Paragraph confidence: 0.9599999785423279
Word text: Non (confidence: 0.9300000071525574)
Word text: - (confidence: 0.9399999976158142)
Word text: Muslimo (confidence: 0.9700000286102295)'

最佳答案

将整个“for 循环”替换为 print (response.full_text_annotation.text)

关于python - 使用 Google Cloud Vision API 从申请表中提取手写文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com