Tesseract OCR 安装与中文+英文识别实现

一、下载

https://digi.bib.uni-mannheim.de/tesseract/
下载,尽量选择时间靠前的(识别更好些)。符合你的运行机(我的是windows64)
在这里插入图片描述
持续点击下一步安装,安装你认可的路径即可,没必要配置环境变量(后续在代码里指定即可)。

二、下载语言包

https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
(这是中文的。有了它,后续的识别会更精准)
在这里插入图片描述
下载到的语言包放到安装目录的 Tesseract-OCR\tessdata 目录下
在这里插入图片描述

三、代码实现和图片优化

注意:图片的优化很重要,这会极大的提高识别。
【图片越大、像素越清晰,识别的准确度越高。
如果是小图片,需要额外做放大、锐化、对比度等处理。 本文章不做这方面的优化。
各位可以截大图和小图对比一下结果就知道了。】

下面以python实现为例:
程序:替换你的安装路径和图片地址,运行即可测试。

import pytesseract
from PIL import Image# 设置Tesseract路径(根据实际安装路径修改)
pytesseract.pytesseract.tesseract_cmd = r'C:\soft_install\Tesseract-OCR\tesseract.exe'def ocr_scan(image_path):"""对指定图片文件进行OCR识别:param image_path: 图片文件路径(支持PNG/JPG等格式)"""try:# 加载图片文件image = Image.open(image_path)# 识别文字(中英文混合)text = pytesseract.image_to_string(image, lang='chi_sim+eng')print("识别结果:\n", text.strip())except FileNotFoundError:print(f"错误:文件 '{image_path}' 不存在")except Exception as e:print(f"发生错误:{str(e)}")if __name__ == "__main__":# 直接指定图片路径(示例路径)image_path = "processed_latest.png"  # 修改为你的图片路径ocr_scan(image_path)

图片实例如下:

(图1 未经过放大和二值化阈值等处理。 会存在识别失真)
在这里插入图片描述
(图2 经过放大和二值化阈值处理。 上面的程序可以正确识别
在这里插入图片描述

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

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

相关文章

Visual Studio 2022 发布独立的 exe 文件

我们在用 Visual Studio 2022 写好一个 exe 程序之后,如果想把这个拿到其他地方运行,需要把 exe 所在的文件夹一起拿过去。 编译出来的 exe 文件需要其他几个文件一同放在同一目录才能运行,原因在于默认情况下,Visual Studio 是把…

Kotlin-特殊类型

文章目录 数据类型枚举类型匿名类和伴生对象单例类伴生对象 数据类型 声明一个数据类非常简单: //在class前面添加data关键字表示为一个数据类 data class Student(var name: String, var age: Int)数据类声明后,编译器会根据主构造函数中声明的所有属性自动为其生成以下函数…

在线博客系统【测试报告】

🕒 一. 项目背景 由于纸质笔记容易丢失,携带不变,为了方便自己学习的过程中记录笔记,特开发了这个博客系统。这个系统后端采用 SpringBoot MyBatis SpringMVC ;前端使用Html CSS JS;数据库使用的是Mysq…

每日刷题c++

快速幂 #include <iostream> using namespace std; #define int long long int power(int a, int b, int p) {int ans 1;while (b){if (b % 2){ans * a;ans % p; // 随时取模}a * a;a % p; // 随时取模b / 2;}return ans; } signed main() {int a, b, p;cin >> a …

Python中的变量、赋值及函数的参数传递概要

Python中的变量、赋值及函数的参数传递概要 python中的变量、赋值 python中的变量不是盒子。 python中的变量无法用“变量是盒子”做解释。图说明了在 Python 中为什么不能使用盒子比喻&#xff0c;而便利贴则指出了变量的正确工作方式。 如果把变量想象为盒子&#xff0c;那…

KVM 安装 Ubuntu 22

在 KVM 中安装 Ubuntu 22 虚拟机。 首先创建硬盘文件 sudo qemu-img create -f qcow2 /app/vms/ubuntu22.qcow2 100G安装Ubuntu 22 sudo virt-install \--name ubuntu22 \--ram 4096 \--vcpus 2 \--disk path/app/vms/ubuntu22.qcow2,formatqcow2 \--os-type linux \--os-va…

基于生产-消费模式,使用Channel进行文件传输(Tcp方式)

Client端&#xff1a; #region 多文件传输 public class FileMetadata {public string FileName { get; set; }public long FileSize { get; set; } }class Program {const int PORT 8888;const int BUFFER_SIZE 60 * 1024 * 1024;//15s-50 25s-64 33s-32 27s-50 31s-40 25…

【后端高阶面经:Elasticsearch篇】39、Elasticsearch 查询性能优化:分页、冷热分离与 JVM 调优

一、索引设计优化:构建高效查询的基石 (一)分片与副本的黄金配置 1. 分片数量计算模型 # 分片数计算公式(单分片建议30-50GB) def calculate_shards(total_data_gb, single_shard_gb=30):return max

学习路之PHP--easyswoole3.3安装入门

学习路之PHP--easyswoole安装入门 一、安装swoole扩展二、安装easyswoole三、指定PHP版本安装四、启动swoole五、EasySwoole的入门学习如果报&#xff1a;not controller class match 六、学习推荐&#xff1a; 0、centos 7、php7.2.33、easyswoole 3.3 一、安装swoole扩展 二、…

Ad Hoc

什么是 Ad Hoc&#xff1f; Ad hoc 一词源于拉丁语&#xff0c;意为“为此目的”或“为此特定原因”。一般来讲&#xff0c;它指的是为解决某一特定问题或任务&#xff08;而非为了广泛重复应用&#xff09;而设计的行动、解决方案或组合。在加密货币和区块链领域&#xff0c;…

Lines of Thought in Large Language Models

Lines of Thought in Large Language Models 《Lines of Thought in Large Language Models》(大语言模型中的思维链)聚焦于分析大语言模型(LLMs)在生成文本时,其内部向量轨迹的统计特性。 核心目标是揭示LLMs复杂的“思维过程”(即文本生成时的隐藏状态变化)能否被简…

npm/yarn/pnpm安装时Sharp模块报错解决方法

在安装依赖模块时&#xff0c;npm/yarn/pnpm安装时Sharp模块报错解决方法。 打开源代码发现&#xff1a;使用的下载地址是github地址&#xff0c;就是因为国内经常无法访问github造成的。 解决办法&#xff1a; 把涉及到的下载包设置不要从github上下载&#xff0c;设置成淘宝…

基于CEEMDAN-Transformer-BiLSTM的多特征风速气候预测的完整实现方案及PyTorch源码解析

基于CEEMDAN-Transformer-BiLSTM的多特征风速气候预测的完整实现方案及PyTorch源码解析 一、模型架构设计 1.1 整体框架 该模型采用三级架构设计&#xff08;图1&#xff09;&#xff1a; CEEMDAN分解层&#xff1a;对非平稳风速序列进行自适应分解多模态特征融合模块&#…

ubuntu24.04启用fcitx 5

在ubuntu24.04中启用fcitx 5 ubuntu24.04系统自带三种键盘输入法系统&#xff1a; IBusFcitx 5XIM 系统默认使用的是IBus,这个拼音输入少了一些智能的味道&#xff0c;比较影响输入体验。换用Fcitx 5后&#xff0c;加上搜狗细胞词库&#xff0c;感觉很丝滑&#xff0c;特记录…

【HTML/CSS面经】

HTML/CSS面经 HTML1. script标签中的async和defer的区别2. H5新特性&#xff08;1 标签语义化&#xff08;2 表单功能增强&#xff08;3 音频和视频标签&#xff08;4 canvas和svg绘画&#xff08;5 地理位置获取&#xff08;6 元素拖动API&#xff08;7 Web Worker&#xff08…

Dolphin文档解析从理论到实践——保姆级教程

论文&#xff1a;https://arxiv.org/abs/2505.14059 代码&#xff1a;github.com/bytedance/Dolphin 2025年5月&#xff0c;字节开源了文档解析Dolphin&#xff0c;让文档解析效率提升83%。本文将深入解析字节跳动最新开源的Dolphin模型&#xff0c;先看理论再实战体验。 现实…

Web3怎么本地测试连接以太坊?

ETHEREUM_RPC_URLhttps://sepolia.infura.io/v3/你的_INFURA_API_KEY 如果你没有 Infura Key&#xff0c;注册 Infura 或 Alchemy&#xff0c;拿一个免费测试网节点就行&#xff1a; Infura&#xff1a;https://infura.io Alchemy&#xff1a;Alchemy - the web3 developme…

深化生态协同,宁盾身份域管完成与拓波软件兼容互认证

在信创产业蓬勃发展的浪潮下&#xff0c;行业生态的兼容适配决定了信创产品是否好用。近日&#xff0c;宁盾身份域管与拓波软件 TurboEX 邮件系统完成兼容互认证。测试结果显示宁盾身份域管&#xff08;信创版&#xff09;与 TurboEX 邮件服务器软件相互良好兼容&#xff0c;运…

HDFS存储原理与MapReduce计算模型

HDFS存储原理 1. 架构设计 主从架构&#xff1a;包含一个NameNode&#xff08;主节点&#xff09;和多个DataNode&#xff08;从节点&#xff09;。 NameNode&#xff1a;管理元数据&#xff08;文件目录结构、文件块映射、块位置信息&#xff09;&#xff0c;不存储实际数据…

Function calling的过程

文章目录 逐段讲清 **LLM Function Calling&#xff08;函数调用&#xff09;** 的典型链路。1. 角色与概念 | Actors & Concepts2. 全流程时序 | End-to-End Sequence3. 关键细节 | Key Implementation Notes4. 最小可用示例&#xff08;伪代码&#xff09; | Minimal Exa…