Python实现识别图片为文字的示例代码

目录
  • 1、环境准备
  • 2、业务实现
  • 3、效果展示

本来想着做一个将图片识别为文字的小功能,本想到Google上面第一页全是各种收费平台的广告。

这些平台提供的基本都是让我们通过调用相关的三方接口实现的,本着坚决不想花一分钱的态度,在论坛找有没有可以免费解决的方案。

果然,有大佬早就做出开源框架pytesseract,差点让我损失了一笔巨款,哈哈~

这次只为实现将图片识别为文字的业务功能,就不使用PyQt5做页面应用了。后面若是需要做成UI应用朋友比较多,我有时间会将这个小工具封装开发成一个PyQ5界面应用的小工具。

1、环境准备

还是老规矩吧,像一些比较有歧义的环境准备工作,我都会将我使用到的python库的版本列出来,防止小伙伴们走一些弯路。

操作系统:windows7

python版本:3.8.10

pytesseract版本:0.3.9

首先需要安装两个三方模块,一个是PIL图片处理库,另一个是pytesseract识别文字用到的python库。

pip install PIL -i https://pypi.tuna.tsinghua.edu.cn/simple/

pip install pytesseract -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装好这两个python非标准库以后,还有一个比较重要的操作就是需要额外的安装一个工具Tesseract-OCR,这个工具实际上是我们用来识别图片必须的一个工具。

为了防止丢失,我将Tesseract-OCR工具的安装包和其需要的中文语言包放在了百度网盘中,在公众号内回复'Tesseract-OCR'工具可以获取网盘下载链接感兴趣的小伙伴直接去下载就好了。

下载完成以后直接进行解压即可,解压完成后的文件目录是下面这样的。

解压完成后直接安装Tesseract-OCR工具,双击打开就可以进行安装了,傻瓜式安装即可。

下面这个是我在给大家测试的时候截图的一张安装过程中的图。

安装完成后,我们需要将上面下载的中文包加入到安装好的Tesseract-OCR工具主目录下面的\tessdata文件夹中。

下面是我已经将中文语言包放入到../Tesseract-OCR/tessdata文件中了。

中文语言包放好后,就可以直接进入下一步的操作了,那就是修改环境相关的配置,实际上只要需要一个相关的参数就OK了。

找到本地的python环境的安装位置,找到我们前面安装好的pytesseract的位置去修改参数一个叫做tesseract_cmd变量的值,具体操作是这样的。

上面是我的pytesseract库的安装位置,找到之后打开pytesseract.py文件将tesseract_cmd变量的值替换为我们安装的Tesseract-OCR工具的tesseract.exe应用程序的路径。

默认Tesseract-OCR工具的安装位置是下面这样这个路径,小伙伴们可以根据自己的位置设置。

C:/Program Files (x86)/Tesseract-OCR/tesseract.exe

这是我已经修改好的pytesseract.py文件中tesseract_cmd变量的值。

tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

至此,准备工作终于做完了,接下来就是我们大显身手的时间了,来轻松实现一个图片到文字的转换吧!

2、业务实现

代码实现过程相当简单,比较上面的安装配置过程简直就是小菜一碟了,导入相关的python模块中实际上只需要一行代码就可以实现将图片内容识别为文字了。

# 导入python非标准模块
from PIL import Image
import pytesseract as pyt

# 读取图片中的文字内容
text = pyt.image_to_string(Image.open('chinese-image.jpg'), lang='chi_sim')

# 打印文字内容
print(text)

3、效果展示

为了测试一下效果,我用本地的画图软件画了一张图,图片上写上文字,文字内容是:

大家好,我是 Python 集中营!下面是我的测试图片。

下面执行上面的图片识别代码块产生的效果,直接一字不差的就将文字读取的出来,简直是满满的成就感,晚上可以好好睡个觉了,没有bug的梦估计很甜!

# 大家好 , 我是 Python 集中营 !

到此这篇关于Python实现识别图片为文字的示例代码的文章就介绍到这了,更多相关Python识别图片为文字内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python基于百度API识别并提取图片中文字

    利用百度 AI 开发平台的 OCR 文字识别 API 识别并提取图片中的文字.首先需注册获取 API 调用的 ID 和 key,步骤如下: 打开百度AI开放平台,进入控制台中的文字识别应用(需要有百度账号). 创建一个应用,并进入管理应用,记下 AppID, API Key, Secrect Key,调用 API需用到. 最后安装 python 的百度ai接口的的库 pip install baidu-aip 以下是代码实现,需将所有识别的图片放进名为 picture 的文件夹. #!/usr/

  • python批量识别图片指定区域文字内容

    Python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根据坐标剪切出指定位置图片,也就是所需的内容区域 4.对指定位置图片进行ocr识别 环境 Ubuntu18.04 Python2.7 所需Python模块 1.aircv 用于识别模板再原始图的位置坐标 pip install aircv 2.Pillow 用于剪裁图片 pip install Pil

  • 如何使用Python进行OCR识别图片中的文字

    朋友需要一个工具,将图片中的文字提取出来.我帮他在网上找了一些OCR的应用,都不好用.所以准备自己研究,写一个Web APP供他使用. OCR1,全称Optical character recognition,或者optical character reader,中文译名叫做光学文字识别.它是把图像文件中的手写文本,打印文本转换为机器编码文本的一种方法. OCR技术广泛用于识别打印纸张中的文字数据 -- 比如护照,支票,银行声明,收据,统计表单,邮件等.OCR的早期版本,需要对图片中的每个文字都

  • Python调用百度AI实现图片上文字识别功能实例

    目录 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 总结 简介 Python免费调用百度AI实现图片上面的文字识别 步骤 安装百度AI库 !pip install baidu-aip 注册百度AI开放平台 先注册百度AI,获得ID和密钥.注册方法可参考:注册方法 只需走到 "1.6 获取密钥" 即可.然后记录下自己的APP_ID.API_KEY.SECRET_KEY,就可以开始了. 调用glob库 glob库用

  • Python 图片文字识别的实现之PaddleOCR

    目录 项目使用 项目结构 环境部署 1.安装Anaconda,构造虚拟环境 2.依赖包下载 测试代码 参数补充 总结 前言 什么是OCR? 光学字符识别(Optical Character Recognition, OCR),是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程.简而言之,检测图像中的文本资料,并且识别出文本的内容. 那么有哪些应用场景呢? 其实我们日常生活中处处都有ocr的影子,比如在疫情期间身份证识别录入信息.车辆车牌号识别.自动驾驶等.我们的生活中,机器学习已

  • Python实现批量识别图片文字并存为Excel

    目录 一.背景 二.需求 三.实战 1.安装模块 2.识别一张图片 3.批量识别图片 4.保存数据 一.背景 大家好,我是J哥. 也许你还记得,前不久复旦大学一博士生写了130行Python代码,批量识别核酸截图内容的故事.当时还被人民日报公众号报道出来,夸赞用所学贡献青春力量! 其实,批量文字识别(OCR)是Python办公自动化的基本操作,应用在我们工作生活中的方方面面,比如车牌识别.证件识别.银行卡识别.票据识别等等. Python中OCR第三方库非常多,比如easyocr.PaddleO

  • 如何利用Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的文字时,还是要一个字一个字打出来.那么我们能不能直接识别图片中的文字呢?答案是肯定的. 二.Tesseract 文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别.Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别.但是在此之前我们需

  • Python实现识别图片为文字的示例代码

    目录 1.环境准备 2.业务实现 3.效果展示 本来想着做一个将图片识别为文字的小功能,本想到Google上面第一页全是各种收费平台的广告. 这些平台提供的基本都是让我们通过调用相关的三方接口实现的,本着坚决不想花一分钱的态度,在论坛找有没有可以免费解决的方案. 果然,有大佬早就做出开源框架pytesseract,差点让我损失了一笔巨款,哈哈~ 这次只为实现将图片识别为文字的业务功能,就不使用PyQt5做页面应用了.后面若是需要做成UI应用朋友比较多,我有时间会将这个小工具封装开发成一个PyQ5

  • Python实现识别图像中人物的示例代码

    目录 前言 环境部署 代码 总结 前言 接着上一篇:AI识别照片是谁,人脸识别face_recognition开源项目安装使用 根据项目提供的demo代码,调整了一下功能,自己写了一个识别人脸的工具代码. 环境部署 按照上一篇的安装部署就可以了. 代码 不废话,直接上代码. #!/user/bin/env python # coding=utf-8 """ @project : face_recognition @author : 剑客阿良_ALiang @file : te

  • python+selenium识别验证码并登录的示例代码

    由于工作需要,登录网站需要用到验证码.最初是研究过验证码识别的,但是总是不能获取到我需要的那个验证码.直到这周五,才想起这事来,昨天顺利的解决了. 下面正题: python版本:3.4.3 所需要的代码库:PIL,selenium,tesseract 先上代码: #coding:utf-8 import subprocess from PIL import Image from PIL import ImageOps from selenium import webdriver import t

  • python图片验证码识别最新模块muggle_ocr的示例代码

    一.官方文档 https://pypi.org/project/muggle-ocr/ 二模块安装 pip install muggle-ocr # 因模块过新,阿里/清华等第三方源可能尚未更新镜像,因此手动指定使用境外源,为了提高依赖的安装速度,可预先自行安装依赖:tensorflow/numpy/opencv-python/pillow/pyyaml 三.使用代码 # 导入包 import muggle_ocr # 初始化:model_type 包含了 ModelType.OCR/Model

  • Android 给图片加上水印的示例代码(支持logo+文字)

    本文介绍了Android 给图片加上水印的示例代码(支持logo+文字),分享给大家,具体如下: 现在我们想要往图片上打上水印,该水印应符合这样的需求的: 支持logo+文字: 文字信息支持多行展示: 用户可以选择水印在图片上的生成位置(左上.右上.右下和左下). 粗略的结构图低配版大概就长这样... 水印结构图.png 现在提供这样的一种思路去实现这一个需求,我们可以通过自定义一个view,view的布局中包含logo.公司名称和相关信息,这个view就是我们要打上图片的水印. 这样的一个vi

  • python 实现识别图片上的数字

    Python 3.6 版本 Pytesseract 图像验证码识别 环境: (1) win7 64位 (2) Idea (3) python 3.6 (4) pip install pillow <&nbsp>pip install pytesseract (5) 识别引擎tesseract-ocr 安装 安装tesseract-ocr的识别引擎 第一步:下载安装包 根据https://github.com/UB-Mannheim/tesseract/wiki,找到下载安装包. 我下载

  • Python 实现给图片加文字或logo水印

    目录 前言 环境依赖 代码 验证一下 执行结果 前言 本文提供给图片添加文字或者logo图片水印的python工具,打造专属图片. 环境依赖 ffmpeg环境安装,ffmpy安装: pip install ffmpy -i https://pypi.douban.com/simple 代码 上代码. #!/user/bin/env python # coding=utf-8 """ @project : csdn @author : 剑客阿良_ALiang @file : i

  • Python实现异常检测LOF算法的示例代码

    目录 背景 LOF算法 1.k邻近距离 2.k距离领域 3.可达距离 4.局部可达密度 5.局部异常因子 LOF算法流程 LOF优缺点 Python实现LOF PyOD Sklearn 大家好,我是东哥. 本篇和大家介绍一个经典的异常检测算法:局部离群因子(Local Outlier Factor),简称LOF算法. 背景 Local Outlier Factor(LOF)是基于密度的经典算法(Breuning et. al. 2000), 文章发表于 SIGMOD 2000, 到目前已经有 3

  • Python实现为PDF去除水印的示例代码

    目录 前言 原理 特色 成果 安装依赖 代码 想法 前言 为什么做出这个? 就是有时候从网上下载的资料中的pdf有水印,看着不舒服. 比如说我从网上下载的试卷,然后去打印店打印,打印之后水印看着很不舒服,而去水印wps要会员,而我是一个程序员,为什么不做一个呢,何乐而不为. 虽然最后是做出来的,但是还是有限制. 原理 把pdf转化为图片,然后将图片去水印. 图片去水印,是又条件限制的,必须水印的颜色和pdf中文字的颜色的rgb相差很大,然后把水印的颜色改变成背景颜色. 特色 网上很多和我类似的原

随机推荐