python调用百度AI提取图片文字
时间:2019-02-20
本文章向大家介绍python调用百度AI提取图片文字,主要包括python调用百度AI提取图片文字使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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)
但是输出的是 字典、列表,在此我将结果遍历了一下,从图片中识别的文字会一行一行显示,剩下的操作看你咋搞了,存入数据也行,生成表格也行;
- SQLite 预写式日志
- java调用.net asmx / wcf
- mybatis3.2.8 与 hibernate4.3.6 混用
- mybatis的物理分页:mybatis-paginator
- 使用 WMI 进行诊断WCF
- java:快速文件分割及合并
- 暴涨210倍的一个数字货币正悄无声息崛起
- QT Creator 快速入门教程 读书笔记(一)
- .NET程序优化(GCServer )
- redis 学习笔记(4)-HA高可用方案Sentinel配置
- oracle: job使用
- velocity模板引擎学习(2)-velocity tools 2.0
- java:如何用代码控制H2 Database启动
- 游戏开发完整学习路线(各个版本都有)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用literal或者绑定变量执行SAP HANA SQL语句
- dotnet OpenXML 如何判断是形状还是文本
- dotnet 执行 docker 容器 error MSB4018 CreateAppHost 任务意外失败可能原因
- dotnet 定制 ILogger 实现
- dotnet 在 UOS 国产系统上安装 Mono 开发工具的方法
- dotnet 在 Linux 下的 GDI 库对 EMF 图片格式的支持
- 跟牛老师一起学WEBGIS——WEBGIS基础(WMS服务)
- 【STM32H7】第6章 RL-TCPnet V7.X底层驱动说明
- 【STM32F429】第6章 RL-TCPnet V7.X底层驱动说明
- 【STM32F407】第6章 RL-TCPnet V7.X底层驱动说明
- LINUX一些面试问题集合
- 【redis6.0.6】redis源码慢慢学,慢慢看 -- 第二天:空间配置(zmalloc)
- URI格式
- 讲通C/C++预编译/条件编译指令 #ifdef,#ifndef,#endif,#define,…
- FreeRTOS静态和动态创建任务