带有手写复选框的AWS textract

问题描述 投票:1回答:1

我有1000份调查表,需要进行扫描,然后将其上载到我的C#系统中,以提取数据并将其输入数据库。调查是手写的1)文本框和2)复选框的组合。我目前正在使用Azure Read Api提取手写文本,例如下面的问题4返回“ Python”和“编码”。

所以我的问题; AWS Textract是否能让我提取标记有复选框的数据?例如请参阅下面的问题#1-我需要返回一个字符串,说“不同意”,任何AWS Textract API都有可能吗?

不幸的是,Azure Read API和Google Vision OCR没有提供此功能,因此,如果AWS Textract无法解决此问题,我将不得不执行一些手动操作,例如检查像素颜色的变化以检测被选中的复选框。

调查类型:

“文本”

c# amazon-web-services google-vision azure-cognitive-services amazon-textract
1个回答
0
投票

[[[是,Amazon Textract支持检测各种字段输入,例如复选框和单选按钮。您可以阅读有关详细信息in the docs herehere的更多信息。

我编写了一个快速脚本,使用以下代码为您的图像调用Textract,除了识别给定字段是否已选中/未选中,它还正确标识了不同表单字段的键和值。

# python 3 import boto3 # instantiate client textract = boto3.client('textract') # read image bytes with open("textract-test.png", "rb") as image: f = image.read() image_data = bytearray(f) print(image_data[0]) # call textract endpoint textract.analyze_document(Document={'Bytes': image_data}, FeatureTypes=['FORMS'])

结果输出将是一系列“块”,它们代表文本或表单输入的各个块。解析此JSON,我们可以找到与所选复选框相对应的块,类似于以下内容:

"Id": "0abb6f4e-4512-4581-b261-a45f2426973f", "SelectionStatus": "SELECTED" // value of interest. Alternatively, "NOT_SELECTED" }, { "BlockType": "SELECTION_ELEMENT", "Confidence": 54.00064468383789, "Geometry": { "BoundingBox": { "Width": 0.030619779601693153, "Height": 0.024501724168658257, "Left": 0.4210366904735565, "Top": 0.439885675907135 }, "Polygon": [ { "X": 0.4210366904735565, "Y": 0.439885675907135 }, { "X": 0.4516564607620239, "Y": 0.439885675907135 }, { "X": 0.4516564607620239, "Y": 0.4643873870372772 }, { "X": 0.4210366904735565, "Y": 0.4643873870372772 } ] },

对于不使用C#编写示例的歉意,但是您可以通过CLIAWS .NET SDK利用Textract获得相似的效果。 


注意:如果您只是想了解Amazon Textract将对您的数据返回什么响应,则可以导航到AWS管理控制台中的Amazon Textract页面并在其中使用图像测试应用程序。您可以使用GUI可视化某些结果,或完整下载API响应。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.