腾讯ai人工智能OCR文字识别2020.12.18

2022-09-22 08:02:38 浏览数 (1)

1、注册腾讯云。

2、快速入门https://cloud.tencent.com/document/product/866/17622

3、通过 API 3.0 Explorer 进行在线调用文字识别服务 API 。

4、API密匙管理-新建密匙

5、

6、SDK中心-pythonhttps://cloud.tencent.com/document/sdk/Python

7、没看懂。。再找点其他资料看看。

8、https://blog.csdn.net/weixin_42046939/article/details/104778922?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242

9、【python】【文字识别】利用腾讯云调用通用图片文字识别接口,识别图片中的文字

10、直接测试例子

11、安装库pip install tencentcloud-sdk-python,安装pip install jsonpath

12、

13、这里填入钥匙和密码

14、

15、运行,成功。

16、

17、

18、再来一个

19、

20、

代码

代码语言:javascript复制
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 18 15:31:13 2020

@author: Administrator
"""


#以下代码是将【本地图片】进行文字识别
# -*- coding: utf-8 -*-
#pip install tencentcloud-sdk-python
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.ocr.v20181119 import ocr_client, models
import base64
import json
import jsonpath
def get_json():
    try:
        cred = credential.Credential("xxxxxx", "xxxxxx") #密钥-输入腾讯上注册的钥匙和密码!!!
        httpProfile = HttpProfile()
        httpProfile.endpoint = "ocr.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = ocr_client.OcrClient(cred, "ap-shanghai", clientProfile)

        req = models.GeneralBasicOCRRequest()
        #对本地图片进行base64转码【本地图片解析需要先转成base64编码】
        with open("c.jpg", 'rb') as f:  #把文件下的图片名写进来
            base64_data = base64.b64encode(f.read())
            s = base64_data.decode()
            ImageBase64_value = 'data:image/jpeg;base64,%s'%s
            #params是字符串,以下进行拼接
            params = '{"ImageBase64":"'   ImageBase64_value   '"}' #以图片Base64编码发送请求
        req.from_json_string(params)

        resp = client.GeneralBasicOCR(req)

        resp = resp.to_json_string()        #<class 'str'>不知道为何,此步无法完成数据提取,于是在下面又写了一个解析的方法

        return resp
    except TencentCloudSDKException as err:
        print(err)

def parse_json(resp):  #解析
    with open('text.txt','w',encoding='utf-8') as f:  #先写入txt中
        f.write(resp)
    with open('text.txt','r',encoding='utf-8') as f:  #然后再读
        str = f.read()
    str = json.loads(str)                              #json.loads:将JSON字符串解码为 Python 对象;json.dumps:将 Python 对象编码成 JSON 字符串
    DetectedText = jsonpath.jsonpath(str, "$..DetectedText")  #解析:通过找到DetectedText获得对应的值
    print(DetectedText)
    print(len(DetectedText))

if __name__ == '__main__':
    resp = get_json()
    parse_json(resp)

0 人点赞