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批量识别表格与文字(记录)相关推荐

  1. Python批量识别图片中的文字并保存到txt文档中

    Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...

  2. [软件工具]OCR批量识别图片提取文字信息提取号码编号单号软件使用教程

    当你有很多图片,但是想提取这些图片里面的手机号或者编号或者快递单号,或者是其他一些信息时候这个工具就很有用了,一般都是通过打开图片一张一张去查看手动输入信息,但是图片很多时候基本就是个体力活,十分不方 ...

  3. python 百度ai批量识别_Python基于百度AI的文字识别的示例

    Python基于百度AI的文字识别的示例 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别. 下载baidu-aip这个库,可以直接 ...

  4. label里面的文字换行_批量识别图中文字自动命名,让你1秒找到骚图!太强大了!...

    每次做视频,找图就相当的费劲,因为图片太多,每次想要找到固定的图的话.就像大海捞针一样.因为上个版本的代码保存图片是截取部分图片链接进行命名的,所以名称是随机的. 所以今天我准备对这些图片重新命名.按 ...

  5. python批量循环图片识别_批量识别图中文字自动命名,让你1秒找到骚图

    自从上次批量的保存了半佛老师的各种骚图之后:我用Python一键保存了半佛老师所有的骚气表情包,每次做视频,找图就相当的费劲,因为图片太多,每次想要找到固定的图的话.就像大海捞针一样.因为上个版本的代 ...

  6. python实现调用百度API批量翻译单词

    1. 首先需要申请百度翻译api(每个手机号可以注册一个) 参考:https://www.yuque.com/docs/share/c9d690e0-8f33-40af-97a4-42b0a55030 ...

  7. 基于百度API人脸识别课堂签到系统(一)--------人脸检测

    一.前言 今年由于疫情,全国学生的教学方式都从线下转到了线上:线下可以点名进行签到,那么线上应该如何进行准确的签到,防止学生作弊签到的情况呢?因此一款适用于大中小学生的基于人脸识别的课堂签到系统便应运 ...

  8. 手机批量识别多张图片文字

    能识别图片文字的工具有很多,识别结果好的也有很多:但是小编最近发现了一个一次可以识别多张图片的方法,并且可以对识别结果进行翻译.复制.还可以吧转换前后的文章进行校对,今天就将此方法分享给大家吧. 准备 ...

  9. java 百度api人脸识别功能(人脸识别+详细案例+接口及所需工具类)

    最近开发过程中需要用到人脸识别认证功能,然后就用的是百度API接口进行开发,起初设想用直接用人脸识别还是用注册到百度人脸库识别两种方法,为了简化开发直接就用了第一种方式: 直接上业务逻辑代码吧: po ...

最新文章

  1. Sabayon:治理 GNOME 用户的设置
  2. 从字符串中删除HTML标签
  3. Extjs显示时间兼容性问题——firefox正常显示,IE不正常出现NaN-NaN-NaN的解决方式...
  4. saltstack的基础入门文档
  5. re库、正则表达式基本使用
  6. .Net设计模式_原型模式
  7. 使用TensorFlow进行深度学习-第2部分
  8. Solr学习总结(一)Solr介绍
  9. SMB MS17-010 利用(CVE-2017-0144 )
  10. Android中1像素Activity进程保活
  11. 微服务化后缓存怎么做?
  12. LeetCode篇之链表:83(去重问题)
  13. 【PIFO】以线速编程数据包调度
  14. shell mysql 取值_shell 脚本中获取mysql多个字段的值
  15. python内容限制_Python --类,实例和访问限制
  16. python的copy模块是哪个模块_每周一个 Python 模块 | copy
  17. .NET读、写、查、删、改XML文件
  18. IDM磁力解析 IDM磁力使用教程
  19. 正则验证邮箱格式是不是正确
  20. win10系统计算机如何加密,win10系统自带加密使用的设置方法

热门文章

  1. 使用navicat连接虚拟机里的openGauss数据库
  2. 2018中国行政区划数据(省,市.县(区))
  3. BUUCTF-Web:[极客大挑战 2019]Upload
  4. WooCommerce变得简单:分步教程[+资源]
  5. 电脑怎样进入磁盘管理
  6. 【Android破解笔记】《溜出去》内购
  7. 金蝶服务器显示已离线,金蝶kis显示云服务器已离线
  8. 实验室LIMS系统值多少钱?实验室到底该不该上LIMS软件?
  9. java常用单词下载_JAVA常用英语词汇.pdf
  10. Java.util包,Java的异常处理