【python】百度OCR使用

2023-05-16

	具体操作流程可以参考第一个参考连接

获取API keySecret key

# encoding:utf-8

import requests
import base64

# client_id 为官网获取的AK, client_secret 为官网获取的SK
url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials'
client_id = '&client_id=' + '从开发平台获取'
client_secret = '&client_secret=' + '从开发平台获取'
host = url + client_id + client_secret
response_token = requests.get(host)
if response_token:
    print(response_token.json())

获取access_token


request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
# 二进制方式打开图片文件
f = open('test2.JPG', 'rb')
img = base64.b64encode(f.read())

params = {"image":img}
access_token = response_token.json()['access_token']
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    # print (response.json())
    datas_json = response.json()['words_result']
    for data_json in datas_json:
        data = data_json['words']
        print(data)

识别效果

在这里插入图片描述

到目前为止,在我们对系统的研究中,我们依赖于一个简单的计算机系统模型,CPU执行指令,
而存储器(memory)系统为CPU存放指令和数据。在我们简单的模型中,存储器系统是一个线性
的字节数组,而CPU能够在一个常数时间内访问每个存储器位置。虽然迄今为止这都是一个有效的
模型,但是它没有反映现代系统实际工作的方式。
实际上,存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储(storage)
设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存存储器(cache
memory)作为存储(stored)在相对慢速的主存储器(main memory,简称主存)中数据和指令子集
的缓冲区域。主存暂时存放存储在较大的慢速磁盘上的数据,而这些磁盘常常又作为存储在:通过网
络连接的其他机器的磁盘或磁带上的数据的缓冲区域。
存储器层次结构是可行的,这是因为与下一个更低层次的存储设备相比来说,一个编写良好的
程序倾向于更频繁地访问某一个层次上的存储设备。所以,下一层的存储设备可以更慢速一点,也
因此更大,每个位更便宜。整体效果是一个大的存储器池,其成本与层次结构底层最便宜的存储设
备相当,但是却以接近于层次结构顶部存储设备的高速率向程序提供数据。
作为一个程序员,你需要理解存储器层次结构,因为它对你应用程序的性能有着巨大的影响。
如果你的程序需要的数据是存储在:CPU寄存器中的,那么在执行期间,在零个周期内就能访问到它
们。如果存储在高速缓存中,需要1~10个周期。如果存储在主存中,需要50~100个周期。而如
果存储在磁盘上,需要大约20000000个周期!
这里就是计算机系统中一个基本而持久的思想:如果你理解了系统是如何将数据在存储器层次
结构中上上下下移动的,那么你可以编写你的应用程序,使得它们的数据项存储在层次结构中较高
的地方,在那里CPU能更快地访问到它们。
这个思想围绕着计算机程序的一个称为局部性(locality)的基本属性。具有良好局部性的程序
倾向于一次又一次地访问相同的数据项集合,或是倾向于访问邻近的数据项集合。具有良好局部性
的程序比局部性差的程序更多地倾向于从存储器层次结构中较高层次处访问数据项,因此运行得更
快。例如,不同的矩阵乘法核心程序执行相同数量的算术操作,但是有不同程度的局部性,它们的
运行时间可以相差6倍!
在本章中,我们会看看基本的存储技术一SRAM存储器、DRAM存储器、ROM存储器和磁
盘一并描述它们是如何被组织成层次结构的。特别地,我们将注意力集中在:CPU和主存之间作
为缓存区域的高速缓存存储器上,因为它们对应用程序性能的影响最大。我们向你展示如何分析
你的C程序的局部性,而且我们还介绍改进你的程序中局部性的技术。你还会学到一种描绘某台
机器上存储器层次结构的性能的有趣方法,称为“存储器山(memory mountain)”,它给出的读访

识别准确率很高,响应速度也很快,比easyocr效果要好!但该接口1个月只能调用1000次。

Reference

  1. AI应用入门指南
  2. 获取API key Secret key
  3. 获取access_token
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python】百度OCR使用 的相关文章

随机推荐