用python帮别人写了个文字识别程序

Python实现OCR文字识别 OCR(Optical Character Recognition,光学字符识别)是指通过扫描纸质文档或照片,通过计算机对图像记录的文字进行识别的一种技术。本文介绍如何使用Python来实现OCR文字识别技术。 阅读详情

前言

就在前几天一个大一学妹打破了我繁忙的生活,我纳闷了,直接问她啥事啊(老直男了)

在这里插入图片描述
原来是找我帮个忙,作为好学长那肯定得助人为乐啊…

在这里插入图片描述
话不多说,进入正题

一.需求分析

根据学妹的描述来看,就只是想要一个能识别图片文字的程序,那就不管啥排版了,直接依次识别算了,主要是忙…那我直接用百度的ocr就行了,半小时搞定它!

二.代码实现

1.百度文字识别

文字识别官方入口

https://ai.baidu.com/tech/ocr/general

在这里插入图片描述
点击立即使用,我们就白嫖吧,反正一个月也用不到1000次

在这里插入图片描述
创建应用,输入应用名称,这个随意哈,然后选一个文字识别-免费的,有钱的话当我没说。
下图创建成功。

在这里插入图片描述
一会API Key和Secret Key是要使用的。

2.查看文档获取access_token

接下来就要去看看文档了,看是怎么使用的

https://ai.baidu.com/ai-doc/OCR/1k3h7y3db

不会看文档的小伙伴,我直接就讲我需要的东西了,其余的大家自己学着看吧。
从文档来看,我们首先要获取一个东西——access_token

官网代码

# encoding:utf-8
import requests 

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:
    print(response.json())

我的代码

import requests



def access_token():
    url = 'https://aip.baidubce.com/oauth/2.0/token'
    token_ = {
        'grant_type': 'client_credentials',
        # API Key
        'client_id': '官网获取的AK',
        # ecret Key
        'client_secret': '官网获取的SK'
    }
    res = requests.post(url, data=token_)
    res = res.json()
    print(res)
    access_token = res['access_token']
    print(access_token)
    return access_token

if __name__ == '__main__':
    access_token()

官网说推荐使用post,那我们就用post,但是官方代码是用的get这种方法,其实结果都一样,都能得到需要的数据。只不过官方的代码还需要一步提取出access_token。

access_token = response.json()['access_token']

在这里插入图片描述
然后就能得到access_token了。

在这里插入图片描述
如果在这个过程中遇到错误,文档也有,而且会比我讲的详细,所以遇到问题的话可以先看文档,实在不行可以问我。
获取access_token的函数

def access_token():
    url = 'https://aip.baidubce.com/oauth/2.0/token'
    token_ = {
        'grant_type': 'client_credentials',
        # API Key
        'client_id': '自己获取',
        # ecret Key
        'client_secret': '自己获取'
    }
    res = requests.post(url, data=token_)
    res = res.json()
    print(res)
    access_token = res['access_token']
    print(access_token)
    return access_token

当我们需要用时直接调用就行了。

在这里插入图片描述
根据文档的说明,我们就开始写读取图片的代码了

在这里插入图片描述

3.图片代码

def raed_pic():

    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate"
    request_url = url + "?access_token=" + access_token()
    f = open('6.jpg', 'rb')
    img = base64.b64encode(f.read())
    # 参数看文档
    params = {"image": img,
              "language_type": "CHN_ENG",
              "recognize_granularity": "small",
              }
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    response = requests.post(request_url, data=params, headers=headers)
    # print(response)
    # res = response.json()
    # print(res)
    # 判断是否响应成功
    if response:
    	# 保存读出文字的文件,自动创建
        file_name = "yiming6.txt"
        # 这个没说的了,就是写入操作
        with open(file_name, 'w', encoding='utf-8') as f:
            for j in res:
                f.write(j["words"] + "\n")

4.代码部分解读

从json分析来看我们只要提取当中的words_result里面的words

在这里插入图片描述
在这里插入图片描述

三.效果展示

效果如下:

在这里插入图片描述
nice!当然可以写个循环然后直接遍历一个文件夹里面的所有图片,就可以得到每张图的文字了,再读取里面的文字放在同一个txt文件里面,有闲工夫的小伙伴可以试一试,我就不写了。最后也成功得到学妹的奶茶,就不上图片了,嘻嘻嘻~

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪↓

用python中的pytesseract实现文字识别的教程 本文章简单介绍如何用python中的pytesseract工具调用Tesseract库实现文字识别。Tesseract 是一个OCR 库,你可以用pytesseract这个OCR工具来调用它。(若文章有一些问题请及时联系作者以便即使改正,谢谢!) 阅读详情

相关推荐

图片文字识别python

利用python对图片内文字内容进行识别提取。

m0_54240221的博客 1万+

python之OCR文字识别

光学文字识别(Optical Character Recognition,OCR)。

wu_zhiyuan的博客 4万+

PaddleOCR转ONNX模型实战:5分钟搞定中文OCR推理部署(附完整代码)

本文详细介绍了将PaddleOCR模型转换为ONNX格式并进行高效推理部署的完整实战方案。通过Paddle2ONNX工具实现模型转换,利用ONNX Runtime构建跨平台推理引擎,涵盖环境配置、模型优化、批量处理及多平台部署等关键步骤,显著提升中文OCR在边缘设备上的推理性能。

weixin_29051811的博客 617

使用Python实现文字识别,教你如何从图片中识别提取文字

以下是我工作中实际使用到的场景,在我负责的工作内容里,需要确保每天业务系统自动初始化过程中正确执行,若要做到这一点就需要每天系统初始化结束后获取系统的初始化日期,进而判断系统初始化后的日期是否已经变更为当前日期,如果系统初始化日期已经是当前日期表明系统已经初始化成功,反之则是初始化失败的,需要重新进行系统初始化。当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。第一步:安装必要的库。

白帽阿叁的博客 1万+

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(四)-无人机系统(UAS)命令与控制(C2)通信用例

UTM向5G网络提供无人机系统C2通信所需的信息,例如服务类别、无人机系统服务的流量类型、授权的无人机系统服务所需的QoS以及无人机系统服务的订阅。遵循模型B的网络辅助C2模型,为了确保UAS操作的C2通信的服务可用性和可靠性,特别是当无人机在操作员的视线之外(BLOS)飞行时,为无人机提供支持冗余的C2通信链路。如果需要创建额外的C2通信连接或更改现有数据连接的配置以进行C2通信,则5G网络会根据无人机系统的授权服务信息和C2通信中所需的QoS和优先级,修改或分配一个或多个C2通信流量的QoS流。

u011376987的博客 2051

FCKeditor 2.6.4 php版本任意文件上传——漏洞复现

一、漏洞描述 FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多Web项目和大型网站均采用了FCKeditor。 Fckeditor 低于 2.6.4 php 版本任意文件上传漏洞,当您的PHP环境配置为 GPC = Off 时可绕过currentfolder参数过滤上传脚本木马控制网站服务器 二、漏洞原理 漏洞版本:<=2.6.4 三、环境搭建

W小哥 1万+

鸣潮自动化工具ok-ww实用指南:从安装配置到挂机实战的完整手册

如果你玩《鸣潮》时总被"刷声骸、清日常、打无音区"这些重复操作占去大量时间,那么 ok-ww 这款开源的图像识别自动化工具值得一试。它能像一位"照着攻略盯着屏幕替你按键盘的代练"一样,在后台完成自动战斗、自动刷声骸、一键日常,全程不读取内存、不修改游戏文件。下面这份手册会从"它到底靠什么工作"讲起,带你完成安装配置,再走一遍从日常到声骸强化的完整实战,最后附上社区高频避坑清单。 ## 一、先弄明

gitblog_01040的博客 210

告别串口助手!手把手教你用Matlab直接读取STM32的传感器数据(附完整代码)

本文详细介绍了如何利用Matlab直接与STM32进行串口通信,实现传感器数据的实时采集与分析。通过完整的代码示例和系统架构设计,帮助开发者告别传统的串口助手工具链,打造高效、自动化的数据采集系统。文章涵盖了从硬件配置、通信协议设计到Matlab数据处理与可视化的全流程,特别适合嵌入式开发与数据分析结合的实践场景。

weixin_42629671的博客 429

Python自动化(5)——ocr识字

Python自动化(5)——ocr识字

weixin_44165354的博客 4316

【联邦学习】联邦平均(FedAvg)_附pytorch代码实现

其他代码包括1)数据集划分;2)训练;3)保存结果;4)绘图都可在 https://github.com/kt4ngw/fedavg-pytorch 找到。如果您对文章有建议及指定,也欢迎您留言评论,作者定当虚心修正。

kt4ngw的博客 5109

水下机器人仿真平台选型指南:从AirSim到Unity3D的深度对比

本文深入对比了AirSim+UE和Unity3D两大水下机器人仿真平台的核心架构、传感器仿真能力和水下环境建模特点。AirSim+UE凭借高精度物理仿真和丰富传感器支持成为专业研发首选,而Unity3D则以快速开发和灵活扩展见长。文章为研发团队提供了全面的选型指南,帮助优化水下实验的仿真效率与成本。

weixin_29009669的博客 451

Python中的TesserOCR:文字识别的全方位指南

TesserOCR是Tesseract OCR引擎的Python封装,Tesseract OCR是一个开源的光学字符识别引擎,由Google开发。TesserOCR提供了简便易用的接口,使得在Python中进行文字识别变得轻松。在使用TesserOCR进行文字识别时,合理的异常处理和优化策略是确保系统稳定性和性能的关键。通过对异常情况的处理,如图像加载异常、识别结果为空等,可以有效防范潜在的错误,提高程序的健壮性。同时,通过优化策略,如图像清晰度提升、调整预处理参数等,能够在不同场景下获得更准确的识别结果。

涛哥聊Python 6497

全面讲解电子齿轮比与脉冲数计算

什么是编码器分辨率。

viixin的博客 1万+

python实现OCR的多种方法(安装部署以及应用实例)

python实现OCR最全攻略!!!详细部署教程及应用指南~~~

weixin_67147229的博客 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python制作简易OCR文字识别系统

本篇介绍基于Python用pytesseract开发中文简繁字体的OCR文字识别系统的方法和过程。涉及Tesseract-OCR开源OCR引擎安装,环境变量设置,pytesseract人工智能(AI)领域的库安装,基于Tkinter的GUI设计和三种语言、字体(纯英文、简体中文和繁体中文)进行文字识别,识别率很高,且可编辑保存。

hz_zhangrl的博客 6420

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python 实现文字识别提取

OCR 实现图片文字识别提取

www18251955310的博客 5573

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

python文字识别方法

Python中实现文字识别的常用方法是使用pytesseract库,它是Google的Tesseract-OCR引擎的Python封装。

c13852367842的博客 2556

Python ocr文字识别(pyocr)

Recognition,光学字符识别)第三方库,可以将图片中的文字转换成可编辑的文本。pyocr支持多种OCR引擎,如Tesseract、CuneiForm等,可以根据需要选择OCR引擎进行文字识别。需要注意的是,使用pyocr进行文字识别需要预先安装OCR引擎,如Tesseract引擎,则需要先下载并安装Tesseract引擎,并将其加入环境变量中。pyocr是Python的一个OCR(Optical Character。

wgq2020的博客 2229

Python识别图片中的文字

不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制。或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存。但是当我们想用到里面的文字时,还是要一个字一个字打出来。那么我们能不能直接识别图片中的文字呢?答案是肯定的。

WANGJUNAIJIAO的博客 6524

文字识别tesseract--ORC(py版)

一个常用的 Python 库用于识别图片中的文字是 Tesseract。Tesseract 是一个免费的开源 OCR(Optical Character Recognition)引擎,可以识别多种语言的文本。

xuweilinxwl的博客 1745

python + paddleOcr 实现文字识别

paddleOcr 文字识别 解决 AttributeError: partially initialized module 'numpy' has no attribute 'array。 解决 if scores is not None and (scores[i] < drop_score or TypeError: '

絮落锦乡的博客 8170

易语言OCR证件照文字识别

为了易于集成和使用,我们将文字识别OCR封装为DLL(动态链接库)。C++Python易语言。

猿说编程 1265

python OCR文字识别

import easyocr def hjc_shibie01(): reader = easyocr.Reader(['ch_sim','en']) imagepath = 'D:\\PycharmProjects\\hjclx\wenzishibie\\dd01.png'#图片存放的路径 result = reader.readtext(imagepath) for i in result: word = i[1] print(wor.

阿king的博客 1060

python实现文字识别

在Python中实现文字识别(OCR, Optical Character Recognition)的一种流行方式是使用开源库如Tesseract。Tesseract是一个由HP实验室开发、后来由Google优化的OCR引擎,支持多种操作系统,并且能够识别多种语言的文本。

weixin_45570158的博客 1455
上一篇: 谁说程序员不懂浪漫?用Python每天自动给女友免费发短信
下一篇: 30岁,放弃国企稳定的工作,转行数据分析
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值