咨询一下,OCR这里每一个场景,都要写一次代码调用吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云OCR中,每一个场景都需要调用相应的API进行识别,但不需要每一个场景都要写一次代码调用。通常情况下,选择一个适合自己的编程语言,然后进行封装,就可以在多个场景中重复使用。下面是一个Python语言下进行文字识别的示例代码:
import requests
import json
import base64
def ocr(image, type):
appcode = '你的AppCode'
url = 'https://ocrapi-advanced.taobao.com/ocrservice/'+ type
data = {}
data['img'] = image
data = json.dumps(data)
param = {'prob': 'true'}
headers = {
'Authorization': 'APPCODE ' + appcode,
'Content-Type': 'application/json; charset=UTF-8'
}
response = requests.post(url=url, headers=headers, params=param, data=data)
if response:
result = json.loads(response.json()['prism_wordsInfo'])
return result
else:
print("error")
该代码中定义了一个名为ocr
的函数,接收图片和识别类型作为参数,并返回识别结果。实际应用中,只需要根据需要进行相应的调用即可。例如,在场景中需要进行营业执照识别时,只需要调用如下代码即可:
file_path = '营业执照.jpg'
with open(file_path, "rb") as f:
base64_data = base64.b64encode(f.read()).decode('utf-8')
result = ocr(base64_data, 'ocr_business_license')
print(result)
在其他场景中,只需要更改参数进行调用即可。这种方式可以避免重复编写代码,提高代码重用性。
嗯嗯是的 代码都差不多 可以直接用这里的sdk的代码https://next.api.aliyun.com/api/ocr-api/2021-07-07/RecognizeVehicleCertification?lang=JAVA&sdkStyle=dara¶ms={},此回答整理自钉群“【官方】阿里云OCR公共云客户交流群”