Ocr2List.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import json
  2. from tencentcloud.common import credential
  3. from tencentcloud.common.profile.client_profile import ClientProfile
  4. from tencentcloud.common.profile.http_profile import HttpProfile
  5. from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
  6. from tencentcloud.ocr.v20181119 import ocr_client, models
  7. import base64
  8. def image_to_base64(image_path):
  9. with open(image_path, "rb") as image_file:
  10. encoded_string = base64.b64encode(image_file.read())
  11. return encoded_string.decode("utf-8") # 将bytes转换为字符串
  12. # 使用示例
  13. #image_path = "path/to/your/image.jpg"
  14. #base64_data = image_to_base64(image_path)
  15. #print(base64_data)
  16. def ocr(img_base64):
  17. SecretId="AKIDypmtpbLcLtEfw3t84JOJCwV3iPhrCGdq"
  18. SecretKey="MwKZFOMCE6oKuLdLnOn10wc27wkJcfTA"
  19. try:
  20. # 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
  21. # 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
  22. # 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
  23. cred = credential.Credential(SecretId, SecretKey)
  24. # 实例化一个http选项,可选的,没有特殊需求可以跳过
  25. httpProfile = HttpProfile()
  26. httpProfile.endpoint = "ocr.tencentcloudapi.com"
  27. # 实例化一个client选项,可选的,没有特殊需求可以跳过
  28. clientProfile = ClientProfile()
  29. clientProfile.httpProfile = httpProfile
  30. # 实例化要请求产品的client对象,clientProfile是可选的
  31. client = ocr_client.OcrClient(cred, "ap-guangzhou", clientProfile)
  32. # 实例化一个请求对象,每个接口都会对应一个request对象
  33. req = models.GeneralBasicOCRRequest()
  34. params = {
  35. "ImageBase64": img_base64,
  36. "LanguageType": "zh"
  37. }
  38. req.from_json_string(json.dumps(params))
  39. # 返回的resp是一个GeneralBasicOCRResponse的实例,与请求对象对应
  40. resp = client.GeneralBasicOCR(req)
  41. # 输出json格式的字符串回包
  42. print(resp.to_json_string())
  43. except TencentCloudSDKException as err:
  44. print(err)