python本身也有识别图片转文字的框架,但是相比调用接口,识别的精度就略显不行了;
这是 百度AI 的网站: https://ai.baidu.com/ ;
点击右上角的 控制台 ,申请或者登陆;
进去之后左侧有 【文字识别】:
点击【创建应用】,创建接口;
之后会得到创建的三个连接密钥:
AppID
API Key
Secret Key
这三个参数会在后面调用的时候会用到;
同样,在页面也可以找到文字识别的技术文档: https://ai.baidu.com/docs#/OCR-API/top
里面有调用的例子,基本复制、粘贴,直接调用就能用;
所使用的python包也只需安装 baidu-aip 即可;
我是用 pycharm工具开发的,所以在设置中直接查找安装了 baidu-aip ,
如果是windows、linux 用pip安装: pip install baidu-aip
直接上代码:
# -*- coding: UTF-8 -*-
from aip import AipOcr
# 定义常量
APP_ID = 'XXXXXXXXX'
API_KEY = 'XXXXXXXXXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 的方法"""
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
#定义图片的绝对路径
image = get_file_content('D:/共享文件夹/图片/123.png')
""" 调用通用文字识别(高精度版) """
restu1 = client.basicAccurate(image);
lists = restu1['words_result'] #列表
for listss in lists:
print(listss['words'])
百度AI 上的文档也是这个代码,不会对于新手来说还是不会用(不知道怎么“调用”);代码里的注释很清楚了,有点python基础的都可以看懂;
APP_ID = 'XXXXXXXXX'
API_KEY = 'XXXXXXXXXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX'
这三个参数里填写的就是文章开始你申请的百度AI;
其实最后可以直接 print(restu1)
但是输出的是 字典、列表,在此我将结果遍历了一下,从图片中识别的文字会一行一行显示,剩下的操作看你咋搞了,存入数据也行,生成表格也行;