python 百度ocr识别_Python使用百度Ocr识别文字保存CSV
1.准备:
1)Python开发环境, 笔者用的是3.7; 工具用的是Pycharm
2)百度云后台创建文字识别的应用, 获取AppID, API key, Secret Key
百度云后台创建文字识别的应用
3) 百度模块
pip install baidu-aip
安装百度模块
4) 要保存成csv需要用到pandas模块
pip Install pandas
安装pandas成功
2.上路:
1)初始化百度客户端, 用来发送图片信息
初始化百度客户端
2)调用通用文字接口
调用通用文字接口并返回数据
这边我们断点查看一下返回来的数据:
返回结果
3)保存成CSV
这里不显示返回数据的进一步处理过程,我把处理后的数据保存到全局变量Company_Data中。具体数据处理过程可以参考本文源码或者在《Python使用腾讯Ocr识别文字》中的方法.下面把Company_Data中的数据保存成CSV.
保存成CSV
3.结果:
读取图片内容
读取6张图片
输出结果:
输出识别结果
4.完整代码:
# -*- coding: utf-8 -*-
from aipimport AipOcr
import os
import pandas
# create a new AipOcr
APP_ID ="16921559"
API_KEY ="HfpMM13vAnDlTRWabQVDKnk8"
SECRET_KEY ="EQpdKCeICwfHLWazx0vsIpRqoRkVX6pM"
IMG_EXT = ['.png', '.jpg', '.jpeg', '.bmp']
Company_Data = []
# initialize
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
#1 get text content
def imageReader(file_path):
with open(file_path,'rb')as f:
content = f.read()
# general text API
api_result = client.basicGeneral(content)
# text content
words_result = []
for iin api_result['words_result']:
words_result.append(i['words'])
return words_result
#2 write the content into file
def saveData(file_path):
# separate the file name and extend type
filename, ext = os.path.splitext(file_path)
if extin IMG_EXT:
# new_path = file_path + '.txt'
print(" reading the following image %s" % file_path)
result = imageReader(file_path)
#with open(new_path, 'w', encoding='utf-8') as f:
# f.write(result)
# 电话和传真前面加上'\t',可以防止excel打开csv内容的时候自动计算
data = {}
for textin result:
if ':' in text:
itemname, value = text.split(":")
if '展位号' in itemname:
data['展位号'] = value
elif '地址' in itemname:
data['地址'] = value
elif '邮编' in itemname:
data['邮编'] = value
elif '电话' in itemname:
data['电话'] ='\t'+ value
elif '传真' in itemname:
data['传真'] ='\t'+ value
elif '联系人' in itemname:
data['联系人'] = value
elif '职务' in itemname:
data['职务'] = value
elif '电邮' in itemname:
data['电邮'] = value
elif '网址' in itemname:
data['网址'] = value
elif '业务性质' in itemname:
data['业务性质'] = value
elif '产品类型' in itemname:
data['产品类型'] = value
print(" Saving the data of %s" % file_path)
print(data)
Company_Data.append(data)
#3 get all .jpg under the path
def each_path(dir_path):
# get file names of current directory
file_name = os.listdir(dir_path)
for namein file_name:
if '.jpg' in name:
image_path = dir_path +'\\' + name
saveData(image_path)
def save2csv():
file_name ='test1.csv'
save = pandas.DataFrame(data=Company_Data, dtype='object')
try:
save.to_csv(file_name,quoting=1,float_format='str', mode='a+')
except UnicodeDecodeError:
print("编码错误,该数据无法写到文件中,直接忽略该数据")
if __name__ =='__main__':
file_path =r"F:\我的坚果云\其他\Study\Python\Demo\BaiduOcr\picture"
each_path(file_path)
save2csv()
python 百度ocr识别_Python使用百度Ocr识别文字保存CSV相关推荐
- python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译(可选择翻译语言)...
一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...
- python 百度ocr安装_Python利用百度文字识别(OCR)服务实现图片文字提取,准确率超高...
最近和朋友聊天,聊到一个充满使命感但又略显心酸的话题--下班回家在网上给小朋友抄题...那么问题来了,除了大家所知的QQ文字识别功能之外,还有哪些方式可以做到文字识别呢. 作为一名热心的Python小 ...
- python 百度ocr安装_Python基于百度AI实现OCR文字识别
百度AI功能还是很强大的,百度AI开放平台真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别.MQTT服务器.语音识别等等,应有尽有. 看看OCR识别免费的量 快 ...
- python 百度ai批量识别_Python基于百度AI的文字识别的示例
Python基于百度AI的文字识别的示例 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别. 下载baidu-aip这个库,可以直接 ...
- python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- python 百度ocr安装_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译
python截图+百度ocr(图片识别)+ 百度翻译 一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码 ...
- python百度人脸识别_python 与 百度人脸识别api
用python来做人脸识别代码量少 思路清晰, 在使用之前我们需要在我们的配置的编译器中通过pip install baidu-aip 即可 from aip import AipFac ...
- python ocr 文字识别_python:使用 cnocr 进行文字识别
python:使用 cnocr 进行文字识别 2020-08-30 09:09:40 cnocr 是 Python 3 下的中英文OCR工具包,自带了多个训练好的识别模型(最小模型仅 4.7M),安装 ...
最新文章
- mysql如何避免特殊字符查询_如何避免MySQL中的特殊字符?
- Redis多机功能之复制
- php推荐码生成,最新最全PHP生成制作验证码代码详解(推荐),验证码详解_PHP教程...
- 感想3-对于业务逻辑复用、模板复用的一些思考(未完)
- 9件事把你从消极情绪中解救出来
- .NET Winform 的七段数码显示控件
- MIT脑洞研究!只听6秒语音,就知道你长什么样,效果好得不敢信
- Mysql中Drop,Truncate,Delete的区别
- 洛谷 P2473 [SCOI2008]奖励关 解题报告
- 正则表达式 转义字符
- 线性代数(第六版) 同济大学数学系 编 高等教育出版社 课后习题答案
- word计算机相乘公式,怎么使用Word复制乘积公式
- TA技术美术学习路线
- Win10 CMD命令大全
- Java实现斗地主发牌
- 摄像头黑屏等问题及解决方案汇总
- 百度地图迁徙大数据_百度地图大数据看十一:各地商圈出现“红色拥堵”游乐场迎来“高光时刻”...
- 基于Modelingtoolkit的管网组件(Julia)
- 新媒体营销的模式,自媒体营销方式有哪些
- 解决Windows Firewall/Internet Connection Sharing (ICS)服务无法启动(ping通IP,但不能浏览网页)
热门文章
- 计算机存储器发展历史,存储器及其发展历史与前景(4页)-原创力文档
- retrofit 2.0 android 教程,初识Retrofit2.0
- 快捷键_AutoCAD 2021中的默认快捷键、新建或编辑快捷键
- Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
- 十一、Python第十一课——用户输入和另一种循环(While)
- php实现直播答题系统,直播答题解决方案
- c语言宏定义比较三个数大小,C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义。...
- css动画定义,CSS3中Animation动画的定义和调用
- 计算机专业买win,新买的电脑是win10系统,有的人却费尽心思重装成win7,为什么呢...
- ticketvalidationexception票根不符合目标服务_如何在有效降低企业仓储成本的同时不降低企业的总体服务质量目标水平?...