Python 利用百度文字识别 API 识别并提取图片中文字
Python 利用百度文字识别 API 识别并提取图片中文字
利用百度 AI 开发平台的 OCR 文字识别 API 识别并提取图片中的文字。首先需注册获取 API 调用的 ID 和 key,步骤如下:
打开百度AI开放平台,进入控制台中的文字识别应用(需要有百度账号)。
创建一个应用,并进入管理应用,记下 AppID, API Key, Secrect Key,调用 API需用到。
最后安装 python 的百度ai接口的的库
pip install baidu-aip
以下是代码实现,需将所有识别的图片放进名为 picture 的文件夹。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 12 09:37:38 2018
利用百度api实现图片文本识别
@author: XnCSD
"""import glob
from os import path
import os
from aip import AipOcr
from PIL import Imagedef convertimg(picfile, outdir):'''调整图片大小,对于过大的图片进行压缩picfile: 图片路径outdir: 图片输出路径'''img = Image.open(picfile)width, height = img.sizewhile(width*height > 4000000): # 该数值压缩后的图片大约 两百多kwidth = width // 2height = height // 2new_img=img.resize((width, height),Image.BILINEAR)new_img.save(path.join(outdir,os.path.basename(picfile)))def baiduOCR(picfile, outfile):"""利用百度api识别文本,并保存提取的文字picfile: 图片文件名outfile: 输出文件"""filename = path.basename(picfile)APP_ID = '******' # 刚才获取的 ID,下同API_KEY = '******'SECRECT_KEY = '******'client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)i = open(picfile, 'rb')img = i.read()print("正在识别图片:\t" + filename)message = client.basicGeneral(img) # 通用文字识别,每天 50 000 次免费#message = client.basicAccurate(img) # 通用文字高精度识别,每天 800 次免费print("识别成功!")i.close();with open(outfile, 'a+') as fo:fo.writelines("+" * 60 + '\n')fo.writelines("识别图片:\t" + filename + "\n" * 2)fo.writelines("文本内容:\n")# 输出文本内容for text in message.get('words_result'):fo.writelines(text.get('words') + '\n')fo.writelines('\n'*2)print("文本导出成功!")print()if __name__ == "__main__":outfile = 'export.txt'outdir = 'tmp'if path.exists(outfile):os.remove(outfile)if not path.exists(outdir):os.mkdir(outdir)print("压缩过大的图片...")// 首先对过大的图片进行压缩,以提高识别速度,将压缩的图片保存与临时文件夹中for picfile in glob.glob("picture/*"):convertimg(picfile, outdir)print("图片识别...")for picfile in glob.glob("tmp/*"):baiduOCR(picfile, outfile)os.remove(picfile)print('图片文本提取结束!文本输出结果位于 %s 文件中。' % outfile)os.removedirs(outdir)
Python 利用百度文字识别 API 识别并提取图片中文字相关推荐
- Python 利用百度文字识别验证码、文字、图片并提取图片中文字或数字
Python 利用百度文字识别验证码.文字.图片并提取图片中文字或数字 Python 利用百度文字识别验证码.文字.图片并提取图片中文字或数字 以下是代码实现, Python 利用百度文字识别验证码. ...
- python使用百度云的API识别图片中的文字
python使用百度云的API识别图片中的文字 # coding=utf-8import sys import json import base64IS_PY3 = sys.version_info. ...
- 小福利,通过python利用百度ai实现图片识别
大家好,我是天空之城,今天给大家带来小福利,通过python利用百度ai实现图片识别.有兴趣加qq群,纯学习,1098016198. 至于api接口的APP_ID ,API_KEY ,SECRECT_ ...
- python利用百度AI进行图片识别与分类
python利用百度AI进行图片识别与分类 声明 此博客纯属记录我学习的过程,是本人的一次大作业,如果程序中有问题或者有更好的实现方法希望各位前辈多多指点 背景 大多数人的相册都是乱七八糟的,动物的照 ...
- python 利用百度AI实现文字识别(cv2 + aip module)
python 利用百度AI实现文字识别(cv2 + aip module) (该案例将利用cv2,aip等模块,详细的安装以及使用的方法将在后文进行简单的介绍.) 一.KNN算法的简介(机器学习算法之 ...
- 九十三、Python使用百度云接口API实现截图,文字识别和语音合成
@Author:Runsen @Date:2020/7/13 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...
- python代码示例百度云-python利用百度云接口实现车牌识别的示例
一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开 ...
- python—简单数据抓取四(利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站、利用百度云的ocr识别自如租房网价格图片获取到自如网的价格)
学习目标: python学习二十四 -简单数据抓取四 学习内容: 1.利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站 2.利用百度云的ocr识别自如租房网的价格图片,获取到自如网的价格数据 1.利 ...
- python利用百度云接口实现文字OCR功能
python利用百度云接口实现文字OCR功能 1. 前言 在日常生活中有时我们需要从图片中获取文字,虽然QQ上面已经有了相关的功能,但是出于学习的目的,我打算利用百度智能云的文字OCR接口来实现OCR ...
最新文章
- 使用NATAPP.cn测试微信支付回调接口
- java项目怎样提高性能_从代码的角度谈如何优化JAVA代码以提高性能【初、中级程序员必看】...
- Oracle insert大数据量经验之谈
- GIF发明者感染新冠后去世,没有他就没有表情包
- 如何验证自己的网络是否支持ipv6
- 线程、协成、IO模型
- 【Ubuntu-screen】服务器上使用screen的常用命令
- 修改PHP上传文件的大小限制
- PHP仿金蝶云ERP进销存V8网络多仓版源码
- 【HDU 1150】Machine Schedule(二分图匹配)
- Ubuntu 下升级git到最新版
- offer拿到手软,java分布式面试题及答案
- 台式计算机刚做完系统就蓝屏,做完系统蓝屏怎么办|刚做完系统重启电脑蓝屏解决方法...
- 怎么查看视频的md5值
- STL 自定义sort 前缀和差分练习
- ubuntu 16.04 deepin.com.wechat 微信登录提示版本过低解决方案
- android.graphics.bitmap jar,Android入门之画图详解
- Android远程登录Telnet配置
- python编程基础—类与对象
- 腾讯员工的1则匿名帖子,让我细思极恐:不要低估人性的恶