python3 图片文字识别
最近用到了图片文字识别这个功能,从网上搜查了一下,决定利用百度的文字识别接口。通过测试发现文字识别率还可以。下面就测试过程简要说明一下
1、注册用户
链接:https://login.bce.baidu.com/?account=
少量使用,免费

2、创建一个应用

3、调用方式
python SDK文档:https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E9.80.9A.E7.94.A8.E6.96.87.E5.AD.97.E8.AF.86.E5.88.AB
首先 安装 pip install baidu-aip
快速入门:https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E5.BF.AB.E9.80.9F.E5.85.A5.E9.97.A8
接口说明:https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E6.8E.A5.E5.8F.A3.E8.AF.B4.E6.98.8E
具体实现代码:
from aip import AipOcr
class baiduApi:
def __init__(self,APP_ID,API_KEY,SECRET_KEY):
'''
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
'''
self.client = AipOcr(APP_ID, API_KEY, SECRET_KEY) """ 读取图片 """
def get_file_content(self,imageFile):
with open(imageFile, 'rb') as fp:
return fp.read() def getWordFromImage(self,imageFile):
image = self.get_file_content(imageFile)
result = self.client.basicGeneral(image)
print(result) if __name__=="__main__":
APP_ID=''
API_KEY='eT4rkU2i2X2quti4Z5kIl8dT'
SECRET_KEY='UCo2WIQoMq12TR98Nm2N1PgfhWT47'
obj = baiduApi(APP_ID,API_KEY,SECRET_KEY)
imageFile='E:\\test5.png'
obj.getWordFromImage(imageFile)
另外一种调用方式
参考:https://cloud.baidu.com/doc/OCR/OCR-API.html#.E8.B0.83.E7.94.A8.E6.96.B9.E5.BC.8F.E4.BA.8C
【如果您对于使用API调用的方式很陌生,您可以参见:【只要10分钟 快速掌握文字识别】 教程
可以利用调用方式一
首先获取access_token: 必须参数,参考“Access Token获取”。
注意:access_token的有效期为30天,需要每30天进行定期更换;
获取后access_token,例如文字识别API,使用HTTPS POST发送:
https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074
import requests
import json
import base64
import os
class baiduApi:
def __init__(self):
pass def getAccess_Token(self,ApiKey='aTdOkc2i4X2qutd4Z5kIl8dT',SecretKey='UCodWIQgMq1NZTRdNmMNduN1PgfhWT47'):
url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(ApiKey,SecretKey)
txt = requests.get(url).text
dict1 = eval(txt)
access_token = dict1.get('access_token')
print(access_token)
return access_token # txt ={"refresh_token":"25.0dc809836ad8546c79547ec12b4bf9d7.315360000.1869465297.282335-15907896","expires_in":2592000,
# "session_key":"9mzdWESprZJdkHm0iQOcHGX2Rn2qTwQ6Q9NIKPHwTu\/DC9HqDzZzo8JJRfsE4q5OnATglorWcPy9WRFLKlrptCbdDx\/Dug==",
# "access_token":"24.c4bab673c3edbe30eb334df37d4cf434.2592000.1556697297.282335-15907896"}
#
# access_token = txt.get('access_token')
# print(access_token) def getdata(self,imageFile,access_token):
imageBase64 = None
if os.path.exists(imageFile):
with open(imageFile, 'rb') as f: # 以二进制读取图片
data = f.read()
imageBase64= base64.b64encode(data).decode()
if imageBase64:
data1 = {'image_type': 'BASE64',
'image': imageBase64,
'group_id': 'group001',
'user_id': 'D001'} headers = {'Content-type': 'application/x-www-form-urlencoded'}
url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=%s' % access_token
# post调用方式
response = requests.post(url, data=data1, headers=headers)
dict1 = json.loads(response.text)
# print(dict1)
words_result = dict1.get('words_result')
word = ''
for wd in words_result:
word = wd.get('words')
print(word)
# print(wd.get('words'))
# return word
python3 图片文字识别的更多相关文章
- Python人工智能之图片识别,Python3一行代码实现图片文字识别
1.Python人工智能之图片识别,Python3一行代码实现图片文字识别 2.tesseract-ocr安装包和中文语言包 注意:
- 小试Office OneNote 2010的图片文字识别功能(OCR)
原文:小试Office OneNote 2010的图片文字识别功能(OCR) 自Office 2003以来,OneNote就成为了我电脑中必不可少的软件,它集各种创新功能于一身,可方便的记录下各种类型 ...
- 一篇文章搞定百度OCR图片文字识别API
一篇文章搞定百度OCR图片文字识别API https://www.jianshu.com/p/7905d3b12104
- 刚破了潘金莲的身份信息(图片文字识别),win7、win10实测可用(免费下载)
刚破了潘金莲的身份信息(图片文字识别),win7.win10实测可用 效果如下: 证照,车牌.身份证.名片.营业执照 等图片文字均可识别 电脑版 本人出品 大小1.3MB 下载地址:https://p ...
- 【图片识别】java 图片文字识别 ocr (转)
http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...
- java 图片文字识别 ocr
最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为java使用的demo 在此之前,使用这个工具需要在本地安装OCR工具: 下面一个是一定要安装的 ...
- JAVA的图片文字识别技术
从2013年的记录看,JAVA中图片文字识别技术大部分采用ORC的tesseract的软件功能,后来渐渐开放了java-api调用接口. 图片文字识别技术,还是采用训练的方法.并未从根本上解决图片与文 ...
- [C13] 应用实例:图片文字识别(Application Example: Photo OCR)
应用实例:图片文字识别(Application Example: Photo OCR) 问题描述和流程图(Problem Description and Pipeline) 图像文字识别应用所作的事是 ...
随机推荐
- 解决 js setTimeout 传递带参数的函数无效果
最近 js 用到 setTimeout 递归调用 刷新进度 setTimeout ("getProgress(name,type)", 3000) ; 发现getProgres ...
- appium---第二个脚本,定位页面元素
工具使用: 1.android-sdk的自带工具---uiautomator工具 2.使用find_element_by_id寻找元素位置 from appium import webdriver; ...
- HDFS-HA高可用 | Yarn-HA
HDFS-HA HA(High Available),即高可用(7*24小时不中断服务) 单点故障即有一台机器挂了导致全部都挂了:HA就是解决单点故障,就是针对NameNode: 主Active:读写 ...
- The Monocycle(bfs)
题目描述: 转载自:https://blog.csdn.net/h1021456873/article/details/54572767 题意: 给你一个转轮,有5种颜色,为了5中颜色的位置是确定的, ...
- JavaOO面向对象中的注意点(一)
1.JavaOO宗旨思想: ★万物皆对象,对象因关注而产生★ ☆类是对象的抽取,对象是类的实例☆ 2.JavaOO的三大特征: 封装.继承.多态 (第四大特征 抽象 现还有争议) 3.属性与行为: ...
- VC9、VC11、VC14、VC15库 32位 64位 免费下载
VC9.VC11.VC14.VC15库 32位 64位 免费下载 更新版本的PHP是用VC11,VC14或VC15(分别为Visual Studio 2012,2015或2017编译器)构建的,并且包 ...
- python中正则表达式 re.findall 用法
在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配. 其中,re.findall() 函数可以遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表. 在python源代码中 ...
- xml模块、项目开发过程
一.XML模块 xml指的是可扩展标记语言,是一种定义电子文档结构和描述的语言,可以用来标记数据.定义数据类型. 什么时候用xml? 当需要自定义文档结构时,使用xml.在java中经常会使用xml来 ...
- emitted value instead of an instance of error the scope attribute for scoped slots webpack babel polyfill
api20180803.vue emitted value instead of an instance of error the scope attribute for scoped slots h ...
- Wannafly Winter Camp 2019.Day 8 div1 E.Souls-like Game(线段树 矩阵快速幂)
题目链接 \(998244353\)写成\(99824435\)然后调这个线段树模板1.5h= = 以后要注意常量啊啊啊 \(Description\) 每个位置有一个\(3\times3\)的矩阵, ...