【案例】python集成OCR识别工具调研

news2024/9/22 21:34:46

目录

  • 一、前言
  • 二、Tesseract_OCR
    • 2.1、安装过程
    • 2.2、python代码使用
  • 三、PaddleOCR
    • 3.1、安装过程
    • 3.2、python代码使用
  • 四、EasyOCR
  • 五、ddddOCR
  • 六、CnOCR

一、前言

因项目需要OCR识别能力,且要支持私有化部署。本文将对比市场一些开源的OCR识别工具,从中选择适合项目需要的OCR,且后续进一步研究/训练对应OCR模型。
主要OCR识别有:Tesseract_OCR、PaddleOCR、EasyOCR、dddd_ocr、CnOCR
备注说明:后面的图片测试使用如下
请添加图片描述

二、Tesseract_OCR

Pillow是一个免费开源的图像处理库,它可以用来读取、操作和保存各种各样的图片文件。Tesseract-OCR则是一个强大的光学字符识别引擎,可以离线识别,可以准确地识别图像中的文字,要配合本地安装tesseract-ocr.exe文件一起使用。
Tesseract-OCR特点:

  • Tesseract支持UTF-8编码格式,并且可以“开箱即用”地识别100多种语言
  • Tesseract支持多种输出格式:纯文本,hOCR(HTML),PDF等
  • 官方建议,为了获得更好的OCR结果,最好提供给高质量的图像
  • Tesseract进行识别其他语言的训练,具体的训练方式请参考官方提供的文档:https://tesseract-ocr.github.io/tessdoc/

2.1、安装过程

安装环境

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

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

相关文章

基于主成分分析PCA的一维时间序列信号降噪方法(Python)

主成分分析PCA是面向模式分类的特征提取最典型的工具,是满足上述映射准则的一种数据压缩的方法。作为经典的特征提取方法,是在不减少原始数据所包含的内在信息前提下,将原始数据集转化为由维数较少的“有效”特征成分来表示,使其在…

极狐Gitlab使用(1)

目录 续接上篇:极狐Gitlab安装部署-CSDN博客 1. 关闭注册功能 2. 创建群组 3. 创建用户 5. 邀请成员到群组 6. 设置导入导出项目源 7. 通过gitee导入库 8. 通过仓库URL导入 9. 自创建项目 10. 默认分支main的权限 11. 使用普通用户进入自建库 12. 创建用…

深入理解 go map

什么是 map 维基百科里这样定义 map: In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection. 简单…

前端挑战:Tkinter布局与设计【三种布局】

前端挑战:Tkinter布局与设计【三种布局】 文章目录 前端挑战:Tkinter布局与设计【三种布局】前言Frame 窗口组件代码效果Tkinter的布局grid 网格布局效果展示:代码讲解pack 布局基本使用左右布局place 布局代码预览前言 作为一个前端开发,习惯性的用HTML去解决客户端的问题…

【Linux 线程】线程的基本概念、LWP的理解

文章目录 一、ps -L 指令🍎二、线程控制 一、ps -L 指令🍎 🐧 使用 ps -L 命令查看轻量级进程信息;🐧 pthread_self() 用于获取用户态线程的 tid,而并非轻量级进程ID;🐧 getpid() 用…

卡尔曼滤波中dx更新公式

卡尔曼滤波是一种有效的递归滤波器,用于估计线性动态系统的状态。在标准的卡尔曼滤波中,系统和观测模型都是线性的,而在扩展卡尔曼滤波(EKF)和迭代卡尔曼滤波(IKF)中,系统或观测模型…

最受老板欢迎的监控员工电脑软件推荐!(6款真实测评)

你有没有遇到以下这种情况: 早晨刚到公司打开电脑,老板对着旁边同事大发雷霆突然发问: 小丽,你昨天上班期间刷抖音了? 你吓得瑟瑟发抖,老板咋知道的呢? 跟其他同事讨论才晓得,原…

【人生苦短,我学 Python】(12)函数(下)

Python 所有文章传送门【Python】所有文章传送门 目录 简述 / 前言1. 函数的返回值2. 变量2.1 局部变量2.2. 全局变量2.3 局部与全局变量混合使用 4. 匿名函数(Lamda表达式)5. 函数装饰器6. 递归函数7. 函数注释(文档字符串)与注解…

Linux下的misc设备驱动

文章目录 前言一、misc是什么?二、调用API1.注册2.注销 三、驱动框架总结 前言 misc设备即杂项设备,Linux系统中类似按键、触摸屏都有专门框架处理,类似adc、蜂鸣器等设备无法明确其属于什么类型,一般就归属于杂项设备&#xff0…

Databend 开源周报第 152 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend。 支持内置 UDFs …

WPF 制作一个文字漂浮提示框

WPF好像没有自带的文字提示漂浮&#xff0c;我们可以定制一个。 效果如下&#xff1a; xaml xaml如下&#xff1a; <Window x:Class"GroupServer.MsgTip"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sc…

Spring源码二十一:Bean实例化流程四

上一篇Spring源码二十&#xff1a;Bean实例化流程三中&#xff0c;我们主要讨论了单例Bean创建对象的主要方法getSingleton的内部方法createBean&#xff0c;createBean方法中的resolveBeanClase方法与prepareMethodOverrides方法处理了lookup-method属性与repliace-method配置…

设计模式之外观模式(Facade)

Facade设计模式&#xff0c;也称为外观模式&#xff0c;是一种结构型设计模式&#xff0c;它主要用于为子系统中的一组接口提供一个统一的高层接口&#xff0c;从而使得子系统更加容易使用。以下是关于Facade设计模式的详细介绍&#xff1a; 一、定义 Facade模式为多个复杂的…

TTT架构超越Transformer,ML模型替代RNN隐藏状态!

目录 01 算法原理 02 骨干架构 03 实验结果 一种崭新的大语言模型&#xff08;LLM&#xff09;架构有望取代当前主导 AI 领域的 Transformer&#xff0c;并在性能上超越 Mamba。 论文地址&#xff1a;https://arxiv.org/abs/2407.04620 本周一&#xff0c;关于 Test-Time Tr…

ur5e机械臂末端添加dh_ag95夹爪(ubuntu20.04+ROSnoetic)

一、从官网上下载UR5e机械臂 mkdir -p catkin_ws cd catkin_ws git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch…

Vue3入门之创建vue3的单页应用(vite+vue)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

电机学-绪论

绪论 电机&#xff1a;根据电磁感应定律和电磁力定律实现机电能量转换和信号传递与转换的电磁机械装置。 电磁感应定律&#xff1a; BiliBili: 法拉第电磁感应定律 BiliBili: 楞次定律 BiliBili: 左手定则、右手定则、右手螺旋定则

GOLLIE : ANNOTATION GUIDELINES IMPROVE ZERO-SHOT INFORMATION-EXTRACTION

文章目录 题目摘要引言方法实验消融 题目 Gollie&#xff1a;注释指南改进零样本信息提取 论文地址&#xff1a;https://arxiv.org/abs/2310.03668 摘要 大型语言模型 (LLM) 与指令调优相结合&#xff0c;在泛化到未见过的任务时取得了重大进展。然而&#xff0c;它们在信息提…

【昇思25天学习打卡营打卡指南-第十八天】基于MobileNetv2的垃圾分类

基于MobileNetv2的垃圾分类 MobileNetv2模型原理介绍 MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络&#xff0c;相比于传统的卷积神经网络&#xff0c;MobileNet网络使用深度可分离卷积&#xff08;Depthwise Separable Convolut…

玩机社区系统源码 | 2024年最美社区源码 全开源 带后端

简介&#xff1a; 玩机社区系统源码 | 2024年最美社区源码 全开源 带后端 图片&#xff1a; 点击下载