Azure认知服务OCR在网站上有一个演示 https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/#text
在网站上,我得到了非常准确的结果。但是,当我尝试使用他们的文档中提到的代码调用相同的代码时,会得到不同且效果不佳的结果。 https://docs.microsoft.com/en-us/azure/cognitive-services/Computer-vision/quickstarts/python-print-text
我假设,该网站上提供的版本是预览版。 https://westus.dev.cognitive.microsoft.com/docs/services/5adf991815e1060e6355ad44/operations/587f2c6a154055056008f200
如何在Python中调用该版本?
谢谢您的帮助!
答案 0 :(得分:2)
现在有一个官方的Microsoft软件包:
有样品:
如果遇到麻烦,请在Github上创建问题:)
(我在Azure SDK团队的MS部门工作,该团队发布了此SDK)
答案 1 :(得分:0)
有两种不同的用于识别文本的API。演示页面使用的是新方法,但需要注意的是,在撰写本文时,该页面仅适用于英语。
您应查看的示例代码为here。如果要识别打印的文本,请调整param
。看起来像这样:
region = 'westcentralus'
request_url = 'https://{region}.api.cognitive.microsoft.com/vision/v2.0/recognizeText'.format(region=region)
headers = {'Ocp-Apim-Subscription-Key': subscription_key}
params = {'mode': 'Printed'}
data = {'url': image_url}
response = requests.post(
request_url, headers=headers, params=params, json=data)
您通常会收到HTTP 202响应,而不是识别结果。您需要从操作位置获取响应:
operation_url = response.headers["Operation-Location"]
operation_response = requests.get(operation_url, headers=headers)
请注意,您需要检查operation_response
的状态以确保任务已完成:
if operation_response.json()[u'status'] == 'Succeeded': ...