通过Python的pytesseract库识别图片中的文字

news2024/11/20 6:21:44

文章目录

  • 前言
  • 一、pytesseract
    • 1.pytesseract是什么?
    • 2.安装pytesseract
    • 3.查看pytesseract版本
    • 4.安装PIL
    • 5.查看PIL版本
  • 二、Tesseract OCR
    • 1.Tesseract OCR是什么?
    • 2.安装Tesseract OCR
    • 3.安装 Tesseract OCR 语言包
  • 三、使用方法
    • 1.引入库
    • 2.打开图片文件
    • 3.使用Tesseract进行文字识别
    • 4.输出识别结果
  • 总结


前言

大家好,我是空空star,本篇给大家分享一下通过Python的pytesseract库识别图片中的文字。
本篇所用软件相关版本:
macOS 11.6.5
Python 3.8.9
pytesseract 0.3.10
Pillow 9.4.0


一、pytesseract

1.pytesseract是什么?

Pytesseract是一个Python的OCR库,它可以识别图片中的文本并将其转换成文本形式。Pytesseract基于Google的Tesseract OCR引擎,具有较高的准确性和可靠性。它可以读取多种格式的图片,包括PNG、JPEG、GIF等。Pytesseract可以应用于自然语言处理、数据挖掘、OCR识别等领域。

2.安装pytesseract

pip install pytesseract

3.查看pytesseract版本

pip show pytesseract

Name: pytesseract
Version: 0.3.10
Summary: Python-tesseract is a python wrapper for Google’s Tesseract-OCR
Home-page: https://github.com/madmaze/pytesseract
Author: Samuel Hoffstaetter
Author-email: samuel@hoffstaetter.com
License: Apache License 2.0
Requires: packaging, Pillow
Required-by:

4.安装PIL

Pillow库是Python图像处理库,pytesseract使用它来处理图像。

pip install pillow

5.查看PIL版本

pip show pillow

Name: Pillow
Version: 9.4.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Requires:
Required-by: image, imageio, matplotlib, pytesseract, wordcloud

二、Tesseract OCR

1.Tesseract OCR是什么?

Tesseract OCR是一种开源的OCR(Optical Character Recognition,光学字符识别)引擎,它能够将图像中的文本内容识别并转换为可编辑的文本格式。它最初由惠普实验室开发,现在由谷歌维护和更新。Tesseract OCR支持超过100种语言,包括中文、英文、法文、德文等。它可以在多种操作系统上运行,包括Windows、Linux、macOS等。Tesseract OCR被广泛应用于数字化文档、自动化数据输入、智能搜索等方面。

2.安装Tesseract OCR

macOS下:

brew install tesseract

3.安装 Tesseract OCR 语言包

macOS下:

brew install tesseract-lang

三、使用方法

1.引入库

import pytesseract
from PIL import Image

2.打开图片文件

img = Image.open("demo.png")

3.使用Tesseract进行文字识别

text = pytesseract.image_to_string(img, lang='chi_sim')

4.输出识别结果

print(text)

左:原图
右:识别出的文字截图

总结

image_to_string是一个Python函数,它是由tesseract OCR引擎提供的。这个函数的作用是将一个图像中的文本转换成字符串,也就是把图像中的文字识别出来,并把它们转换成计算机可以处理的字符串格式。这个函数可以接受多种格式的图像,例如JPEG、PNG、BMP等。在使用这个函数前,需要确保已经安装了tesseract OCR引擎。

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

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

相关文章

聊一聊 Valgrind 监视非托管内存泄露和崩溃

一:背景 1. 讲故事 只要是程序总会出现各种莫名其妙的问题,比如:非托管内存泄露,程序崩溃,在 Windows 平台上一般用微软自家的官方工具 App Verifier 就可以洞察,那问题出在 Linux 上怎么办呢&#xff1f…

块状链表实现BigString大字符串操作(golang)

前言 块状链表是介于链表和数组之间的数据结构,能够在 O ( n ) O(\sqrt{n}) O(n ​)时间内完成插入、删除、访问操作。 数据结构如图所示。假设最大容量为 n n n, 则它有一个长度为 s n s\sqrt{n} sn ​的链表。链表中每个结点是一个长度为 2 n 2 \times \sqrt{…

C#_各类应用程序

目录 前言 1. 第一个程序:Hello,World! 1.1 Console 1.2 Windows Forms 1.3 WPF(Windows Presentation Foundation) 1.4 ASP.NET Web Forms 1.5 ASP.NET MVC(Model - View - Controller) 1.6 Windows Store A…

Tuxera NTFS2023Mac专业NTFS驱动软件 解决Mac不能写入移动硬盘U盘问题 管理修复磁盘

Tuxera NTFS2023Mac专业NTFS驱动软件 解决Mac不能写入移动硬盘U盘问题 管理修复磁盘问题! NTFS For Mac2023是一款功能强大的MAC读写软件。NTFS For Mac可以帮助用户对磁盘进行日常管理,如果用户电脑的磁盘有问题,可以使用该软件进行修复,延…

Chatgpt系列(一) 如何使用chatgpt

系列文章目录 第一章: 如何使用chatgpt 第二章: chatgpt的概述 第三章: langchain入门 第四章: index 第五章: prompt 目录 系列文章目录 前言 一、LLM是什么? 二、使用步骤 1.学习地址 2.阅读内容重点的介绍 2.答复 读入数据 总结 系列文章目录前言一…

0基础学Java必备的50个知识点

1、编写:编写的Java代码保存在以“.java”结尾的源文件中。 2、编译:使用javac.exe命令编译java源文件,生成字节码文件。 格式:javac 源文件名.java 3、运行:使用java.exe命令解释运行字节码文件。格式:…

Linux笔记3

目录 一、root用户1.su命令2.sudo命令 二、vi/vim编译器1.三种工作模式2.命令模式3.底线命令模式 三、用户和用户组1.用户组管理2.用户管理3.getent命令 四、权限1.查看权限控制信息2.chmod 命令3.chown 命令 五、常用快捷键1.Ctrlc2.Ctrld3.历史命令4.光标移动快捷键 一、root…

亚马逊云科技和安恒信息,发布云原生SaaS主机安全和云原生堡垒机

4月19日,安恒信息首次举行了以“新见未来 实现梦想”为主题的年度新品发布会。来自产业界、投资界、财经界、媒体界等多方代表共同见证了本次发布会。这也是安恒信息自成立以来,首次大规模、高密度地发布新品。 联合产品发布 云原生SaaS主机安全与云原…

Linux 指令(一)+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

绪论 在上一章,我们已经将Linux环境的安装起来了,从本章开始,我们将正式的进入到Linux的学习,Linux的学习还是比较的枯燥无味的,但我们要吃得苦中苦,让我们一起加油,进大厂拿到心仪的offer&…

黑马程序员-职工管理系统实战-附加源码Git

1、管理系统需求 职工管理系统可以用来管理公司内所有员工的信息 本教程主要利用C来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责 普通员工职责…

Redis在项目实践中的问题解决方案汇总

前言 无论是在开发过程中还是在准备跑路的面试过程中,和Redis相关的话题,难免会涉及到四个特殊场景:缓存穿透、缓存雪崩、缓存击穿以及数据一致性。 虽然在作为服务缓存层的时候Redis确实能极大减少服务端的请求压力,但是如果在…

企业组织管理神器:红海云可视化组织管理功能深度解析

在当前的VUCA时代,企业需要保持敏捷以应对变革和不确定性。组织架构作为承载战略目标的重要工具,如果无法敏捷调整,会直接影响企业战略的成功落地。但组织架构的设计和调整会触及其他业务,包括岗位、编制、人员与汇报关系等信息变…

优先级队列(大根堆与小根堆)

优先级队列(大根堆与小根堆) 文章目录 优先级队列(大根堆与小根堆)堆的介绍模拟堆以数组模型为例,创建堆向下调整(shiftDown)入队(push)及向上调整(shiftUp&a…

java获取文件夹下所有文件名

在进行 Java编程的过程中,我们会经常使用到文件夹下的所有文件名。有时候可能不太熟悉 Java编程的小伙伴们会发现,在代码中没有获取到所有的文件名,那么这个时候我们应该怎么去获取到这些文件呢?在进行 Java编程的过程中&#xff…

《花雕学AI》31:ChatGPT--用关键词/咒语/提示词Prompt激发AI绘画的无限创意!

你有没有想过用AI来画画?ChatGPT是一款基于GPT-3的聊天模式的AI绘画工具,它可以根据你输入的关键词/咒语/提示词Prompt来生成不同风格和主题的画作。Prompt是一些简短的文字,可以用来指导ChatGPT的创作过程。在这篇文章中,我将展示…

2个月快速通过PMP证书的经验分享

01 PMP证书是什么? 指的是项目管理专业人士资格认证。它是由美国项目管理协会(Project Management Institute(简称PMI))发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。其目的是为了给项目管理人员提供统一的…

Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)

伪集群及Docker集群搭建测试流程 1.伪集群搭建1.1 环境1.2 搭建1.2.1 集群配置1.2.2 生成其他5个节点配置1.2.3 启动并验证节点状态1.2.4 创建集群1.2.5 集群信息 1.3 测试 2.Docker集群2.1 环境2.2 搭建2.2.1 创建专用网络2.2.2 生成配置文件2.2.3 容器启动及验证2.2.4 创建集…

NIST SP 800-193: BIOS 平台固件弹性指南

NIST SP 800-147,BIOS 保护指南 ( NIST SP 800-147 [1]、NIST SP 800-147B [2])解决了 BIOS 的保护问题 可从此处免费获得: https://doi.org/10.6028/NIST.SP.800-193 摘要 此文档提供了关于支持平台固件和数据对抗潜在地具有破坏性的攻…

python的 __init__.py文件中使用__all__变量

在Python的包(Package)中,init.py文件可以被用作初始化包的脚本。这个文件会在包被导入时自动执行。同时,init.py文件中的__all__变量也可以被用来限制包中可导入的模块、类或方法。具体来说,__all__变量应该是一个列表…

项目上线 | 兰精携手盖雅工场,数智驱动绿色转型

近年来,纺织纤维行业零碳行动如火如荼。作为低碳环保消费新时尚引领者,同时也是纤维领域隐形冠军,兰精在推进绿色发展的同时,也在不断向内探索企业数字化转型之道,以此反哺业务快速扩张。 数智转型,管理先…