汉王OCR接口调用——python

相较于前边两个,这个识别率比较低,而且免费次数也少(白嫖党表示很难受)

# -*- coding: utf-8 -*-
import os, sys, requests, base64, json
# from PIL import Image
# img=Image.open('pic/1.jpg')
# img.save('pic/1.jpg')
# reload(sys)
# sys.setdefaultencoding('utf-8')


key = 'xxxxxxxx'#自己新建的项目密钥
url = 'http://api.hanvon.com/rt/ws/v1/ocr/generaltext/recg?key=%s&code=9c56015f-af3c-4b82-a4eb-dc34efa54683' % key
print(url)

def get_json(path):
    base64img = ""
    #base64img需要是utf-8格式的字符串
    base64img = base64.b64encode(open(path, 'rb').read())
    # base64img = str(base64img, 'utf-8')
    base64img = base64img.encode("UTF-8")
    data = {"uid": '', "isText": "1", "image": base64img}
    data = json.dumps(data)
    headers = {"Content-Type": "application/octet-stream"}
    resp = requests.post(url, data=data, headers=headers)
    # print(resp.text)
    return resp

if __name__ == '__main__':
    import glob
    import os
    path_pic='pic'
    path_save='hanwang_OCR'
    if not os.path.exists(path_save):
        os.mkdir(path_save)
    extensions=['jpg', 'JPG', 'jpeg', 'JPEG']
    for extension in extensions:
        for path in glob.glob(os.path.join(path_pic, '*.'+extension)):
            path_txt = path_save + '/' + path.split('/')[-1].split('.')[0] + '.txt'
            resp = get_json(path)
            results=resp.text
            lines=results.split('"chars":')[1:]
            with open(path_txt,'w') as file:
                for line in lines:
                    words=line.split('"code":"')[1:]
                    for word in words:
                        # get_char = word[0]
                        # print(get_char)
                        get_char=word.split('","coords"')[0]
                        file.write(get_char)
                    file.write('\n')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 。 下面是一个简单的腾讯云OCR API接口调用python代码的示例: ``` import requests import json def ocr_tencent(image_path): # API的请求地址 url = "https://ocr.tencentcloudapi.com/" # API的请求参数 params = { "Action": "OCR", "Version": "2018-11-19", "Region": "ap-guangzhou", "SecretId": "YOUR_SECRET_ID", "Timestamp": int(time.time()), "Nonce": int(time.time()), "SignatureMethod": "HmacSHA1", "ImageUrl": image_path } # 计算请求签名 sign = calculate_signature(params, "YOUR_SECRET_KEY") params["Signature"] = sign # 发送请求 response = requests.get(url, params=params) # 解析响应 result = json.loads(response.text) return result ``` 请注意,在上面的代码中,您需要替换`YOUR_SECRET_ID`和`YOUR_SECRET_KEY`为您的腾讯云帐户的密钥。 ### 回答2: 当然可以帮您写腾讯云OCR模型API接口调用Python代码!下面是一个简单的示例: ```python import requests import base64 # 设置请求地址和API密钥 url = "https://api.ai.qq.com/fcgi-bin/ocr/ocr_generalocr" app_key = "你的APP_KEY" app_id = "你的APP_ID" # 读取要识别的图片文件 with open("要识别的图片.jpg", "rb") as file: image_data = file.read() base64_image = base64.b64encode(image_data).decode("utf-8") # 构造请求参数 data = { "app_id": app_id, "app_key": app_key, "image": base64_image, } # 发送POST请求 response = requests.post(url, data=data) # 处理响应结果 if response.status_code == 200: res_json = response.json() if res_json["ret"] == 0: for item in res_json["data"]["item_list"]: print(item["itemstring"]) else: print("OCR识别失败,错误码:%s,错误信息:%s" % (res_json["ret"], res_json["msg"])) else: print("请求失败,响应码:%s" % response.status_code) ``` 上述代码示例中,首先需要设置请求地址和API密钥,即`url`、`app_key`和`app_id`。接着,读取要识别的图片文件并通过`base64`编码转化为base64格式。然后,构造请求参数,其中`app_id`、`app_key`和`image`是必须的字段,`image`字段为转化后的base64编码。最后,发送POST请求并处理响应结果。如果识别成功,可以通过`res_json["data"]["item_list"]`获取到识别结果列表,并输出每个识别结果;如果识别失败,可以通过`res_json["ret"]`和`res_json["msg"]`获取错误码和错误信息。 请注意替换示例中的`你的APP_KEY`、`你的APP_ID`和`要识别的图片.jpg`为您自己的实际值和文件路径。 希望这段代码能帮到您!如果还有其他问题,请随时追问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值