百度API批量识别表格与文字(记录)
1.安装百度识别python包。pip install baidu-aip
2.申请ID、KEY等。打开百度,查看全部产品,找到AI.
注册、登录百度智能云。
找到文字识别,创建应用,申请到ID及两个KEY:
3.简单代码实现。
from aip import AipOcr
#
""" 你的 APPID AK SK """
APP_ID = '1530xxxx'
API_KEY = 'fXp9dxxxxxxxxxxxxxxxxxxx'
SECRET_KEY = 'Ltvxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
#
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
path='C:/Users/Administrator/Desktop/ocr'#设定目录集中存放
img = get_file_content(path+'/'+u'eng2.png')
#
#文本识别
res=client.general(img)#结果为:字典》列表》字典三级结构,分行识别
strs=''
for item in res['words_result']:#提取结果
strs+=item['words']
print(strs)
#
4.批量识别表格与文字。
# -*- coding: UTF-8 -*-
from aip import AipOcr
import time
import os
import requests
""" 你的 APPID AK SK """
APP_ID = '1544xxxx'
API_KEY = 'VAg0XiGxxxxxxxxxxxxxmoy4'
SECRET_KEY = '3GuciPY1Zxxxxxxxxxxxxxxxxxxxxxxo'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
def write_txt(x_fname,x_fstr):#字符串写入文件
#time1=time.strftime("%Y-%m-%d")
wt=open(x_fname+'.txt','w')
wt.write(x_fstr.encode('utf8'))
print u'保存文件成功:'+x_fname+'.txt'
wt.close()
return
def file_download(url, wf_name):
r = requests.get(url)
print u'已获取网络对象'
#print type(r)#调试点
#print wf_name#调试点
with open(wf_name+'.xls', 'wb') as f:
f.write(r.content)
print u'下载文件成功:'+wf_name+'.xls'
return
def ocr(img,wf_name):
res=client.tableRecognitionAsync(img)
print res
try:
req_id=res['result'][0]['request_id']#表格图片分析后的ID,获取
print u'ID已获取:',req_id
while True:
print u'暂停3秒...读取res2'
time.sleep(3)
res2=client.getTableRecognitionResult(req_id)#第二次:通过ID获取表格文件XLS地址
time.sleep(1)
print u'res2读取成功!',res2
if res2.has_key('error_code'):#i不是表格,作为普通文本识别
""" 调用通用文字识别, 图片为本地图片 """
print u'表格识别错误,重新获取文本res'
res=client.general(img)
time.sleep(1)
print u'重新获取文本res成功!'
print res
strs=''
for item in res['words_result']:
strs+=item['words']
write_txt(wf_name,strs)
break
else:
try:
print u'是否完成msg'
msg=res2['result']['ret_msg']
if msg == u'已完成':
url = res2['result']['result_data']
print u'已获取下载地址:',url
print u'文件名:',wf_name
file_download(url, wf_name)
print u'下载完成!'
break
else:
time.sleep(1)
except Exception as e:
print u'错误'
break
else:
print u'等一哈...',
except Exception as e:
print u'出错了....'
def main():
path='C:/Users/Administrator/Desktop/ocr'#设定目录集中存放
isExists=os.path.exists(path) # 判断结果
if not isExists:# 如果不存在则创建目录
os.makedirs(path) # 创建目录操作函数
print u'桌面OCR目录OK!'
while True:
inp=raw_input(u'请将文件拷贝到桌面OCR目录下,输入文件名:\n如果有多个文件,请在ocr目录下新建目录,文件放在该目录下,输入目录名即可(ctrl+c跳出):')
if len(inp)!=0 and os.path.isfile(path+'/'+inp):
print u'找到一个文件!识别开始...'
img = get_file_content(path+'/'+inp)
print u'获取长度:'+str(len(img))
wf_name =path+'/'+inp.split('.')[0]
ocr(img,wf_name)
break
if len(inp)!=0 and os.path.isdir(path+'/'+inp):
print u'找到一个目录!'
path=path+'/'+inp
list1=os.listdir(path)
if len(list1)>0:
print u'找到'+str(len(list1))+u'个文件!识别开始....'
n=0
for name in list1:
img = get_file_content(path+'/'+name)
wf_name=path+'/'+name.split('.')[0]
ocr(img,wf_name)
n+=1
print u'共写'+str(n)+u'个文件!'
break
print u'文件不存在!'
if __name__ == '__main__':
main()
百度API批量识别表格与文字(记录)相关推荐
- Python批量识别图片中的文字并保存到txt文档中
Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...
- [软件工具]OCR批量识别图片提取文字信息提取号码编号单号软件使用教程
当你有很多图片,但是想提取这些图片里面的手机号或者编号或者快递单号,或者是其他一些信息时候这个工具就很有用了,一般都是通过打开图片一张一张去查看手动输入信息,但是图片很多时候基本就是个体力活,十分不方 ...
- python 百度ai批量识别_Python基于百度AI的文字识别的示例
Python基于百度AI的文字识别的示例 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别. 下载baidu-aip这个库,可以直接 ...
- label里面的文字换行_批量识别图中文字自动命名,让你1秒找到骚图!太强大了!...
每次做视频,找图就相当的费劲,因为图片太多,每次想要找到固定的图的话.就像大海捞针一样.因为上个版本的代码保存图片是截取部分图片链接进行命名的,所以名称是随机的. 所以今天我准备对这些图片重新命名.按 ...
- python批量循环图片识别_批量识别图中文字自动命名,让你1秒找到骚图
自从上次批量的保存了半佛老师的各种骚图之后:我用Python一键保存了半佛老师所有的骚气表情包,每次做视频,找图就相当的费劲,因为图片太多,每次想要找到固定的图的话.就像大海捞针一样.因为上个版本的代 ...
- python实现调用百度API批量翻译单词
1. 首先需要申请百度翻译api(每个手机号可以注册一个) 参考:https://www.yuque.com/docs/share/c9d690e0-8f33-40af-97a4-42b0a55030 ...
- 基于百度API人脸识别课堂签到系统(一)--------人脸检测
一.前言 今年由于疫情,全国学生的教学方式都从线下转到了线上:线下可以点名进行签到,那么线上应该如何进行准确的签到,防止学生作弊签到的情况呢?因此一款适用于大中小学生的基于人脸识别的课堂签到系统便应运 ...
- 手机批量识别多张图片文字
能识别图片文字的工具有很多,识别结果好的也有很多:但是小编最近发现了一个一次可以识别多张图片的方法,并且可以对识别结果进行翻译.复制.还可以吧转换前后的文章进行校对,今天就将此方法分享给大家吧. 准备 ...
- java 百度api人脸识别功能(人脸识别+详细案例+接口及所需工具类)
最近开发过程中需要用到人脸识别认证功能,然后就用的是百度API接口进行开发,起初设想用直接用人脸识别还是用注册到百度人脸库识别两种方法,为了简化开发直接就用了第一种方式: 直接上业务逻辑代码吧: po ...
最新文章
- Sabayon:治理 GNOME 用户的设置
- 从字符串中删除HTML标签
- Extjs显示时间兼容性问题——firefox正常显示,IE不正常出现NaN-NaN-NaN的解决方式...
- saltstack的基础入门文档
- re库、正则表达式基本使用
- .Net设计模式_原型模式
- 使用TensorFlow进行深度学习-第2部分
- Solr学习总结(一)Solr介绍
- SMB MS17-010 利用(CVE-2017-0144 )
- Android中1像素Activity进程保活
- 微服务化后缓存怎么做?
- LeetCode篇之链表:83(去重问题)
- 【PIFO】以线速编程数据包调度
- shell mysql 取值_shell 脚本中获取mysql多个字段的值
- python内容限制_Python --类,实例和访问限制
- python的copy模块是哪个模块_每周一个 Python 模块 | copy
- .NET读、写、查、删、改XML文件
- IDM磁力解析 IDM磁力使用教程
- 正则验证邮箱格式是不是正确
- win10系统计算机如何加密,win10系统自带加密使用的设置方法
热门文章
- 使用navicat连接虚拟机里的openGauss数据库
- 2018中国行政区划数据(省,市.县(区))
- BUUCTF-Web:[极客大挑战 2019]Upload
- WooCommerce变得简单:分步教程[+资源]
- 电脑怎样进入磁盘管理
- 【Android破解笔记】《溜出去》内购
- 金蝶服务器显示已离线,金蝶kis显示云服务器已离线
- 实验室LIMS系统值多少钱?实验室到底该不该上LIMS软件?
- java常用单词下载_JAVA常用英语词汇.pdf
- Java.util包,Java的异常处理