【文字识别】Python3使用百度AI进行文字识别

将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制。
Tesseract 是一个OCR 库,目前由Google 赞助(Google 也是一家以OCR 和机器学习技术闻名于世的公司)。Tesseract 是目前公认最优秀、最精确的开源OCR 系统。
除了极高的精确度,Tesseract 也具有很高的灵活性。它可以通过训练识别出任何字体(只要这些字体的风格保持不变就可以),也可以识别出任何Unicode 字符。

此外我们也可以调用百度AI的文字识别API进行文字识别,具体流程如下:

1. 百度智能云注册用户

百度智能云地址:https://cloud.baidu.com/

2. 找到产品服务 / 文字识别 - 概览,创建应用

应用有三个关键参数:AppID,API Key,Secret Key

3. python脚本调用文字识别接口

具体api文档参考下面OCR Python SDK地址

OCR Python SDK地址:https://ai.baidu.com/docs#/OCR-Python-SDK/fad9fbb6

4. 具体文字识别代码如下:只是展示了几个接口,具体的还是看上面OCR Python SDK地址文档说明

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:https://blog.csdn.net/sinat_37967865
#文件:baiduAI.py
#日期:2019-06-18
#备注:Python利用百度AI进行文字识别, pip install baidu-aip
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''from aip import AipOcr# 定义常量
APP_ID = '16552814'
API_KEY = '93R0OpMdmPy31WBBgPEKE1qB'
SECRET_KEY = 'kIClrcG******'# 初始化AipFace对象
aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)# 打开图片
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()# 调用通用文字识别接口
def basicGeneral(file):""" 如果有可选参数 """options = {}options["detect_direction"] = "true"  # 检测朝向options["detect_language"] = "true"  # 检测语言result = aipOcr.basicGeneral(file, options)return(result)# 通用文字识别(高精度版)
def basicAccurate(file):options = {}options["detect_direction"] = "true"  # 检测朝向options["detect_language"] = "true"  # 检测语言result = aipOcr.basicAccurate(file, options)return (result)# 识别一些网络上背景复杂,特殊字体的文字。
def webImage(file):options = {}options["detect_direction"] = "true"  # 检测朝向options["detect_language"] = "true"  # 检测语言result = aipOcr.webImage(file, options)return (result)def main():file = get_file_content("bd.png")result = basicGeneral(file)print(result)for word in result['words_result']:print(word['words'])if __name__ == '__main__':main()

识别后的文字:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解

一、对json文件的读取 data1{"programmers":[{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },{ "firstName": "Jason", "lastName":"Hunte…

【图片】Python对RGB颜色与16进制颜色进行互转

RGB颜色被称为“真彩色”,是Photoshop中默认使用的颜色,也是最常用的一种颜色模式。RGB模式的图像由3个颜色通道组成,分别为红色通道(Red)、绿色通道(Green)和蓝色通道(Blue&#xf…

【Python】pyinstaller模块将py文件打包为windows可执行文件exe

python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速。当然打包的脚本似乎不是在所有的win平台下都能使用,win7有一部分不能使用,我在win10能够很好的运…

html img src

< img >标签 代表 图片&#xff0c;img标签的作用是向网页中插入一张图片&#xff0c;并不是将图片绘制到网页中。 src 属性&#xff1a;“插入”图片到网页中去。 alt 属性&#xff1a;值可以是一段文字&#xff0c;当图片由于各种原因无法显示时&#xff0c;alt属性的…

【自动化】Python3+Selenium3自动化测试-准备工作

# 系统&#xff1a;win7(64位) # 浏览器&#xff1a;Chrome(75.0.3770.100) # python版本&#xff1a;3.7.0 # Selenium&#xff1a;3.14.1 Selenium简介 Selenium是一款适用于Web应用程序的便携式软件测试框架。 Selenium为编写测试提供了一个回放工具&#xff0c;无需学习测…

基本数据类型float和double的区别

float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下&#xff1a; 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 03.数值取值范围 单精度浮…

【数据库】mysql常用的数据类型

数据类型是指列、存储过程参数、表达式和局部变量的数据特征&#xff0c;它决定了数据的存储格式&#xff0c;代表了不同的信息类型。 有一些数据是要存储为数字的&#xff0c;数字当中有些是要存储为整数、小数、日期型等... MySQL支持多种类型&#xff0c;大致可以分为四类&a…

【Python】base64模块对图片进行base64编码和解码

图片的base64编码就是可以将一副图片数据编码成一串字符串&#xff0c;使用该字符串代替图像地址。 这样做有什么意义呢&#xff1f;我们知道&#xff0c;我们所看到的网页上的每一个图片&#xff0c;都是需要消耗一个 http 请求下载而来的。 没错&#xff0c;不管如何&#xf…

Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法

错误图片 昨天晚上还在用mysql来存储东西,而今天早上发现mysql数据库根本打不开,吓了我一大跳,本来就想重装mysql服务,但是我的数据库都没了,相当于大楼盖起来了,地基一下出现了裂缝,后来经过研究解决办法 如下 我发现mysql的服务一直无法启动如图 显示Cant connect toMySQL s…

【Python实战】使用python计算多种还款方式的还款计划

随着人们经济活动的增加&#xff0c;用钱的地方越来越多&#xff0c;不管是像买房这样的大额支出还是个人消费型支出&#xff0c;越来越多的人选择贷款来解决眼前的经济危机。 而申请贷款就涉及到选择不同的还款方式&#xff0c;所需要偿还的欠款综合也大有不同&#xff0c;那么…

echarts自定义showlading()样式和文本

1、首先引入echarts.js 2、在页面定义自己的echarts变量 var myChart echarts.init(document.getElementById(main)); 3、自定义showLoading()样式 myChart.showLoading(default, {text:统计中&#xff0c;请稍候...,maskColor: #404a59,textColor: #fff,}); text:文本内…

测试人员做到这几点,线上80%的BUG将落入你手,企业将避免重大风险

BUG事故给敲了很大的警钟&#xff0c;也给公司带来重大损失&#xff0c;作为测试人员&#xff0c;我们如何提现发现线上BUG并及时解决&#xff0c;避免落入用户手中&#xff0c;给企业带来无法挽回的损失。 案例1&#xff1a; 1月20日凌晨&#xff0c;拼多多App因技术漏洞&am…

解决$ is not define

今天写js的时候&#xff0c;发现怎么也没有效果。然后我前端调试的时候报这样的错 $ is not define 这个错误我以前也出现过。所以就这个错误的解决&#xff0c;我来总结一下。 1.首先&#xff0c;"$"这个符号是在jquery中定义的。所以你要看一下&#xff0c;你有没…

模拟导入系统通讯录5000+手机号 校验大量数据处理

模拟导入系统通讯录5000手机号 校验大量数据处理 之前再测试一个导入手机通讯录系统时&#xff0c;随机抽了几个人的手机进行了测试&#xff0c;都导入显示正常 当公司BD进行项目试用时&#xff0c;导入通讯录一直处于下图加载中 1、于是进行抓包查看日志进行定位&#xff0c…

Monkey随机性能压测初探(一)

Monkey介绍 Monkey程序由Android系统自带&#xff0c;是Android SDK提供的一个命令行工具&#xff0c; 可运行Android模拟器和实体设备上。Monkey会发送伪随机的用户事件流&#xff0c;通过Monkey程序模拟用户触摸屏幕、滑动、 按键等操作来对程序进行压力测试&#xff0c;检测…

【Java】使用前准备工作配置环境变量

我们要使用java前&#xff0c;必须先安装JDK并且配置相关的环境变量&#xff0c;如果我们未配置环境变量&#xff0c;那么我们在cmd命令中&#xff0c;输入javac&#xff0c;会提示“javac”不是内部或外部命令&#xff0c;这里主要介绍如何配置jdk的环境变量。 JDK官网下载&a…

Jmeter性能测试工具Timer定时器详解

jmeter提供了很多元件&#xff0c;帮助我们更好的完成各种场景的性能测试&#xff0c;其中&#xff0c;定时器&#xff08;timer&#xff09;是很重要的一个元件&#xff0c;jemter提供了9种定时器&#xff0c;下面一一介绍&#xff1a; 一、定时器的作用域 1、定时器是在每个…

【Maven】Java项目管理工具

一、为什么要Maven 在开发中经常需要依赖第三方的包&#xff0c;包与包之间存在依赖关系&#xff0c;版本间还有兼容性问题&#xff0c;有时还里要将旧的包升级或降级&#xff0c;当项目复杂到一定程度时包管理变得非常重要。 Maven是当前最受欢迎的Java项目管理构建自动化综合…

fiddler抓包工具配置详解

没有解决不了的问题&#xff0c;只是没有找到合适的方法 fiddler官网 https://www.progress.com/ 官网下载fiddler https://www.telerik.com/download/fiddler/fiddler4 fiddler插件下载 https://www.telerik.com/fiddler/add-ons 最近看到很多人都在问的一个问题&#xff0…

【Maven】Eclipse中的Maven项目安装与配置

上一篇文章我们了解到了Maven的基本信息和如何在电脑本地安装Maven&#xff0c;这篇文章主要介绍如何在Eclipse关联Maven的配置和本地仓储地址&#xff0c;并且如何创建一个Maven项目、关联依赖包等。 一、关联Eclipse和Maven 点击Windows菜单栏下的Preference&#xff0c;找…