张伟伟-层次2 利用百度API进行通用文字识别

Posted ZHW_AI课题组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了张伟伟-层次2 利用百度API进行通用文字识别相关的知识,希望对你有一定的参考价值。

层次2 利用百度API进行通用文字识别

作者介绍

张伟伟,男,西安工程大学电子信息学院,2019级硕士研究生,张宏伟人工智能课题组。
研究方向:机器视觉与人工智能。
电子邮件:2430290933@qq.com

API介绍

配置环境

pip install baidu-aip

支持多种语种识别(丹麦语、荷兰语、马来语、瑞典语、印尼语、波兰语、罗马尼亚语、土耳其语、希腊语、匈牙利语),并将字库从1w+扩展到2w+,能识别所有常用字和大部分生僻字。

调用过程

在这里插入图片描述

  • 2 登录之后选择文字识别服务

在这里插入图片描述

  • 3 点击创建应用
    在这里插入图片描述
  • 4 创建并填写应用相关信息
    例如,填写应用名称为“通用文字识别”。

在这里插入图片描述

  • 5 应用相关信息填写完成后点击“返回应用列表”,即可查看已创建好的应用,得到API Key 与Secret Key。
    在这里插入图片描述

代码实现

使用如下代码,例如建立名为Text_me.py。使用示例代码前,请记得替换其中的API Key 与Secret Key。代码中os.chdir(“D:/wenzi/testdir”) ,需要改为自己识别图片的目录。例如博主转换的图片目录为"D:/wenzi/testdir"。

#-*- coding: UTF-8 -*-
#前提是python已安装aip库--》pip install baidu-aip

import os
from aip import AipOcr
import json
# APP_ID = '你注册账号创建应用后得到的APPID'
# API_KEY = '你注册账号创建应用后得到的API_KEY'
# SECRET_KEY = '你注册账号创建应用后得到的SECRET_KEY '
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''

aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)
os.chdir("D:/wenzi/testdir")  #你需要转换的图片目录
dirs = os.listdir()
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"

print('开始处理,共'+str(len(dirs))+"张图片。")
flag=0
T = 0 #统计处理图片成功的数量
for filePath in dirs:
    if filePath.split('.')[-1]=='txt':continue
    flag+=1
    print('正在处理第'+str(flag)+'张图片')
    try:
        result = aipOcr.basicGeneral(get_file_content(filePath), options)
    except BaseException as e:
        print(e)
    else:
        try:
            with open(filePath.split('.')[0]+'.txt','w',encoding='utf-8') as f:
                for i in result['words_result']:
                        f.write(i['words']+'\\n')
                T += 1
        except BaseException as e :
            print(e)
        else:
            print('处理完成')
print('{}全部处理完成!{}'.format("="*30,"="*30))
print('处理成功的图片有{}张,处理失败的图片有{}张'.format(T,len(dirs)-T))

运行和识别结果

  1. 运行结果
    在这里插入图片描述
  2. 识别结果
    例如,一次可以处理多张有文字的图片,我们无法复制,可以使用此方法实现一种OCR的效果,并且可以识别各种图片的信息,车票等写入Text文件中。一下展示部分识别结果:
  • 待识别的图片1
    在这里插入图片描述
  • 识别为text文本的结果。
    在这里插入图片描述
  • 待识别的图片2
    在这里插入图片描述
  • 识别为text文本的结果。
    在这里插入图片描述

以上是关于张伟伟-层次2 利用百度API进行通用文字识别的主要内容,如果未能解决你的问题,请参考以下文章

图像识别,输出文字

Python|基于百度API五行代码实现OCR文字高识别率

集成百度OCR

Delphi百度文字识别支持通用文字识别身份证识别银行卡识别驾驶证识别行驶证识别车牌识别等功能

Python:截取图片后识别文字输出至剪切板

程序员的吃鸡大法利用OCR文字识别+百度算法搜索,玩转冲顶大会百万英雄芝士超人等答题赢奖金游戏