python 离线图片文字识别(OCR)Tesseract

2023-05-16

本人最近也是在使用和学习python遇到各种问题,公司内网控制严格 没有网络,同时也不允许安装exe文件,做python 十分的费劲,也研究了好几款文字识别的OCR ,要么是收费的 要么是离线不能用,非常的烦人,

Tesseract 这款是免费并且支持离线,是一个OCR 库,目前由Google 赞助。Tesseract 是目前公认最优秀、最精确的开源OCR 系统。偶尔有识别错误的情况但是错误率不高,对于没有高精度要求的可以使用。

python +Tesseract  的原理是:Tesseract是exe包需要安装在本地,支持python,如果想通过python 去调用,需要先在本地装Tesseract软件,然后再装python的pytesseract包来支持,通过pytesseract来调用Tesseract软件接口

一、安装pythonpytesseract

在线安装:有网络可以支持在线,cmd进入命令窗口输入下面的命令,(前提是你有python环境并且可用,如果没有先百度安装python)

pip install pytesseract

离线安装:  

去官网下载离线包,一个是tar 一个是whl 两个包一样只是安装方法不一样

下载包: pytesseract · PyPI

 安装python 的离线包pytesseract:

进入存放下载离线包的目录,在目录里输入cmd  进入命令窗口,再输入安装命令 回车(这个安装如果失败请百度先解决安装,可能跟python版本、pytesseract缺少依赖包导致,如果是有网的情况下安装,pip会自动给你把缺少的依赖装上,如果无网络,那可以去官网pytesseract · PyPI搜相应的依赖包,把依赖包装完再装这个依赖包),以下两种安装命令取决于你下载的离线包格式:

whl 安装命令如下,进入存放下载离线包的目录,在目录里输入cmd  进入命令窗口,再输入安装命令 回车

pip install pytesseract-0.3.10-py3-none-any.whl

tar 的安装命令如下:进入存放下载离线包的目录,在目录里输入cmd  进入命令窗口,再输入安装命令 回车

python setup.py install

Tesseract的安装与使用

拷贝Tesseract-OCR到内网机

  由于我内网机不允许装exe文件,这个可以在本地装,指定目录装,装完之后,将整个Tesseract-OCR目录拷贝到内网机也是可以用的(如果你是在本机装的请忽略拷贝这一步)

Tesseract的Windows安装包下载地址为: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下载后双击直接安装即可。安装完后,需要将tesseract.exe所在的目录添加到系统变量path中。同时还要在环境变量中添加新变量TESSDATA_PREFIX并且添加tesseract的语言包tessdata的目录

比如我的安装目录如下:

 

 

将这个目录添加到环境变量中 

 配置完毕在CMD中输入tesseract -v, 如显示以下界面,则表示Tesseract安装完成且添加到系统变量中

 pycharm 实验一下

import pytesseract
from PIL import Image

# text = pytesseract.image_to_string(Image.open(r"F:\eng.png"), lang='chi_sim')
text = pytesseract.image_to_string(Image.open(r"F:\20221106204640.png"), lang='chi_sim')
print(text)

运行结果如下:

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 离线图片文字识别(OCR)Tesseract 的相关文章

随机推荐

  • Mac系统原生支持NTFS格式硬盘

    所有的办法都是在没有办法的情况下才能找到 之前一直用的 Paragon NTFS 当然虽然是程序员有两种方式 一种就是支持自己的事业 用收费的 另一种就是发挥自己的特长 去破解 无奈承担不起Paragon NTFS每个版本更新都要重新购买的
  • 模板 template 的类型转换

    template lt typename T gt T to xff08 int n xff09 return T n double d 61 to lt double gt 3 float f 61 to lt float gt 2 还可
  • 两个C++编译错误及解决办法--does not name a type和field `XX' has incomplete type

    编译错误一 xff1a XX does not name a type 编译错误二 xff1a field 96 XX 39 has incomplete type 编译错误一 xff1a XX does not name a type x
  • vim 常用操作

    1 xff1a vim选中字符复制 剪切 粘贴 xff08 https www cnblogs com luosongchao p 3193153 html xff09 问题描述 xff1a vim 中选中指定字符 xff0c 进行复制 剪
  • oracle split去逗号,行列转换

    1 针对 39 1 39 39 2 39 39 3 39 39 4 39 39 5 39 xff08 逗号在字符串外面 xff09 SQL gt SELECT COLUMN VALUE FROM TABLE SYS ODCIVARCHAR2
  • 如何解决相机打开后显示灰色(只针对联想电脑)

    症状描述 xff1a 打开相机 xff0c 显示灰色 xff0c 中间有一个相机带斜杠的图标 我第二次被这玩意搞破了心态 xff0c 吐槽一句 xff1a 垃圾联想 xff0c 我丢 xff01 xff01 如何解决 xff1f 一步到位
  • python工程打包成可执行文件

    1 将python打包成exe的方式 python 上常见的打包方式目是通过 pyinstaller 来实现的 pip install pyinstaller 或者用镜像下载 xff1a 清华源 pip install pyinstalle
  • Debian 8安装、配置

    win10下双系统安装Debian 8 1 安装Debian 8 首先在Debian官网https www debian org CD 上下载网络安装CD或者完整DVD镜像 xff0c DVD镜像只需DVD 1即可 下载好镜像后做成U盘启动
  • Rust语法之原生数据类型(一)

    Rust语言有一些被认为是原生类型的数据类型 这意味着它们是语言内建的 Rust是这样的一种结构 xff0c 这种结构是标准库在这些类型上提供了一些有用的类型 xff0c 但是这些才是最原始的 Booleans Rust有一个内置的bool
  • WTL学习笔记——(5)工具条与状态条

    一 对第三部分的介绍 自从作为Windows 95的通用控件出现以来 xff0c 工具条和状态条就变成了很普遍的事物 由于MFC支持浮动的工具条从而使它们更受欢迎 随着通用控件的更新 xff0c Rebars 最初 被称为Coollbar
  • ESP8266调用心知天气API

    首先我们需要一个可以调用返回天气信息的API xff0c 这里以心知天气为例 xff0c 可以免费注册 xff0c 虽然功能受限 xff0c 但对于初学者来说 xff0c 足够了 心知天气api xff1a https api senive
  • 《信号量》讲解

    7 3 1 信号量 信号量及信号量上的操作是E W Dijkstra 在1965年提出的一种解决同步 互斥问题的较通用的方法 xff0c 并在很多操作系统中得以实现 xff0c Linux改进并实现了这种机制 信号量 semaphore 实
  • 【TouchDesigner学习笔记与资料】

    文章目录 基础知识常用快捷键TOP元件CHOP元件DAT 元件SOP元件COMP元件MAT元件 TouchDesigner是什么 xff1f 简单来说就是一种可视化的编程语言 TD 是一种编程语言 TD 不是一个 APP 应用程序 xff0
  • Java 枚举(enum) 详解7种常见的用法

    DK1 5引入了新的类型 枚举 在 Java 中它虽然算个 小 功能 xff0c 却给我的开发带来了 大 方便 用法一 xff1a 常量 在JDK1 5 之前 xff0c 我们定义常量都是 xff1a public static final
  • iOS 缓存文件到沙盒目录的执行文件夹下,并再次读取文件

    开发中我们经常要将一些文件缓存到沙盒路径下 xff0c 并且把指定的类型储存到指定文件夹下 xff0c 以便于方便管理 下面是以图片为例 首先显示缓存到指定文件夹下 xff0c 注释解释很详细 将图片存储到沙盒目录下存储成jpg 形式 xf
  • php 扩展函数openssl_decrypt 使用注意事项

    一般都采用原生数据进行处理 xff0c 通过text json方式传输 xff0c 避免base64数据被urlencode进行转码 key和 iv都是二进制的 xff0c 不是二进制 xff0c 要转成二进制 xff0c 再传入进去 da
  • 关于element-ui中dialog嵌套table时,报toggleRowSelection未定义undefined错误完美解决方案

    1 xff0c toggleRowSelection调用方式为refs方式 xff0c 直接操作DOM层 this refs multipleTable toggleRowSelection item innerGood selected
  • vue.js 的 watch 适用场景记录 以及其中的immediate适用场景和注意事项

    但凡来面试的 xff0c 如果说没用过watch xff0c 那么这个前端就不用招了 xff0c 理论上只有两种可能 xff0c 第一种 xff0c 从未写过复杂逻辑 xff0c 第二种 xff0c 从未封装过组件 xff1b 而两种情况都
  • electron+vue项目添加vue-devTools Unrecognized manifest key ‘browser_action‘. Permission ‘contextMenus‘

    多年后补充 xff1a electron vue 这个在windows上如果能用外网的情况 xff0c electron选择8 0版本能顺利安装vue devtools工具 对于mac m1来说 xff0c 必须升级到electron 13
  • python 离线图片文字识别(OCR)Tesseract

    本人最近也是在使用和学习python遇到各种问题 xff0c 公司内网控制严格 没有网络 xff0c 同时也不允许安装exe文件 xff0c 做python 十分的费劲 xff0c 也研究了好几款文字识别的OCR xff0c 要么是收费的