基于python的百度云OCR - 2

百度云OCR

上一篇文章:基于python的百度云OCR 介绍了百度云OCR的使用方法,是直接调用AipOcr模块来进行代码编写的

本博文是通过百度云OCR接口自己对OCR进行封装和调用的,建议先查看上一篇博文之后,再阅读本博文代码

import base64

import requests


class OCR(object):
    # client_id 为官网获取的AK, client_secret 为官网获取的SK
    client_id = "your-key"
    client_secret = "your-secret-key"

    def get_token(self):
        """获取 access_token"""
        host = 'https://aip.baidubce.com/oauth/2.0/token'

        # 请求头
        headers = {'Content-Type': 'application/json; charset=UTF-8'}

        # 请求参数
        params = {
            "grant_type": "client_credentials",
            "client_id": self.client_id,
            "client_secret": self.client_secret
        }

        # get 请求
        response = requests.get(host, headers=headers, params=params)

        # 获取 json 内容
        content = response.json()

        # 获取 access_token
        access_token = content["access_token"]
        return access_token

    def encode_img(self, img_path):
        """对图片进行编码"""
        with open(img_path, "rb") as f:
            img_content = f.read()
        # 对图片进行 base64 编码
        img_content = base64.b64encode(img_content)
        return img_content

    def img_to_str(self, img_path):
        """对图片文字进行识别"""
        access_token = self.get_token()
        # 请求 URL
        URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + access_token

        # post 请求头
        headers = {"Content-Type": "application/x-www-form-urlencoded"}

        # post 参数
        data = {
            "image": self.encode_img(img_path)
        }

        # post 请求
        response = requests.post(URL, headers=headers, data=data)

        return response.json()


if __name__ == '__main__':
    ocr = OCR()
    print(ocr.img_to_str("your image's path"))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值