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 识别并提取图片中文字相关推荐

  1. Python 利用百度文字识别验证码、文字、图片并提取图片中文字或数字

    Python 利用百度文字识别验证码.文字.图片并提取图片中文字或数字 Python 利用百度文字识别验证码.文字.图片并提取图片中文字或数字 以下是代码实现, Python 利用百度文字识别验证码. ...

  2. python使用百度云的API识别图片中的文字

    python使用百度云的API识别图片中的文字 # coding=utf-8import sys import json import base64IS_PY3 = sys.version_info. ...

  3. 小福利,通过python利用百度ai实现图片识别

    大家好,我是天空之城,今天给大家带来小福利,通过python利用百度ai实现图片识别.有兴趣加qq群,纯学习,1098016198. 至于api接口的APP_ID ,API_KEY ,SECRECT_ ...

  4. python利用百度AI进行图片识别与分类

    python利用百度AI进行图片识别与分类 声明 此博客纯属记录我学习的过程,是本人的一次大作业,如果程序中有问题或者有更好的实现方法希望各位前辈多多指点 背景 大多数人的相册都是乱七八糟的,动物的照 ...

  5. python 利用百度AI实现文字识别(cv2 + aip module)

    python 利用百度AI实现文字识别(cv2 + aip module) (该案例将利用cv2,aip等模块,详细的安装以及使用的方法将在后文进行简单的介绍.) 一.KNN算法的简介(机器学习算法之 ...

  6. 九十三、Python使用百度云接口API实现截图,文字识别和语音合成

    @Author:Runsen @Date:2020/7/13 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  7. python代码示例百度云-python利用百度云接口实现车牌识别的示例

    一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开 ...

  8. python—简单数据抓取四(利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站、利用百度云的ocr识别自如租房网价格图片获取到自如网的价格)

    学习目标: python学习二十四 -简单数据抓取四 学习内容: 1.利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站 2.利用百度云的ocr识别自如租房网的价格图片,获取到自如网的价格数据 1.利 ...

  9. python利用百度云接口实现文字OCR功能

    python利用百度云接口实现文字OCR功能 1. 前言 在日常生活中有时我们需要从图片中获取文字,虽然QQ上面已经有了相关的功能,但是出于学习的目的,我打算利用百度智能云的文字OCR接口来实现OCR ...

最新文章

  1. 使用NATAPP.cn测试微信支付回调接口
  2. java项目怎样提高性能_从代码的角度谈如何优化JAVA代码以提高性能【初、中级程序员必看】...
  3. Oracle insert大数据量经验之谈
  4. GIF发明者感染新冠后去世,没有他就没有表情包
  5. 如何验证自己的网络是否支持ipv6
  6. 线程、协成、IO模型
  7. 【Ubuntu-screen】服务器上使用screen的常用命令
  8. 修改PHP上传文件的大小限制
  9. PHP仿金蝶云ERP进销存V8网络多仓版源码
  10. 【HDU 1150】Machine Schedule(二分图匹配)
  11. Ubuntu 下升级git到最新版
  12. offer拿到手软,java分布式面试题及答案
  13. 台式计算机刚做完系统就蓝屏,做完系统蓝屏怎么办|刚做完系统重启电脑蓝屏解决方法...
  14. 怎么查看视频的md5值
  15. STL 自定义sort 前缀和差分练习
  16. ubuntu 16.04 deepin.com.wechat 微信登录提示版本过低解决方案
  17. android.graphics.bitmap jar,Android入门之画图详解
  18. Android远程登录Telnet配置
  19. python编程基础—类与对象
  20. 腾讯员工的1则匿名帖子,让我细思极恐:不要低估人性的恶

热门文章

  1. 惠普 136w 打印机 wifi 无线网 连接
  2. Spring Boot Actuator监控页面报错解决
  3. 开学返校学生党耳机推荐,连接稳定的无线蓝牙耳机分享
  4. 保险公司全面预算管理
  5. Android java时间戳转年月日时分秒(三十七)
  6. MATLAB机器人工具箱 机械臂仿真
  7. 使用Jlink RTT工具打印日志
  8. Docker思维导图汇总
  9. 【编程之路(006)三子棋游戏】(C语言实现)
  10. 商业周刊:日本社交网站的霸主