百度OCR文字识别教程(有demo)
一、注册账号
地址:https://ai.baidu.com/tech/ocr/general?track=cp:aipinzhuan|pf:pc|pp:AIpingtai|pu:2-2||kw:10005804
二、搜索文字识别
三、点击进入文字识别后创建应用
四、随便输入应用名称、点击不需要、点击个人、随便输入应用描述,点击创建
五、创建成功后点击管理应用会显示AppID、API Key和Secret Key
六、点击左侧的技术文档
七、点击快速入门
八、快速入门有一个python版的demo,只需改一些配置就可以进行文字识别了
demo只能识别一张图片,我已经将demo改成了可以识别多张图片。
附代码:
# coding=utf-8import sys
import json
import base64
import time# 保证兼容python2以及python3
IS_PY3 = sys.version_info.major == 3
if IS_PY3:from urllib.request import urlopenfrom urllib.request import Requestfrom urllib.error import URLErrorfrom urllib.parse import urlencodefrom urllib.parse import quote_plus
else:import urllib2from urllib import quote_plusfrom urllib2 import urlopenfrom urllib2 import Requestfrom urllib2 import URLErrorfrom urllib import urlencode# 防止https证书校验不正确
import ssl
ssl._create_default_https_context = ssl._create_unverified_contextAPI_KEY = '改成自己的'SECRET_KEY = '改成自己的'OCR_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"""" TOKEN start """
TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token'"""获取token
"""
def fetch_token():params = {'grant_type': 'client_credentials','client_id': API_KEY,'client_secret': SECRET_KEY}post_data = urlencode(params)if (IS_PY3):post_data = post_data.encode('utf-8')req = Request(TOKEN_URL, post_data)try:f = urlopen(req, timeout=5)result_str = f.read()except URLError as err:print(err)if (IS_PY3):result_str = result_str.decode()result = json.loads(result_str)if ('access_token' in result.keys() and 'scope' in result.keys()):if not 'brain_all_scope' in result['scope'].split(' '):print ('please ensure has check the ability')exit()return result['access_token']else:print ('please overwrite the correct API_KEY and SECRET_KEY')exit()"""读取文件
"""
def read_file(image_path):f = Nonetry:f = open(image_path, 'rb')return f.read()except:print('read image file fail')return Nonefinally:if f:f.close()"""调用远程服务
"""
def request(url, data):req = Request(url, data.encode('utf-8'))has_error = Falsetry:f = urlopen(req)result_str = f.read()if (IS_PY3):result_str = result_str.decode()return result_strexcept URLError as err:print(err)if __name__ == '__main__':for num in range(1,6):# 获取access tokentoken = fetch_token()# 拼接通用文字识别高精度urlimage_url = OCR_URL + "?access_token=" + tokentext = ""#这里改成自己的路径。关键帧是文件夹名,和本python文件同级,关键帧文件夹里面是图片path="./关键帧/%d"%(num) jpg=".jpg"#图片是jpg格式,可以改成其他格式a=path+jpgfile_content = read_file(a)# 调用文字识别服务result = request(image_url, urlencode({'image': base64.b64encode(file_content)}))# 解析返回结果result_json = json.loads(result)for words_result in result_json["words_result"]:text = text + words_result["words"]# 打印识别出来的文字print(text)#打印当前时间(time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime()))#空行print ("\n\n\n")
九、其他
我之前找了很多篇用百度OCR进行文字识别的文章,大部分文章都是有代码的,可惜没有一个能够运行。这些代码都是报同一种错误:KeyError: 'words_result'。百度上也鲜有解释,有人说这可能是用了别人的API Key和Secret Key导致的错误,要用自己的。但是我用了自己的依然出错,索性就将那些代码舍弃了,开始看官方文档,结果给了我一个大大的惊喜:有demo。我花了一些时间将识别单张图片的demo改成了识别多张图片。
像语音识别、人脸识别等技术都应该先看官方文档,一般都有demo,有了错误再看其他的一些文章。
百度OCR文字识别教程(有demo)相关推荐
- 百度OCR文字识别-Android安全校验
百度OCR文字识别-Android安全校验 本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769 效果图: 如下为 ...
- 百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604]
百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604] 本文转载自好基友upuptop:https://blog.csdn.net/ ...
- android百度识别,百度OCR文字识别-Android安全校验
效果图: 如下为文章正文: 百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐 ...
- UIPATH 调用第三方接口(百度OCR文字识别举例)
业务场景: 使用RPA获取业务系统网站的验证码截图,将截图转base64之后传到百度OCR文字识别接口,获取文字识别结果,将识别结果用作登陆业务系统的验证码凭证.从而解决RPA自动登录系统的问题. 设 ...
- leadtools ocr java_LEADTOOLS OCR文字识别教程:处理识别结果
原标题:LEADTOOLS OCR文字识别教程:处理识别结果 根据下面的步骤来创建和运行一个程序用来展示如何使用OCR识别一个图片然后得到识别结果. 1. 打开Visual Studio 2. 在菜单 ...
- Android百度ocr相机裁剪,百度OCR文字识别案例_android防止akamp;sk;泄漏版本
[实例简介] 百度OCR文字识别,支持手机拍照识别,相册选择识别.网络图片识别等功能.该demo的配文博客为https://blog.csdn.net/pyfysf/article/details/8 ...
- 百度OCR 文字识别 Android安全校验
百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式 ...
- Java调用百度OCR文字识别的接口
调用百度OCR文字识别的接口,来自于百度官网,亲测可以使用 跳转链接 FileUtil的下载链接 Base64Util下载链接 HttpUtil下载链接 GsonUtils下载链接 Accurate. ...
- Java调用百度OCR文字识别API实现图片文字识别软件
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
最新文章
- 如何选择一个合适的建站系统?
- 成功恢复新网LINUX REISERFS 6块盘 RAID5邮件服务器
- The Unsolvable Problem
- html 怎么设置时间函数,JavaScript日期函数 - 计时器、innerHTML
- 虚拟服务器ftp文件权限修改,虚拟主机用户ftp和apache用户文件互操作权限解决方法...
- Bootstrap-CSS全样式
- html点菜系统显示几号桌,如果一定要坐你会坐几号桌 1到4号桌你会如何选择
- windows常用网络命令
- Android 特效直播实现原理解析
- mac 截图工具| Snipaste
- 计算机制图和应用cad哪个好,cad制图笔记本电脑排行,cad制图用哪款笔记本电脑好...
- Pycharm 优雅的刷 leetcode 算法
- linux-命令简写——归原
- 乌克兰警方逮捕出售高达10亿被盗记录的黑客,或面临长达8年监禁
- 熔断机制什么意思_指数熔断机制是什么意思
- 「MySQL」- 基础增删改查
- 【自动化运维新手村】Flask-ORM关联查询
- 哪些字段适合建立索引
- 唐宇迪学习笔记4:Python可视化库——Seaborn
- 在Python中如何判断一个对象的类型?
热门文章
- jQuery快速入门(2)--操作 2021.11.20
- 使用Jquery、HTML、CSS、JS实现下拉菜单列表
- 大学计算机作业互评评语简短,大学学生互评评语简短
- mac出现文件夹问号_MacBook Air开机出现一个带问号的文件夹图案是怎么回事?电脑已经无法进入系统!...
- 为什么要做巧推整站快速排名SEO优化?
- 真c++ 从二叉树到红黑树(3)之二叉搜索树BST
- 金蝶K3 SQL报表系列-委外核销检查表
- 【Cover Letter 】SCI 投稿加分必备,手把手教你写 投稿Cover Letter
- Allegro,如何编辑修改已放置器件封装中单个焊盘
- Android界面编程之利用单选框和复选框实现对学历和爱好进行选择