Python基于百度API识别并提取图片中文字


Posted in Python onJune 27, 2021

利用百度 AI 开发平台的 OCR 文字识别 API 识别并提取图片中的文字。首先需注册获取 API 调用的 ID 和 key,步骤如下:

打开百度AI开放平台,进入控制台中的文字识别应用(需要有百度账号)。

Python基于百度API识别并提取图片中文字

创建一个应用,并进入管理应用,记下 AppID, API Key, Secrect Key,调用 API需用到。

Python基于百度API识别并提取图片中文字

Python基于百度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 Image

def convertimg(picfile, outdir):
    '''调整图片大小,对于过大的图片进行压缩
    picfile:    图片路径
    outdir:    图片输出路径
    '''
    img = Image.open(picfile)
    width, height = img.size
    while(width*height > 4000000):  # 该数值压缩后的图片大约 两百多k
        width = width // 2
        height = height // 2
    new_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百度API识别图片文字内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用第三方库xlrd来写入Excel文件示例
Apr 05 Python
Python实现的矩阵类实例
Aug 22 Python
Python subprocess模块详细解读
Jan 29 Python
django中模板的html自动转意方法
May 27 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
python对csv文件追加写入列的方法
Aug 01 Python
Python解析json代码实例解析
Nov 25 Python
Python 去除字符串中指定字符串
Mar 05 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
Python爬虫简单运用爬取代理IP的实现
Dec 01 Python
python析构函数用法及注意事项
Jun 22 Python
Python基于百度AI实现抓取表情包
Python道路车道线检测的实现
浅析Django接口版本控制
浅析Python实现DFA算法
解析目标检测之IoU
pycharm代码删除恢复的方法
Python max函数中key的用法及原理解析
You might like
ThinkPHP中I(),U(),$this->post()等函数用法
2014/11/22 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
Python中删除文件的程序代码
2011/03/13 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
详解python中的hashlib模块的使用
2019/04/22 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python3 下载网络图片代码实例
2019/08/27 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
中国高端家电购物商城:顺电
2018/03/04 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
数据库方面面试题
2012/04/22 面试题
销售人员自我评价
2014/02/01 职场文书
法制宣传标语集锦
2014/06/25 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL