个人调用OCR

一、自己训练模型

二、调用现成API

此处介绍百度智能云API,因为有免费次数。(原来一些网址在百度不是默认显示网址的,而是自己的网站名字)

首页找到OCR 

 每个人每月能用1K次。(有详细的API文档说明,不过跟着我的步骤来也足够)

 

 在创建应用后得到API key和 Secret Key

 

 还需要拿到一个access token

#官方代码
import requests
import jsondef main():url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxxxx&client_secret=xxxxx"payload = ""headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)if __name__ == '__main__':main()# 更改为个人使用版本
def get_token(self):url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s' \'&client_secret=%s' % (self.apikey,self.apisecret)payload = ""headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)if response:print(response.json())# 存储tokentry:self.redis1["baidutoken"]=response.json()["access_token"]except Exception as e:print("请求报错,无法获取token")

全代码

import requests
import base64
# 封装百度类
class Baidu:def __init__(self):# apikey self.apikey = "12345"# api secretkeyself.apisecret = "12345"self.redis = {} # 文字图片识别def cor(self, filename=r"C:\Users\eqwimg\test.png"):# 定义请求地址request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"# 读取图片f = open(filename, 'rb')# base64编码img = base64.b64encode(f.read())# 定义请求参数params = {"image": img}self.get_token()access_token = self.redis.get("baidutoken")request_url = request_url + "?access_token=" +access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}# 发起请求response = requests.post(request_url, data=params, headers=headers)if response:print(response.json())# 获取识别的结果num = ""for x in response.json()["words_result"]:num += x["words"]return num# 获取tokendef get_token(self):host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s' \'&client_secret=%s' % (self.apikey,self.apisecret)response = requests.get(host)payload = ""headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)if response:print(response.json())# 存储tokentry:self.redis["baidutoken"]=response.json()["access_token"]except Exception as e:print("请求报错,无法获取token")
def cor():# 实例化对象baidu = Baidu()num = baidu.cor()times = 0success = Falsewhile times<3 and not success:#最大识别3次num = baidu.cor()if len(num) == 4:  #默认是4为识别码success = Trueelse:breaktimes += 1if success:return numelse:return None
cor()

借鉴:

https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu

selenium--自动化识别图片验证码并输入_selenium识别验证码图片-CSDN博客 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/325095.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Uniapp中使用Echarts创建可视化图表

在uniapp中可以引入echarts创建数据可视化图表。 1. 安装Echarts 使用npm安装echarts插件&#xff0c;命令如下&#xff1a; npm install echarts --save2. 引入Eharts 在需要使用Echarts的页面引入&#xff1a; import *as echarts from echarts3. 创建实例 创建画布元素…

【产品应用】一体化伺服电机在管道检测机器人中的应用

一体化伺服电机在管道检测机器人的应用正日益受到关注。管道检测机器人是一种能够在管道内部进行检测和维护的智能化设备&#xff0c;它可以检测管道的内部结构、泄漏、腐蚀等问题&#xff0c;以确保管道的安全和稳定运行。而一体化伺服电机作为机器人的动力源&#xff0c;对于…

【AI视野·今日CV 计算机视觉论文速览 第281期】Tue, 2 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Tue, 2 Jan 2024 Totally 95 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Refining Pre-Trained Motion Models Authors Xinglong Sun, Adam W. Harley, Leonidas J. Guibas考虑到在视频中手动注释运…

在vue3中使用Cesium保姆篇

1.首先新建一个vue项目 Vue.js - 渐进式 JavaScript 框架 | Vue.js 可以直接到管网中查看命令通过npm来创建一个vue3的项目 然后通过命令下载1.99的版本的cesium和plugin npm i cesium1.99 vite-plugin-cesium 下载完了以后 2.引入cesium 首先找到vue的vite.config.js …

C# OpenCvSharp DNN FreeYOLO 目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN FreeYOLO 目标检测 效果 模型信息 Inputs ------------------------- name&#xff1a;input tensor&#xff1a;Float[1, 3, 192, 320] --------------------------------------------------------------- Outp…

【力扣每日一题】1944队列中可以看到的人数

目录 题目来源 题目描述 示例 提示&#xff1a; 思路分析 总结 代码实现 java实现 c实现 得分情况 java c p.s.吐槽一点无足轻重的事情 题目来源 力扣1944队列中可以看到的人数 题目描述 有 n 个人排成一个队列&#xff0c;从左到右 编号为 0 到 n - 1 。给你以…

综合医院信息系统源码,HIS源码,(HIS+LIS+电子病历系统)正版授权,可商用

基层医院云HIS系统源码&#xff0c;二级综合医院信息系统源码&#xff0c;HIS源码&#xff0c;正版授权&#xff0c;可项目使用 一、云HIS系统介绍&#xff1a; 一款满足基层医院各类业务需要的云HIS系统。该系统能帮助基层医院完成日常各类业务&#xff0c;提供病患挂号支持、…

大师学SwiftUI第6章 - 声明式用户界面 Part 1

状态 在上一章&#xff0c;我们介绍了SwiftUI的主要特性&#xff0c;声明式语法。借助SwiftUI&#xff0c;我们可以按希望在屏幕上显示的方式声明视图&#xff0c;余下交由系统来创建所需的代码。但声明式语法不只用于组织视图&#xff0c;还可在应用状态发生变化时更新视图。…

南金研小巧的CAN总线记录仪在冬测中的使用

南金研小巧的CAN总线记录仪在冬测中的使用&#xff1a; 在这里插入图片描述 1.确定需求&#xff1a;在开始使用前&#xff0c;需要明确冬测的具体需求&#xff0c;例如需要记录的CAN总线数据类型、采样率、存储容量等。 2.连接硬件&#xff1a;将小巧的CAN总线记录仪与需要进行…

普中STM32-PZ6806L开发板(有点悲伤的故事续-人灯还未了)

简介 继上篇 普中STM32-PZ6806L开发板(有点悲伤的故事) 说到 关于 普中STM32-PZ6806L开发板的LED流水灯也被烧坏掉了&#xff0c;再也无法玩流水灯, 内心充满了只会流水灯的不甘, 流水灯就是单片机的Hello World&#xff0c;怎么能没有呢&#xff1f; 事情发展 好巧不巧想起最近…

紫光展锐5G扬帆出海 | 欧洲积极拥抱更多5G选择

和我国一样&#xff0c;欧洲不少国家也在2019年进入5G商用元年&#xff1a;英国在2019年5月推出了5G商用服务&#xff0c;该国最大的移动运营商EE(Everything Everywhere)最先商用5G&#xff1b;德国在2019年年中推出5G商用服务&#xff0c;德国电信、沃达丰和 Telefonica是首批…

mysql之数据类型、建表以及约束

目录 一. CRUD 1.1 什么是crud 1.2 select(查询) 1.3 INSERT(新增) 1.4 UPDATE(修改&#xff09; 1.5 DELETE(删除) 二. 函数 2.1 常见函数 2.2 流程控制函数 2.3聚合函数 三. union与union all 3.1 union 3.2 union all 3.3 具体不同 3.4 结论 四、思维导图 一. CRUD 1.1…