1

我正在尝试检测图像中孤立的手写日期。

在此处输入图像描述

在云视觉api中,有没有办法给出关于类型的提示?

示例:唯一存在的文本将是 dd/mm/yy,d,m 和 y 是数字

我唯一发现的是文档中的语言提示。

有时我会得到包含字母的结果,O而不是0.

4

1 回答 1

1

无法提供有关类型的提示,但您可以使用客户端库过滤输出。我从这里detect.py下载并修改(在def detect_text中,第 283 行之后):requirements.txtdetect.py

    response = client.text_detection(image=image)
    texts = response.text_annotations

    #Import regular expressions
    import re

    print('Date:')

    dateStr=texts[0].description
    # Test case for letters replacement
    #dateStr="Z3 OZ/l7"
    #print(dateStr)

    dateStr=dateStr.replace("O","0")    
    dateStr=dateStr.replace("Z","2")    
    dateStr=dateStr.replace("l","1")    

    dateList=re.split(' |;|,|/|\n',dateStr)

    dd=dateList[0]
    mm=dateList[1]
    yy=dateList[2]
    date=dd+'/'+mm+'/'+yy 
    print(date)
    #for text in texts:
        #print('\n"{}"'.format(text.description))
    #print('Hello you!')
        #vertices = (['({},{})'.format(vertex.x, vertex.y)
        #            for vertex in text.bounding_poly.vertices])

        #print('bounds: {}'.format(','.join(vertices)))
    # [END migration_text_detection]
# [END def_detect_text]

然后我detect.py使用这个命令行在虚拟环境中启动:

python detect_dates.py text qAkiq.png

我得到了这个:

23/02/17

很少有字母会被误认为是数字,所以使用str.replace(“letter”,”number”)应该可以解决错误的标识。我为此示例添加了最常见的情况。

于 2018-04-06T11:46:29.937 回答